伪指令 - ARM汇编指令(四)

汇编器提供的伪指令,编译过程会转换为实际的某种行为或者汇编指令组合,伪指令存在能够是编程过程更加简单。

ALIGN对齐

指令能够将对应的字节按照给定的方式完成直接对齐。

OPT:

设置汇编选项

.ascii "Hello ARM!\000" @声明字符串
.text @声明代码段
.align 2 @声明对齐方式4字节
.global main @全局符号main
.type main, %function @main类型为函数
.section .text @声明节名
.arch armv5te @处理器架构
.fpu softvfp @浮点协处理器类型
.eabi_attribute 20, 1 @接口属性
.section .rodata @声明只读数据
..section .note.GNU-stack,"",%progbits @保护代码,禁止生成可执行堆栈
.flie :指定了源文件名。手写可忽略
.align :指定了代码对齐方式你后面跟的是2的次方
.ascii :声明字符串
.global :声明全局符号。全局符号是指在本程序外可访问的符号。
.type :指定符号的类型,“.type main,%function”表示main为函数
.word : 用来存放地址。
.size :设定指定符号的大小。“.size main,.-main”中的”.”表示当前地址,减去main符号的地址为整个main函数的大小。
.ident :编译器标识,无实际意义。
.quad 定义八个字节的数据
.string 和 .asciz 和 .sacii 一样都是定义多个字符串,.ascii 要加‘\0'
.rept 重复定义伪操作
.equ/.set 赋值语句
.if .else .endif 根据条件成立选择执行某个序列,和C语言一样
.macro 伪操作可以将一段代码定义为一个整体,成为宏指令,然后在程序通过宏指令多次调用这段代码
entry ;声明程序入口
area ff,code,readonly ;声明代码段
.byte .short .long .float .string .asciz .sacii .rept .quad

ARM汇编程序用“;”号进行注释
@ 注释

你可能感兴趣的:(ARM与裸机开发,arm,汇编,伪指令)