实验二

     (1)使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。

修改内存单元0021:0~0021:7为30H,31H,32H,33H,34H,35H,36H,37H

 

            mov ax,[0]                       ;ax=3100

            add ax,[2]                        ;ax=6462

            mov bx,[4]                       ;bx=3534

            mov bx,[6]                       ;bx=6C6A

            push ax                           ;sp=00fe        ;修改的内存单元的地址是 011B内容为011C

            push bx                           ;sp=00fc        ;修改的内存单元的地址是 011C内容为011D

            pop ax                             ;sp=00fe        ;ax=6C6A

            pop bx                             ;sp=0100       ;bx=6462

            push [4]                           ;sp=00fe        ;修改的内存单元的地址是 0120内容为0124

            push [6]                           ;sp=00fc        ;修改的内存单元的地址是 0124内容为0128

 在执行过程中会数不清T执行的次数,数错了好几次,在执行过程中要注意需要的ax和bx是哪一个,还要注意修改的内存单元是哪一个。

    

 

          (2)

初始栈顶为000C 栈底为00FD。  

在执行   mov ss,ax是 ,指令mov sp,10也紧接着执行了。  

      执行过程中注意观察栈顶和栈底是如何变化的,很容易搞错。

 

posted @ 2018-11-18 13:35  胡毳  阅读(181)  评论(1)    收藏  举报