EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4.2 ARM汇编语言伪指令 ADR 小范围地址读取指令 ADRL 中等范围地址读取指令 LDR 大范围地址读取指令
* I- X9 T/ W0 }# N5 U) ~NOP 空操作指令
3 _2 ?! m3 A: O H$ A) t4 q3 YADR ADR 将基于PC的地址值或者基于寄存器的地址值读取到寄存器中 start MOV R0, #10 ;因为PC值为当前指令地址值加8字节 ADR R4 ,start ;本ADR伪指令将被编译器替换为SUB R4 ,PC,#0xc 3 p3 K' _( @! K: P7 l! R
ADRL ADRL 将基于PC或者基于寄存器的地址值读取到寄存器中 start MOV R0 ,#10 ;因为PC值为当前指令地址加8字节 ADRL R4,start+60000 ;本ADRL伪指令将被编译器替换为下面两条指令 ;ADD R4 ,PC, #0XE800 ;ADD R4,R4,#0X254 ! Q1 G' Q8 ^- e: W6 _
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 ; {: K5 z) o; U. o0 _+ f' A4 x
NOP NOP 空操作,不影响CPSR的条件标志位
3 U$ K: T& U- J: A0 ^8 s7 S |