Assembly emu8086不支持int 14h BIOS串行端口API

Assembly emu8086不支持int 14h BIOS串行端口API,assembly,emu8086,Assembly,Emu8086,我在使用emu8086进行汇编时遇到问题。当使用INT 14h时,将显示错误 问题: 是否有办法配置emu8086矢量表 是否有其他程序集仿真器支持int14h 如果配置正确,Bochs、QEMU、DosBox可以模拟串行端口及其BIOSS支持int 14h。据我所知,EMU8086不支持int14h,根据屏幕截图,安装自己的中断处理程序的常用机制可以工作SIDT[m32]存储IDT的地址。我猜你应该将段部分放入段寄存器,并使用另一部分作为地址,然后索引到表中以设置你自己的条目。Int14中很少

我在使用emu8086进行汇编时遇到问题。当使用
INT 14h
时,将显示错误

问题:

  • 是否有办法配置emu8086矢量表
  • 是否有其他程序集仿真器支持
    int14h

  • 如果配置正确,Bochs、QEMU、DosBox可以模拟串行端口及其BIOSS支持
    int 14h
    。据我所知,EMU8086不支持
    int14h
    ,根据屏幕截图,安装自己的中断处理程序的常用机制可以工作
    SIDT[m32]
    存储IDT的地址。我猜你应该将段部分放入段寄存器,并使用另一部分作为地址,然后索引到表中以设置你自己的条目。Int14中很少有可赎回的功能,如果在真正的硬件上运行,使用它的程序很少能正常运行。串行端口需要一个硬件中断处理程序来防止数据丢失,BIOS不需要。@PeterCordes:EMU8086只支持8086指令集,因此SIDT不可用。通常关闭中断,直接设置段和偏移字(使用
    mov
    指令)更新中断向量表,然后重新启用中断。