EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4.2 ARM汇编语言伪指令 ADR 小范围地址读取指令 ADRL 中等范围地址读取指令 LDR 大范围地址读取指令& X2 v* _* G* j/ s+ K2 e7 w! V
NOP 空操作指令
& Q; G: o7 v7 s: }* q; xADR ADR 将基于PC的地址值或者基于寄存器的地址值读取到寄存器中 start MOV R0, #10 ;因为PC值为当前指令地址值加8字节 ADR R4 ,start ;本ADR伪指令将被编译器替换为SUB R4 ,PC,#0xc 1 l. r" R% I- R j; o% R0 V6 x
ADRL ADRL 将基于PC或者基于寄存器的地址值读取到寄存器中 start MOV R0 ,#10 ;因为PC值为当前指令地址加8字节 ADRL R4,start+60000 ;本ADRL伪指令将被编译器替换为下面两条指令 ;ADD R4 ,PC, #0XE800 ;ADD R4,R4,#0X254 8 a' |5 {/ ^& i7 N$ a6 x0 u
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
2 Y: ^% i/ y! e( v* o# qNOP NOP 空操作,不影响CPSR的条件标志位
0 [* z' R0 E) V/ k$ V3 Q$ r |