[英]x86 ASM: DD Being Used as an “Instruction”?
在以下x86汇编代码中:
dd 0x1BADB002
dd 0x00
dd - (0x1BADB002+0x00)
这些值似乎没有分配给任何变量。 那么这段代码是做什么的呢? 我听说过一些有关它存储在内存中的信息,但是究竟在哪里呢?
dd
是一个“伪指令”,它将4字节常量组装到输出中,与add eax,eax
方式相同add eax,eax
0x01 0xc0
组装到输出中。
NASM手册的3.2伪指令部分介绍了db
/ dw
/ dd
等。
在这种情况下,正如@MichaelPetch指出的那样,这些特定的常量用于将multiboot标头组装到输出文件中。 https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#OS-image-format
有关:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.