2

标签:

@ ATAG_CORE
.long   2
.long   0x54410001

@ ATAG_CMDLINE
.long   (1f - .) >> 2
.long   0x54410009

我刚刚浏览了 ARM 的引导包装代码。定义 ATAG 标记的部分,我无法理解指令:

.long (1f - .) >> 2

这个指令是做什么的?

4

1 回答 1

4

不是 ARM 专家,但在其他汇编程序中,这意味着

1f= 下一个标签的地址(前 1 个)
. = 当前位置

1f - .然后将是到下一个标签的距离(以字节为单位)

如果你将它除以 4 ( >> 2),你得到的距离是 longs 而不是字节。

于 2012-07-16T09:38:38.720 回答