EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4.2 ARM汇编语言伪指令 ADR 小范围地址读取指令 ADRL 中等范围地址读取指令 LDR 大范围地址读取指令
+ ^ K1 W/ A# x. J8 e8 f. q4 `2 a+ B/ UNOP 空操作指令 0 H% p3 Z x7 Z! C" E' d
ADR ADR 将基于PC的地址值或者基于寄存器的地址值读取到寄存器中 start MOV R0, #10 ;因为PC值为当前指令地址值加8字节 ADR R4 ,start ;本ADR伪指令将被编译器替换为SUB R4 ,PC,#0xc 9 I+ ]1 W6 C5 u& A8 ]9 m7 L# n0 Z: l6 v
ADRL ADRL 将基于PC或者基于寄存器的地址值读取到寄存器中 start MOV R0 ,#10 ;因为PC值为当前指令地址加8字节 ADRL R4,start+60000 ;本ADRL伪指令将被编译器替换为下面两条指令 ;ADD R4 ,PC, #0XE800 ;ADD R4,R4,#0X254
1 `+ i& R" o* S8 [0 t. E; CLDR 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 * m; q; x7 {5 f9 p: N+ u8 U
NOP NOP 空操作,不影响CPSR的条件标志位 - S( P% D3 Z. i: ^9 L' f3 C8 J- j
|