将int 21h与内联程序集一起使用

Using int 21h with inline assembly

本文关键字:程序集 一起 int 21h      更新时间:2023-10-16

我在Visual C++中使用内联汇编,几天来一直在尝试让int 21h与我的程序一起工作。其他中断工作(int 3),这让我相信要么我调用21h错误,要么它被阻止了。只有当我使用int 21h时,才会出现运行时错误。如果我把它评论出来,它可以很好地移动寄存器。

到目前为止,我已经把这个整理好了:

int _tmain(int argc, _TCHAR* argv[])
{
    __asm {
        mov ah, 1h
        int 21h
        mov dl, al
        mov ah, 2h
        int 21h
    }
}

您不能在windows程序中使用DOS中断;它们是不同的平台

您可以使用硬件中断,如int 1int 3