我在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
}
}
答案 0 :(得分:6)
您不能在Windows程序中使用DOS中断;他们是不同的平台
您可以使用int 1
和int 3
等硬件中断。