“.long。”臂组装编码意味着什么?

问题描述 投票:2回答:1

我正在通过arch / arm / head.S找到下面的代码

__turn_mmu_on_loc:

    .long   .
    .long   __turn_mmu_on
    .long   __turn_mmu_on_end

我无法理解“.long。”?

instruction-set
1个回答
1
投票

GNU Assembler Manual: The Special Dot Symbol

特殊符号'.'指的是as汇编的当前地址。因此,表达式melvin: .long .定义melvin包含其自己的地址。将值分配给..org指令的处理方式相同。因此,表达式.=.+4.space 4相同。

因此,在您的代码段中,当前地址位于__turn_mmu_on__turn_mmu_on_end符号的值之前。您可以在汇编程序文件和链接描述文件中看到这些构造类似于它们的数据结构。

© www.soinside.com 2019 - 2024. All rights reserved.