Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
标签:
@ ATAG_CORE .long 2 .long 0x54410001 @ ATAG_CMDLINE .long (1f - .) >> 2 .long 0x54410009
我刚刚浏览了 ARM 的引导包装代码。定义 ATAG 标记的部分,我无法理解指令:
.long (1f - .) >> 2
这个指令是做什么的?
不是 ARM 专家,但在其他汇编程序中,这意味着
1f= 下一个标签的地址(前 1 个) . = 当前位置
1f
.
1f - .然后将是到下一个标签的距离(以字节为单位)
1f - .
如果你将它除以 4 ( >> 2),你得到的距离是 longs 而不是字节。
>> 2