|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ADR+ f8 n5 M8 R! J' S
4 a) b0 P, ?$ O9 D! n1 s+ Y
* r$ K% \# j. U$ D# S+ @" d. Y是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中。格式:ADR register,exper。
. g l& N- _8 X! O. K4 \. Q6 H, q! j5 M. K0 P3 s6 W2 T" [, U
/ d8 U* y9 H3 P/ \ `/ X! }" F$ B编译源程序时,汇编器首先计算当前PC值(当前指令位置)到exper的距离,然后用一条ADD或者SUB指令替换这条伪指令, 4 ]: E* a$ N8 ^' M( j" J
例如:ADD register,PC,#offset_to_exper。
K6 T( _& f3 E: L0 G# l注意,标号exper与指令必须在同一代码段。
9 G1 h6 j! L2 s& p) Y) ]比如:adr r0, _start ://将指定地址赋到r0中
) g& @" p# p" \4 {. K, D………
. ]% A- Q) D# T# U_start:
0 |* C, f0 ]" G; wb _start
9 H9 s& g1 F+ s1 ^5 gr0的值为标号_start与此指令的距离差 + PC值。
( q, m+ E. O& L* S, m8 x" ?0 m3 D5 j* ^( P- |
" J8 w) Y, L) _3 p$ S6 Q
ADRL:9 }6 B8 a3 K6 }8 O
; f4 a( \8 w' T0 P# I
+ E& v$ [+ @* D3 W
* x4 f2 _- T! J* U
. E! F1 a' G; B! }$ m6 B( V o" j1 B% X3 h" U4 X d( Y
7 P. D' p0 B2 `! g
# M# W% @, e; d
|
|