clhjswe 发表于 2017-1-22 20:52:33

我这是什么情况?正确的debug指令,3个字节的指令,但是我执行t,它只执行了2个字节

大家看看我这张图片是怎么回事,有大问题。

这是我的汇编代码:
assume cs:codesg
codesg segment
start:        mov ax,2000h
                mov ds,ax
                mov al,
                mov bl,
                mov cl,
                mov dl,
               
                mov ax,4c00h
                int 21h
codesg ends
end start

Angellover 发表于 2017-1-22 21:36:33

ip没有指向代码段的第一句,即0000。应该先设置ip为0000在用t执行。

Angellover 发表于 2017-1-22 21:40:00

Angellover 发表于 2017-1-22 21:36
ip没有指向代码段的第一句,即0000。应该先设置ip为0000在用t执行。

哦,是我搞错了

Cy86183570 发表于 2017-1-22 21:59:34

我把你的程序复制了,执行了没问题啊,你再重新执行试试

人造人 发表于 2017-1-22 22:19:40

你修改了sp寄存器?
sp不应该为2
我在xp下试了试,sp为2,t命令执行直接退出


给你的程序添加堆栈段(堆栈段很重要,建议每一个程序都分配一个堆栈段)
页: [1]
查看完整版本: 我这是什么情况?正确的debug指令,3个字节的指令,但是我执行t,它只执行了2个字节