1. 程式人生 > >GNU彙編 偽指令

GNU彙編 偽指令

偽指令 本身並沒有所對應的機器碼

它只是在編譯的時候起作用,或者轉換為其他的實際指令來執行

global

ascii

byte

word

data

equ

align

 

@ 下面的例子是在資料段存放資料

.section .data

            hello:

            .ascii "helloworld"

           bh:

           .byte 0x1

           ADD

          .word 0xff

.section .bss

       <未初始化的資料>

.section .text

.globl  _start

_start:

     <彙編程式碼>

 

.equ  DA, 0x89

mov r0,#DA

 

 

 

操作類偽指令

nop

反彙編看實質:mov r0,r0

ldr

mov 指令的立即數不能超過8位 (shift 12 位,其中4位作為左移右移的位)

ldr r0, =0x1ff

 

ldr 反彙編後,會發現其實是在記憶體裡面定義了一個.word 的變數

然後通過 ldr r0, [PC,#-4]

 

反彙編: arm-linux-objdump -O -S xxx.elf