繁体   English   中英

x86 ASM:DD被用作“指令”吗?

[英]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

该程序集引导加载程序代码如何工作?


有关:

dw和dd与db的字符串伪指令有何不同?

gnu汇编中.byte汇编程序指令的用途是什么?

x86程序集-使用哪个可变大小(db,dw,dd)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM