【发布时间】:2020-10-25 15:00:09
【问题描述】:
start MOV r0,#10
ADRL r4,start + 60000 ; => ADD r4,pc,#0xe800
; ADD r4,r4,#0x254
我无法理解代码中的注释。因为 60000 是 0xea60。我认为 r4 应该是 pc + #0x2a60。但是评论说(实际上是发出的指令)r4变成了pc + #0xe800 + #0x254 = pc + 0xea54。 (不是#ea60)。为什么少了 12 个?
【问题讨论】:
-
MOV占用 4 个字节,pc已经提前了 8 个字节,总共 12 个字节。