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 的程序的输入。汇编程序的示例包括 gas
和 nasm
。
汇编程序生成一个输出文件,其中包含与 .asm
文件中指定的程序和数据相对应的所有机器代码字节。当处理器加载到内存中的正确位置时,处理器可以直接执行此文件中的代码。
您查看的是程序的源代码,而不是生成的输出文件。
我正在关注一个在线教程,其中一个人使用带有平面汇编程序的程序集从头开始创建 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 的程序的输入。汇编程序的示例包括 gas
和 nasm
。
汇编程序生成一个输出文件,其中包含与 .asm
文件中指定的程序和数据相对应的所有机器代码字节。当处理器加载到内存中的正确位置时,处理器可以直接执行此文件中的代码。
您查看的是程序的源代码,而不是生成的输出文件。