主题:[讨论]紧急提问,请知道的一定要回答
sunlife
[专家分:0] 发布于 2008-03-04 09:59:00
why the 16-bit masm template b16.asm needs the following statements
mov ax, @data
mov ds,ax
but 32-bit MASM template b32.asm doesn't need
回复列表 (共2个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2008-03-04 11:21:00
Becasue 32-bit ASM not need Data Section ....
英语不好,汗....
还是说中文吧,32 位汇编通常使用平坦的内存模式,不需要将数据分节,直接就可以寻址。
板凳
ccpp [专家分:9360] 发布于 2008-03-04 11:27:00
16位的程序, 即dos程序,可以在window的ms-dos虚拟机下运行。
用汇编写dos程序,程序员必须要处理 内存的分段,
即必须管理段寄存器 ,如初始化ds。
win32下的汇编程序设计,没有内存的分段的问题,内存是平坦模式
操作系统负责管理段寄存器。一般情况下,你不能也不必 段寄存器
我来回复