|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ADR' F- j2 f, t( f; l4 C- X
5 Z+ U# ?4 A0 p1 T, x1 J
$ b9 m A4 j2 A' r( D: o8 ~, w是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中。格式:ADR register,exper。( w' h, E' q7 m# b: v5 ?0 }& j2 v0 e
3 J! L5 ^& c% V3 c9 A
; ~. y; q- t) b5 A3 G6 X编译源程序时,汇编器首先计算当前PC值(当前指令位置)到exper的距离,然后用一条ADD或者SUB指令替换这条伪指令, ( i! I# w* I% Q6 _; |
例如:ADD register,PC,#offset_to_exper。
5 Z- d0 }9 x/ I. |注意,标号exper与指令必须在同一代码段。 # F" P# E2 `" o) h6 p2 S; t
比如:adr r0, _start ://将指定地址赋到r0中 / i* i; {$ ?& K
………
, G3 D" U: k! E+ Y, u$ F( E_start: ; s/ R4 n, N8 V+ \0 x0 _. F
b _start
G, p5 m& j2 Q% g% nr0的值为标号_start与此指令的距离差 + PC值。
) Z6 i8 C8 s5 _" L5 j- r
+ D- T4 h4 Z; \. ?3 ^6 W, O
: X8 H1 x! U, o7 mADRL:4 y! p( k6 T+ u k% Y
M! ~7 ?" R# |' m/ x
/ c& G; K) W) q8 Y/ H
0 Z4 c* I' D) W6 d; {7 G- G% i1 Y, Q' E% z0 Z
% j, h) C5 ?4 F# J0 P' ^. b
e6 n( e k; K; [7 v; E* x2 P" X7 A% p& ~
|
|