x86-16 - 哪个汇编器支持大多数现有中断?

标签 x86-16

我目前正在使用 emu8086(所以我正在为 8086mP 编程),但我对 emu8086 感到很困难,因为它无法“理解”像 int 21h/ah=5bh 和许多其他中断这样的中断。我应该使用什么汇编器/ide能不能使用其他中断?(Emu8086连该有的中断都不支持,更何况后面加的)

最佳答案

我不确定我是否理解“支持中断”的意思。如果问题是为各种机器陷阱或通过陷阱进行操作系统调用提供所谓的操作码,最简单的方法是为每个此类陷阱定义参数化宏,然后简单地调用适当的宏。

因此“int21/ah=5bh”可能代表操作系统对“OutputCharacterAL”的调用。您可以定义一个宏:

OutputCharacterAL  macro
          mov  ah,5bh
          int21
          mend

并通过

调用它
         mov AL,"*"
         OutputCharacterAL

几乎任何汇编器都会让您这样做,因此没有任何“最佳”。

关于x86-16 - 哪个汇编器支持大多数现有中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648616/

相关文章:

assembly - x86 程序集 : Pass parameter to a function through stack

assembly - int 13h 不从虚拟磁盘读取扇区

assembly - 将寄存器设置为零有多少种方法?

assembly - 两个整数的商不显示在汇编中

c - 从 C 调用 Intel 8086 汇编程序

assembly - 如何为 MS-DOS 制作音频驱动程序?

assembly - 为什么 `cmpsb`似乎没有比较寄存器的值?

assembly - 我正在尝试在程序集中以图形模式打印消息,但控制台 d :\is still there

c - 汇编函数不会更改从 c 发送的数组中的值

assembly - 为什么我的汇编输出位于字母位置? (1+1=b)