Linux ARM
汇编程序框架
.section .data <初始化的数据> .section .bss <未初始化的数据> .section .text .global _start _start: <汇编代码>
简化后的代码框架
.text
.golbal _start
_start: ;函数入口
<汇编代码>
反汇编命令
arm-linux-objdump -D -S ***.elf
arm-linux-readelf -a ***.elf
伪指令:
伪指令本身并没有所对应的机器码,它只是在编译的时候起作用,或者转化为其它实际指令来运行。
定义类伪指令:
global:定义为全局的标号,如:global _start
data:数据段
ascii:
byte:
word:
equ:类似于宏指令
align:对齐
/*data定义数据段(ascii字符数据、byte字节数据、word字数据)*/
.data ;定义一个数据段
hello: ;定义一个ascii数据标号 .ascii "helloworld" .align 4 ;4字节对齐 bh: ;定义一个字节数据标号 .byte 0x1 ato: ;定义一个字数据标号 .word 0xff .text ;定义一个代码段 .global _start ;global全局标号 .equ DA,0x89 ;宏定义 mov r0,#DA .align 4