我在网上学习了一个教程,其中一个家伙用一个平面汇编程序从零开始创建了一个操作系统。他展示了它是如何完成的,当我跟踪他时,我意识到当他用他的十六进制编辑器检查他的程序集时,它显示他的程序集"db 1“在他的十六进制编辑器中看起来像"01”,它只占一个字节;但是当我尝试得到"64 62 20 31“,其中64 = "d",62 = "b",20 =空空间,和31 =那个字节。
我在windows vista上运行,他看起来在Linux上运行,但从未说过,所以我想知道这是否与此有关,我是否可以像他那样在我的机器上创建一个字节呢?对于我来说,如果有不同的方法来做的话,拥有额外的字节对我来说是非常浪费的。
发布于 2015-01-13 01:12:57
.asm文件是一个文本文件,用作一个名为汇编程序的程序的输入。汇编程序的例子包括gas和nasm。
汇编程序生成一个输出文件,该输出文件包含与.asm文件中指定的程序和数据相对应的所有机器代码字节。当将代码加载到内存中的正确位置时,处理器可以直接执行该文件中的代码。
您查看的是程序的源代码,而不是生成的输出文件。
发布于 2015-01-12 23:09:23
您可能指的是程序集,在这种情况下,指令是db 1。
然而,该指令的实际组装可能产生简单的01。
https://stackoverflow.com/questions/27912282
复制相似问题