【摘要】:ARM伪指令不是ARM指令集中的指令,而是编译器设置的一种为方便编程的“假”指令。指令格式:式中,reg为加载的目的寄存器;expr为相对偏移表达式,非字对齐时取值范围为255~255B。NOP伪指令在汇编时将会被替换为ARM指令中的空操作,例如:可能是MOV R0,R0指令等。另外,NOP指令还可以用于软件延时。
ARM伪指令不是ARM指令集中的指令,而是编译器设置的一种为方便编程的“假”指令。伪指令可以像其他ARM指令一样使用,但在编译过程中,这些指令将被等效的ARM指令所取代。
1.ADR(小范围地址读取)
ADR伪指令将基于当前PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。
指令格式:
式中,reg为加载的目的寄存器;expr为相对偏移表达式,非字对齐时取值范围为−255~255B。字对齐时取值范围为−1020~1020B。
指令示例:
2.ADRL(中范围地址读取)
ADRL伪指令与ADR类似,但相对偏移量的取值范围有所不同,非字对齐地址时取值范围为64KB。字对齐地址时取值范围为256KB。
3.LDR(大范围地址读取)(www.daowen.com)
LDR伪指令将32位常量或一个地址加载到指定寄存器。
指令格式:
式中,reg为加载的目的寄存器;expr为32位立即数;label_expr为基于PC的地址表达式或外部表达式。
指令示例:
4.NOP(空操作)
NOP是空操作伪指令。NOP伪指令在汇编时将会被替换为ARM指令中的空操作,例如:可能是MOV R0,R0指令等。另外,NOP指令还可以用于软件延时。
指令格式:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。