中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 19:44
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [求助] 汇编编译器 的一些问题 查看 1,016 回复 1
楼 主 [求助] 汇编编译器 的一些问题 发表于 2008-12-11 14:31 ·  中国 安徽 合肥 电信
初级用户
积分 32
发帖 13
注册 2008-12-02 17:42
UID 132698
性别 男
状态 离线
刚开始学汇编的时候(王爽的书),用masm5.0+link3.6就能吧书上的代码跑起来
后来,看杨季文的80x86 看糊涂了

1: masm5.0只能编译16位的汇编,masm6.0以上编译的就是32位的了。
我有一个从实模式到保护模式的切换程序 用masm6.14+link 5.12编译出错 “fatal error LNK1190:Invalide fixup found,type 0x0001” masm5.0不支持lgdt命令。
:o
我还有好多问题,如果那位有关于masm详细的资料 麻烦贴出来。
2 发表于 2008-12-12 08:10 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
UID 94024
性别 男
状态 离线
LGDT是保护模式指令
要在程序最前面或使用LGDT之前使用.386P、.586P等伪指令确定为保护模式。
MASM6xx既可以编译windows程序,也可以编译dos程序,它们使用的link不一样(前者来自于Visual Studio、后者来自于MASM 6.11)。你的那个程序要用MZ格式的link。

[ Last edited by netwinxp on 2008-12-12 at 08:27 ]
论坛跳转: