x86 ASM:DD 被用作"Instruction"?



在以下x86汇编代码中:

dd 0x1BADB002
dd 0x00
dd - (0x1BADB002+0x00)

这些值似乎并未分配给任何变量。那么,这个代码段是什么?我听说过有关它存储在内存中的东西,但是到底在哪里?

dd是一个"伪指导",将4字节常数组装到输出中,就像add eax,eax0x01 0xc0组装到输出中一样。

NASM手册第3.2次伪建筑描述db/dw/dd等。

在这种情况下,正如@michaelpetch指出的那样,这些特定常数用于将多脚标题组装到输出文件中。https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#os-image-format

此组装启动加载程序如何工作?


相关:

DW和DD与字符串的DB指令有何不同?

GNU组装中的.byte汇编指令的用途是什么?

x86组装 - 要使用的可变大小(DB,DW,DD)

最新更新