首页 > 其他 > 详细

实验二

时间:2018-11-02 01:17:00      阅读:177      评论:0      收藏:0      [点我收藏+]

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

mov ax,0021

 

mov ds,ax

 

mov ax,2200

 

mov ss,ax

 

mov sp,0100

 

mov ax,[0]                                            ;ax= 3130         

 

add ax,[2]                                             ;ax= 6462           

 

mov bx,[4]                                            ;bx= 3534           

 

add bx,[6]                                             ;bx= 6C6A           

 

push ax              ;sp= 00FE ;修改的内存单元的地址是 2200:FE到FF 内容为   62       64                

 

push bx           ;sp= 00FC ;修改的内存单元的地址是 2200:FC到FD 内容为   6A        6C                

 

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

 

pop bx                ;sp=0100            ;bx=   6462           

 

push [4]        ;sp= 00FE    ;修改的内存单元的地址是  2200:FE到FF   内容为   34      35               

 

push [6]        ;sp= 00FC  ;修改的内存单元的地址是  2200:FC到FD   内容为    36      37                

 

 技术分享图片

 

 技术分享图片

技术分享图片

 

 技术分享图片

 通过实践更直观了解栈的运行,数据处理特点,pop以及push指令

②观察实验过程,然后分析:为什么2000:0~2000:f中的内容会发生变化?

技术分享图片

技术分享图片

mov ss,ax  ;  mov sp,10 定义了栈 改变了其中的数据

实验二

原文:https://www.cnblogs.com/xyy9899/p/9893298.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!