实验1 8086汇编指令编码和调试

实验2

在用d命令查看了从fff00h~fffffh的所有单元发现,生产日期存储在ffff5h的位置,用e命令进行修改,发现无法修改,因为所处的内存为只读存储器。

 

 此为修改之后,查看该地址空间,并没有变化

 

 

 

实验3

运行e命令的截图:

 

 运行f命令的截图

 

 

 自己尝试修改内存单元后的效果:

 

 实验4

填空:sp=002e  002c 002a 0028 002a 002c 002e 0030

问题1:逻辑地址=0020:30h;物理地址=00230h

 

问题2:d命令查看到的数据在该截图的最顶部,在这块地址空间的最后存有50 60 30 40 10 20

 

 问题3:查看发现数据空间内的数据没有变化,截图如上,d命令在截图最下面。

问题4:查看发现数据空间内的数据有变化,截图如下:

 

 按照字节顺序倒序。

实验5:

问题1:从截图我们可以看出,在执行mov ss,ax命令后立刻跳转到了mov ax,2010,说明单步执行mov ss,ax后没有停止,而是将两条命令都执行了。

 

 

问题2:观察发现,内容与cs ,ss相互对应,记录了下一条即将执行的命令

 

 实验6:

程序源码:

 

 运行结果如图:

运行结果是0123456789,查看了前缀PSP发现是CD 20开头。

 

 实验7:

 

 如上图所示,第一处写入cs,将代码的起始地址赋给ax,之后放到ds寄存器中,在下文复制时,从这里开始。第二处是循环的次数,写入的值为23,这个值可以通过u命令查看代码的空间,一共23次将line3-lin12全部复制到目标内存中。

结果如下:

 

posted @ 2021-10-25 22:38  斯文小扬  阅读(60)  评论(2编辑  收藏  举报