,它们没有相对应的操作码,也不在处理器运行期间由机器执行,只是在汇编时将被合适的机器指令代替成ARM或Thumb指令,从而实现真正的指令操作。伪指令在源程序中的作用是为完成汇编程序做各种准备工作的,由汇编程序在源程序的汇编期间进行处理,仅在汇编过程中起作用。,可以看作是加载寄存器的内容。LDR{cond} register,=expression如果加载的常数符合MOV或MVN指令立即数的要求,则用MOV或MVN指令替代LDR伪指令。如果加载的常数不符合MOV或MVN指令立即数的要求,汇编器将常量放入内存文字池,并使用一条程序相对偏移的LDR指令从内存文字池读出常量。LDR用于加载芯片外围功能部件的寄存器地址(32位立即数),实现各种控制操作。从PC到数据缓冲区的偏移量必须小于4K,与ARM指令的LDR相比,伪指令的LDR的参数有“=”符号。伪指令语句:LDR R0, =0x0AA00;R00x0AA00汇编后: MOV R0, #43520例如:LDRR0,=0x12345678;加载32位立即数LDRR0,=DATA_BUF+60;加载DATA_BUF+;。字节对齐-64K~64K,字对齐取值范围-256K~256KADRL{cond} register,=expression汇编器在处理源程序时,ADRL伪指令被两条具有ADRL等同功能的ARM指令(通常用ADD或SUB指令)替代。如果不能用两条指令实现ADRL伪指令的功能,则编译器报告错误,编译失败。以下指令存放在0x8000起始的地址单元,分析汇编后的结果。.: MOV R0, #0x0F ADRL R0, :汇编后的结果为:0x00008000 MOV R0,#0x0F0x00008004 SUB R0,PC,#120x00008008 NOP (MOVR0,R0)
第6章 ARM汇编伪指令与伪操作 来自淘豆网www.taodocs.com转载请标明出处.