机房实验二

实验环境

实验二和后边的实验三都是在机房完成的,没有找到机房里的截屏工具,所以只能用简陋的移动设备给拍下来,虽然这样很影响观感,下次上机把自己的笔记本带上。

 

实验任务

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

mov ax,ffff

mov ds,ax

 

mov ax,2200

mov ss,ax

 

mov sp,0100

 

mov ax,[0]                          ;ax=5BEA

add ax,[2]                           ;ax=5CCA

mov bx,[4]                          ;bx=30F0

add bx,[6]                           ;bx=6024

 

push ax                              ;sp=00FE; 修改后的内存单元的地址是2200:FE内容为5CCA

push bx                              ;sp=00FC; 修改后的内存单元的地址是2200:FC内容为6024

pop ax                                ;sp=00FE; ax=6024

pop bx                                ;sp=0100; bx=5CCA

 

push [4]                              ;sp=00FE; 修改后的内存单元的地址是2200:FE内容为30F0

push [6]                              ;sp=00FC; 修改后的内存单元的地址是2200:FC内容为6024

 

以下是debug程序的图片

 

 

 

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

学到这章的时候,就一直看到关于中断机制的说法,但是编者也没有具体解释到底谁是什么原因,在网上看到有人有同样的困惑,最终在250页12.12发现了解释

用T命令执行一条指令后,CPU响应单步中断,在mov ss,ax指令执行后,CPU根本就不响应任何中断,CPU接着向下执行后边的指令mov sp,10,然后响应单步中断,我们才看到结果

 

实验总结

 经过这次实验,把之前书上看到的内容感受了一下, 加深了理解,而且也有自己去寻找自己不明白的解释,最终回归了书本,

下次一定要带电脑去机房。

 

posted @ 2018-10-28 11:17  Curry_Crab  阅读(210)  评论(2编辑  收藏  举报