实验一

1.使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。

 寄存器内容变化

ax=4E20

ax=6236

bx=2000

ax=8236

bx=8236

ax=046c  前面的1从nc到cy中有变化

ax=001a

bx=0026

ax=0040

ax=2640

bx=4026

ax=0040

ax=0066

ax=0002

使用e命令和a命令将指令写入内存,用t命令执行时,用-a 0:200和-e 0:200修改,第一次执行t用-t=0:200,后面则不需要。

cs:ip的指向一致。

2.将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。

首先改变cs和ip的值 或使用jmp指令跳转

2的8次方ax=100

3.查看内存中的内容。

pc机主板上的ROM中写有一个生产日期,在内存fff00h-fffffh的某几个单元中,请找到这个生产日期并试图改变它。

生产日期为92年一月一日。

主板中的内容是不能改变的。实模式可以修改,虚拟8086模式不能修改。

因为用的是Dosbox,读取的是虚拟主板的信息。不是真正的生产日期。

4.向内存从b8100h开始的单元中填写数据,如:

-e b8100:0000 01 01 02 02 03 03 04 04

请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。

 

不同的数据控制着不同的颜色和样式,不同的地址控制着不同的位置。

5.总结与体会

 一定要注意debug常用命令的格式,很多时候是需要加上地址,偏移地址或地址范围。命令过程中,很容易输入错误,会很难修改,一定要仔细。要对各种命令熟悉,多打打,由一定的熟悉度,才能在输入错误的时候不用重头再来,可以通过一些命令修改回来。

很多的目的实现不是只有一种方法,可以多多尝试,不同的方法说不定会带来不同的答案,然后从中找寻问题所在,对知识有更进一步的理解。

原文地址:https://www.cnblogs.com/byxy/p/9860890.html