wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在64位Windows上进行16位汇编?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我决定不久前开始学习装配,所以我开始使用FASMW进行16位装配. HOwever,我最近得到了一台运行 Windows 7 64位的新计算机,现在程序组装的所有已编译的.COM文件都不再有效.他们给出一条错误消息,指出.COM与64位窗口不兼容. 32位程序集仍然可以工作,但是我宁愿从16开始并继续工作…… 是否可以在Windows 7上运行16位程序?或者是否有特定的方法来编译它们?或者我应该
我决定不久前开始学习装配,所以我开始使用FASMW进行16位装配.
HOwever,我最近得到了一台运行 Windows 7 64位的新计算机,现在程序组装的所有已编译的.COM文件都不再有效.他们给出一条错误消息,指出.COM与64位窗口不兼容.
32位程序集仍然可以工作,但是我宁愿从16开始并继续工作……
是否可以在Windows 7上运行16位程序?或者是否有特定的方法来编译它们?或者我应该放弃并跳到32位而不是?

解决方法

无法使用16位程序集的原因是因为所有64位版本的Windows中的 16-bit subsystem has been removed.

解决这个问题的唯一方法是安装像DOSBox这样的东西,或者像VirtualBox这样的虚拟机软件包,然后安装FreeDOs.这样,无论如何你都会得到真正的DOs. (NTVDM is not true DOS)

就个人而言,我是否鼓励为DOS编写16位程序集?不.我使用32位甚至64位汇编 – 原因是不同的操作系统有一组不同的函数调用(称为ABI).因此,64位Linux应用程序的ABI与32位不同.不确定Windows是否属于这种情况.但是,我保证中断的含义可能不同.

此外,您还可以使用16位汇编来虑各种事项,例如正在使用的内存模型.我可能错了,但我相信DOS会给你64K的内存来玩“就是这样”.一切,你的整个堆和堆栈以及代码必须适合这个空间,正如我所理解的那样,这让你想知道有什么工作,真的.

大佬总结

以上是大佬教程为你收集整理的在64位Windows上进行16位汇编?全部内容,希望文章能够帮你解决在64位Windows上进行16位汇编?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。