转换16位DOS .com程序集以在64位上使用

时间:2014-09-27 22:01:40

标签: assembly windows-8 x86-16 fasm

我在32位windows xp的平面汇编程序中编写了几个程序。但是现在我有64位Windows 8,我无法运行.com文件,因为它们似乎与64位版本不兼容(程序是32位)。

如何转换它以便我也可以在win8中运行它?也许使用不同的汇编程序?

我希望避免使用模拟器和虚拟机。

1 个答案:

答案 0 :(得分:2)

<。> .com文件是16位。您可以使用32位指令和寄存器,但它是16位代码。 64位CPU一旦进入&#34;长模式&#34;,就不支持XP用于运行.com文件的vm86。归咎于AMD,而不是MS(这一次)。使用模拟器(DosBox等)或将代码转换为32位(应该在64位操作系统上运行)