Assembly db占用一个字节,但是在我的机器上却占用了4个字节?

Assembly db takes up one byte, but on my machine it takes up 4?

我正在关注一个在线教程,其中一个人使用带有平面汇编程序的程序集从头开始创建 OS。他展示了它是如何完成的,当我跟着他时,我意识到当他用他的十六进制编辑器检查他的程序集时,它表明他的程序集 "db 1" 在他的十六进制编辑器中看起来像“01”,它只占用一个字节;但是当我尝试时,我得到“64 62 20 31”,其中 64 = "d",62 = "b",20 = 空 space,31 = 一个。

我在 windows vista 上是 运行,而他在 Linux 上看起来是 运行,但从来没有说,所以我想知道这是否与do with it,我有没有可能像他一样通过汇编在我的机器上创建一个字节?如果有不同的方法,那么拥有额外的字节对我来说似乎非常浪费。

您可能指的是程序集,在这种情况下指令 db 1.

然而,该指令的实际组合可能只产生 01

.asm 文件是一个文本源文件,用作名为 assembler 的程序的输入。汇编程序的示例包括 gasnasm

汇编程序生成一个输出文件,其中包含与 .asm 文件中指定的程序和数据相对应的所有机器代码字节。当处理器加载到内存中的正确位置时,处理器可以直接执行此文件中的代码。

您查看的是程序的源代码,而不是生成的输出文件。