楼 主
[求助] 汇编编译器 的一些问题
发表于 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 ]
论坛跳转: