理论教育 ARM嵌入式系统基础与应用:10ARM伪指令

ARM嵌入式系统基础与应用:10ARM伪指令

时间:2023-11-03 理论教育 版权反馈
【摘要】:ARM伪指令不是ARM指令集中的指令,而是编译器设置的一种为方便编程的“假”指令。指令格式:式中,reg为加载的目的寄存器;expr为相对偏移表达式,非字对齐时取值范围为255~255B。NOP伪指令在汇编时将会被替换为ARM指令中的空操作,例如:可能是MOV R0,R0指令等。另外,NOP指令还可以用于软件延时。

ARM嵌入式系统基础与应用:10ARM伪指令

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指令还可以用于软件延时。

指令格式:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈