王爽的实验五的一个问题
我把问题发上来,大家看看:原文:将下面的程序编译连接,用Debug加载。跟踪。然后回答问题:
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
1.CPU执行程序,程序返回前,data段中的数据为多少?
答案:cpu执行程序,程序返回前,data段中的数据不变。
我自己的想答案可能有问题,因为程序返回前经过压栈和出栈,把原来数据段的第一二个数据倒回来才对,即data段正确的排列是:0456h,0123h,0789h,0abch,0defh,0fedh,0cbah,0987h,对不对,你们用Debug跟踪看看,我不知道怎么用Debug跟踪,还望见谅