回 帖 发 新 帖 刷新版面

主题:[讨论]紧急提问,请知道的一定要回答

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个回复)

沙发

Becasue 32-bit ASM not need Data Section ....

英语不好,汗....

还是说中文吧,32 位汇编通常使用平坦的内存模式,不需要将数据分节,直接就可以寻址。

板凳

16位的程序, 即dos程序,可以在window的ms-dos虚拟机下运行。

用汇编写dos程序,程序员必须要处理 内存的分段,
即必须管理段寄存器 ,如初始化ds。

win32下的汇编程序设计,没有内存的分段的问题,内存是平坦模式
操作系统负责管理段寄存器。一般情况下,你不能也不必 段寄存器

我来回复

您尚未登录,请登录后再回复。点此登录或注册