实验1 查看CPU的内存,用机器指令和汇编指令编程
用到的debug功能有:
R命令查看,改变CPU寄存器的内容
D命令查看内存中的内容
E命令改写内存中的内容
U命令将内存中的机器指令翻译成汇编指令
T命令执行一条机器指令
A命令以汇编指令的格式在内存中写入一条机器指令
1.首先下载Dosbox和debug.exe,并配置文件。
2.进入dosbox环境,查看配置是否正确
3.运行命令
R命令查看CPU寄存器的内容
R命令改变CPU寄存器的内容
D命令查看内存中的内容
E命令改写内存中的内容
U命令将内存中的机器指令翻译成汇编指令
A命令以汇编指令的格式在内存中写入一条机器指令
4.实验任务1:使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
(1)使用A命令输入,直接输入汇编命令
(2)使用rcs与rip命令将CS:IP指向对应位置
(3)使用t命令查看,并观察CPU中相关寄存器中内容的变化
从中发现,CPU中寄存器已把我刚才输入的汇编指令在寄存器中实现,用t命令可以查看我刚才所输入的汇编指令和其在CPU寄存器中的位置。
5.实验任务2:将下面3条指令写入从2000:0开始的内存单元中,利用这三条指令计算2的8次方。
(1)输入指令
(2)修改cs:ip的值使其从2000:0的地址开始
(3)使用t命令查看,并观察CPU中相关寄存器中内容的变化,并查看2的8次方计算是否正确
6.实验内容3:查看内存中的内容
(1)查看内存FFF00H~FFFFFH中的内容
从中发现我的ROM 的生产日期为92年1月1号
(2)尝试将其修改为18年10月27号
发现生产日期并没有发生改变。原因是,我修改的是只读存储器,所以修改并没有用。
7.实验总结和体会
第一次的汇编实验我主要学到的是如何用debug查看CPU寄存器中的内容,并使用A,T,U,D,E,R命令操作CPU寄存器,还可以使用多种方式查看和修改寄存器中的数值。我也知道了我并不能修改内存地址为c000h的内存单元,因为那个是只读。
原文地址:https://www.cnblogs.com/daiyang/p/9860836.html