实验一:熟悉和使用debug的调试环境
实验任务一:debug的使用
1、R命令:查看、改变CPU寄存器的内容:
通过r命令查看AX,BX,CX,DX,CS,IP这六个寄存器的内容,如:CS=073F,IP=0100,则内存073F:0100处的指令位CPU当前要读取、执行的命令。
2、D命令:查看内存器中的内容(形式为”段地址:偏移地址“的形式)。
如: 用D命令查看内存1000:0处的内容:
3、接着再使用E命令(改写内存中的内容)来修改内存1000:0~1000:9单元中的内容:
第一次错误出现的原因是在内存单元后没有打空格而与修改内容一起写所导致的错误。
实验任务二:
1、用A命令将下面程序段写入内存,用T命令逐条执行观察CPU中相关寄存器中内容的变化。
程序段如下:
再用T命令逐条执行观察CPU中相关寄存器中内容的变化:
2、将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方
程序段:
使用T指令查看
使用T指令要在后面添加需要查看的内存单元
t=2000:0指的是需要逐条查看2000:0内存单元的寄存器中内容的变化
使用t指令最后结果为:
可以看出寄存器AX的值为100,因为100(16)=256(10),得到最终2的8次方结果为256
3、查看Rom中生产日期并试图修改
先用d命令查看这段内存单元:
如截图 我尝试修改内存单元 fff0:00f0中的数据,再次调用d命令查看内存单元的内容发现内存单元中的值没有什么变化
了解到PC主板上的ROM是一个只读寄存器,只用读取内存单元的值而不能改变内存单元中的值。
4、向内存从b8100h开始的单元填写数据:
总结:
经过这一次的实验以及自己动手操作之后,了解了部分的debug中的命令,以及汇编程序指令的编写方式,没有了刚开始接触
汇编时的生涩感以及对汇编这门学科的陌生感,也知道了debug的调试环境,这一次做了的几个实验,亲手操作起来感觉收获
还是很大的,感觉汇编的一个好处就是一段程序码的运行可以一步一步的查看,了解每一的值的改变,也通过这次汇编开始慢
慢的熟悉汇编这门学科了。