![]() |
1
5
这个 MASM32 包不支持16位可执行文件的生成,尽管改变这种行为并不困难。这个 MASM公司 中的汇编程序 MASM32 包将生成16位代码,但提供的链接器不会生成16位可执行文件。这会导致您看到的错误类型。 您可以下载支持16位目标的旧链接器的副本。我已经做了 link16.exe (版本5.60.339 1994年12月5日)可在我的服务器上下载。
位置
再一次
其他观察结果一旦您能够生成16位可执行文件,您的代码就会出现一些问题:
如果您正在使用 MASM32 在64位版本的Windows上,您将无法直接运行您创建的16位应用程序。您必须下载一个模拟器,如 DOSBox 运行它,或安装具有可以运行代码的DOS/Windows版本的虚拟机(VMWare、VirtualBox、QEMU等)软件。 |
![]() |
2
0
对于16位程序集,对于点指令(如.model、.data、.code),语法为:
|
![]() |
3
0
对于所有为我回答上述简单问题的人,我要说谢谢。实际上,我的问题的答案是link16。exe是生成16位代码所必需的。 另一种简单快速地组装代码的方法是使用WinAsm,它是我在谷歌上找到的一个旧的IDE。 |
![]() |
Aaron Thomsen · x86程序集-$未显示正确的地址 7 年前 |
![]() |
Roman Procházka Jr. · 汇编语言MASM中的循环 7 年前 |
![]() |
mdave1701 · TBYTE可以容纳的最大值 7 年前 |
![]() |
Bartek Wójcik · 参数的高字和低字 7 年前 |
![]() |
Dave · 如何在MASM64中将参数传递给过程? 7 年前 |
![]() |
bad · 如何在MASM 5.10中的表达式中使用外部EQU 7 年前 |
![]() |
Luke Blevins · x86英特尔汇编程序仅在NASM中编译 7 年前 |