实验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全部复制到目标内存中。
结果如下: