dosbox masm输入和debug

问题描述 投票:1回答:1

我正在使用DOSBox MASM来学习汇编语言。但是,我想提供输入和debug。也就是说,我想逐行执行我的程序,并尽快给出输入

INT 21H

谈到。我在调试

afdebug test.exe

但是一看到它

MOV AH,01H
INT 21H

调试刚刚在INT 21H之后跳过,并且没有提示任何屏幕接受输入。

以下是程序:

.MODEL SMALL
        .STACK 64
        .DATA
MSG DB "ENTER A CHARACTER:$"
ORG 0030H
LOL DB ?
        .CODE
            MOV AX,@DATA
            MOV DS,AX
            LEA DX,MSG
            MOV AH,09H
            INT 21H
            MOV AH,01H
            INT 21H
            MOV LOL,AL
            MOV AH,4CH
            INT 21H
        END
debugging input masm dosbox
1个回答
0
投票

我几天前遇到过这个问题,最后我解决了。我调试我的代码使用指令t

执行一条指令,然后显示所有寄存器的内容,所有标志的状态以及Debug接下来要执行的指令的解码形式。

根据INT 21H,在DosBox,我发现在STI之后,下一个指令是wikipedia

STI指令通过设置IF来启用中断。

所以在指令STI之后,你可以接受输入。

您可以访问https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc722863(v=technet.10)中的其他详细信息以了解有关调试指令的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.