题目中要求把
mov ax , 4c00h
int 21h 之前的内容复制到0020:0处,我想把整个程序(包含 mov ax,4c00h ;int 21h)也复制过来。
assume cs:code
code segment
mov ax,cs ;ax,填空
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,1ch
s:
mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
用debug跟踪时 用g命令先执行完 mov ax,4c00h之前的内容,接着调用一次t命令,一次p命令,整个程序执行结束。
用 u es:0 察看结果时发现最后一条命令 int 21h 的 复制为 int 3;
但我一直用t命令重新执行一次时发现完全正确;
用 g 命令一下执行到int 21h(包含)在查看也是完全正确。
不知道g命令中到底藏着什么秘密。呵呵,不知我的论述大家能看明白吗?谢谢! |