实验名称:查看CPU和内存,用机器指令和汇编指令编程
目录
一:实验目的
- 熟悉Debug有关命令的使用方法;
- 利用Debug掌握有关指令功能;
- 利用Debug运行简单的程序段。
二:实验内容及步骤及结果
内容:(1):
步骤:(1):
1)、进入Debug程序
2)、用Debug的A命令以汇编指令的形式在内存中写入机器指令。
3)、用R指令查看当前寄存器的值
4)、当前CS=0483,IP=0100,指向0483:0100,要让cs:ip指向1000:0指令,用R cs和ip修改CS,IP中的内容
5)、用T命令逐条执行对应指令
结果(1):
内容(2):
步骤(2):
1)、用R命令修改CS和IP的值
2)、用A命令以汇编指令的形式在内存中写入机器指令
3)、用T命令逐条执行对应指令
结果(2):
内容(3):
步骤(3):
1)、用D命令查看内存中的内容,一次查128个
2)找到生产日期后,用E命令修改
结果(3):
内容(4):
步骤(4):
1)、向b810:0000空间输入相关内容
结果(4):
显示器中多出一个图案
那是因为在8086PC机内C0000~FFFFF是各类ROM地址空间。ROM是只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。我们向地址C0000~FFFFF的内存单元中写入数据的操作是无效的,因为这等于改写只读存储器中的内容。
三:实验过程中出现的问题及解决方法
实验(3):向FFF00-FFFFF的内存单元中用命令发现无法修改内容。题目提到ROM,写入数据的操作是无效的,因为这等于改写只读存储器中的内容。
实验(4):按题目在B8100处修改数据,用D命令查看发现内容不变,查阅资料后发现:8086CPU的显存地址空间是A0000H-BFFFFH,其中B8000H-BFFFFH为80*25彩色字符模式显示缓存区,当向这个地址空间写入数据时,这些数据会立即出现在显示器上。
四:实验总结
通过此次实验我了解到Debug大体是用来干什么的,学会了Debug的基本功能和用法,如R命令:查看、修改CPU中寄存器的内容,D命令:查看内存中的内容,E命令:修改内存中的内容等。