4.2 arm汇编语言伪指令
ADR 小范围地址读取指令
ADRL 中等范围地址读取指令
LDR 大范围地址读取指令, q) ?# M) ?0 O( ]- V4 t. O
NOP 空操作指令
ADR
ADR 将基于PC的地址值或者基于寄存器的地址值读取到寄存器中
start MOV R0, #10 ;因为PC值为当前指令地址值加8字节
ADR R4 ,start ;本ADR伪指令将被编译器替换为SUB R4 ,PC,#0xc
ADRL
ADRL 将基于PC或者基于寄存器的地址值读取到寄存器中
start MOV R0 ,#10 ;因为PC值为当前指令地址加8字节
ADRL R4,start+60000 ;本ADRL伪指令将被编译器替换为下面两条指令
;ADD R4 ,PC, #0XE800
;ADD R4,R4,#0X254
LDR
LDR 将32位常数或者一个地址值读取到寄存器
LDR R1 ,=0XFF0 ;将0xFF0读取到R1中,汇编时被替换为MOV R1,0XFF0
LDR R1 ,=0XFFF ;汇编时被替换为LDR ,R1 ,[PC ,OFFEST_TO_LPOOL]
;.....
;LPOOL DCD 0XFFF
LDR R1 ,=ADDR1 ;汇编时被替换为LDR ,R1 ,[PC ,OFFEST_TO_LPOOL]
;.....
;LPOOL DCD ADDR1
% r8 n0 }' s' V7 B; yNOP
NOP 空操作,不影响CPSR的条件标志位
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) | Powered by Discuz! X3.2 |