【问题标题】:DOS execution of assembly codeDOS执行汇编代码
【发布时间】:2009-11-09 14:13:10
【问题描述】:

我正在编写一个程序集,它将注册一个 tsr 然后退出。

我正在努力弄清楚如何正确地将其组装成我可以在 dos 中执行的格式。

我可以访问 ubuntu 9.04 和 windows xp。 (首选linux方法)。如果有人能告诉我如何将我的代码组装成 dos 可执行格式,然后我如何在 dos 中执行它,我将不胜感激!

【问题讨论】:

  • TSR 的?操作系统?突然又回到了 1985 年。 XP 甚至支持 TSR 吗?
  • microsoft.com/resources/documentation/windows/xp/all/proddocs/… 我想你仍然可以这样做。太棒了。
  • 现在我很好奇 - 你的 tsr 是做什么的?还是只是一种学习体验?
  • 它只是为了学习。我一直在学校上组装课,想实际使用一些知识。
  • @ZJR DOS 在某些嵌入式 x86 系统中仍然有些常见,在这些系统中,您希望获得操作系统的好处以及对硬件的裸机访问的灵活性。

标签: assembly dos tsr


【解决方案1】:

以防其他人在这里遇到与我在这里遇到的相同问题,这就是我最终找到的答案。它是一个免费的开发环境,可以轻松制作dos程序:

http://www.winasm.net/

开发环境使用 masm 完成所有后端工作,因此也必须安装它,但它处理所有组装和链接。

【讨论】:

    【解决方案2】:

    如果它用于 .COM 可执行文件,您只需在开始时使用“org 0x100”并使用“nasm -f bin”进行组装,使用为任何操作系统构建的 nasm。

    对于 .EXE,您需要一个 DOS 链接器,即。 TASM/MASM 附带的那个。我不确定是否有可移植的 16 位 DOS 链接器,大多数倾向于链接在 DOS 扩展器下运行的 32 位程序。

    【讨论】:

    • 好的,我可以使用 nasm 进行组装,但我对链接部分感到困惑。我下载了 masm 并试图弄清楚如何链接它
    【解决方案3】:

    如果您使用的是 masm,那么有一个 16 位链接器可用...http://blogs.pcworld.com/communityvoices/archives/2007/10/using_masm32_wi.html - 应该可以帮助您。

    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 2014-12-07
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    相关资源
    最近更新 更多