![]() |
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。 |
![]() |
Ilya Loskutov · 无法将单词加载到寄存器中 2 年前 |
![]() |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
![]() |
Arya · 汇编语言中的“标签”——操作码 2 年前 |
![]() |
S1mple · 通过gcc生成64位共享库时的“未定义的主引用” 2 年前 |
![]() |
R0M2 · 为什么“GCC”忽略汇编代码的-fno pic 2 年前 |
![]() |
Akagi Akira · 如何在gnu汇编程序中组装MIPS cpu 2 年前 |