实验二

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

实验二_第1张图片修改内存单元0021:0~0021:7为30H,31H,32H,33H,34H,35H,36H,37H

 

实验二_第2张图片

实验二_第3张图片实验二_第4张图片

            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)

实验二_第5张图片

实验二_第6张图片

实验二_第7张图片初始栈顶为000C 栈底为00FD。  

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

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

 

你可能感兴趣的:(实验二)