aaasoros 发表于 2013-5-23 21:04:46

关于pop指令的新手问题

小弟刚开始学汇编,看到王爽的检测点6.1的第二小题,在电脑上debug了一下,发现了些疑惑,求大神解答!!
首先这是代码
assume cs:code
code segment
                dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
                dw 0,0,0,0,0,0,0,0
start:        mov ax,cs
                mov ss,ax
                mov sp,20h
                mov ax,0
                mov ds,ax
                mov bx,0
                mov cx,8
        s:        push
                pop cs:
                add bx,2
                loop s
               
                mov ax,4c00h
                int 21h
        code ends
end start


1.当我debug后用t单步调试的时候,执行完第二条指令mov ss,ax后,原来放着8个0的0-f内存单元就被不知道什么数据占了,为啥会这样呢???


2.当我执行完pop指令后,内存单元里面的数据立即就被改了,但是书上不是说数据还是在内存单元里面的吗?只是不在栈里面,而到下一次再执行push指令的时候数据才会被覆盖。但是出现了这问题,这是为何啊。。???






坐等大神解答!!!

穷山恶水出刁民 发表于 2013-5-24 14:15:44

这个你不要鸟它,应该是中断程序的问题,只要过程正确就行了,

aaasoros 发表于 2013-5-25 12:07:02

但是那个pop指令的问题呢,难道也是中断程序的问题吗?

bafengao 发表于 2013-5-25 13:28:12

强烈支持楼主ing……
页: [1]
查看完整版本: 关于pop指令的新手问题