正在读《一个操作系统实现》进,开展交流
关于NASM的问题,以及NASM下地址怎么对齐
[解决办法]
困扰的问题1:在汇编中用EQU定义的常量是不占内存空间的
a equ 12
b dw 12是不一样的 ,在前者在使用的时候自动转换成12,后者是开辟一片空间
[解决办法]
看了几位的跟贴,我实在忍不住了,因为概念被不正确的解释了。
changliang = 92h 不产生机器指令 ,这个语句的作用就是给92h起个别名,告诉编译器,在产生代码时,如果遇到changliang,就解释为92h, 如果没遇到就算了。changliang根本就不是一个占有着内存的常量!
用 changliang 来代替92h,主要是为了提高源代码的可读性。
类似这样应用的有 Windwos的消息等等,消息也是一个数,为了好读好记,采用文字串来标记。
编程会用到数,但是数不都占用着内存,只有用到的才占有内存;
changliang 就是 92h,92h是数,所以你在编程中如果没用到92h,92h就不占有内存,更谈不上它在哪个段。