【发布时间】:2017-05-15 15:30:01
【问题描述】:
我正在开发一个简单的 BIOS 重置器,只是为了学习。所以我有主文件,即菜单,名为 Reseta.com,是的,它是一个没有堆栈的微型模型。而且我有一个A.com,要重置的代码在哪里,所以我需要用我的主程序Reseta.com来执行A.com,A.com是用DOS的Debug编写的,是的,我在Windows 98中,但程序将在 MS-DOS 上运行。我尝试使用中断 21,例如服务 4Bh、3DH,但我还没有成功。最简单的方法是如何做到的?只需调用“A.com”文件,它就会从中断 21 以服务 0 返回 DOS。谢谢,为了更容易理解,我正在寻找类似 WinExec(); 的东西。在 WinAPI 中,当然,在汇编 16 位到 MS-DOS 中。
PS:我正在使用 TASM 和 TLINK /t 来编译代码...
【问题讨论】:
-
我没有使用 NASM,我使用的是 TASM,并且此链接中的示例对我不起作用... :(
-
请出示您的代码。
-
@user3587527 :该代码已经过验证,可以在实际 MS-DOS 的几个不同化身下工作,所以我对此非常有信心,尽管我显然无法做出任何保证。
标签: assembly interrupt dos real-mode windows-98