-
目录
一、实验目的
二、实验内容
三、实验步骤以及结果
四、实验结果与分析
五、实验总结
一、实验目的
1、巩固debug命令
2、使用 debug 来进行寄存器、内存中内容的查看和修改
3、使用 debug 来进行程序的调试
-
二、实验内容
上图是一段指令代码 ,机器码和汇编指令是一一对应的,要求用两种方法将改程序片段写入内存中并逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化并记录下来写在实验报告中,具体如下:
1. 用A命令将汇编指令写在CS:IP 所指向的内存地址单元中
2. 用t命令逐条执行,记录结果
3. 用e命令将机器码写入CS:IP 所指向的内存地址单元中
4. 用t命令逐条执行,记录结果
尝试理解mov 和add汇编指令,AX,BX寄存器
-
三、实验步骤以及结果
一、输入汇编指令,观察寄存器结果。
1. 用A命令将汇编指令写在CS:IP 所指向的内存地址单元中
2.用t命令逐条执行,记录结果
二、输入机器码,观察寄存器结果
3. 用e命令将机器码写入CS:IP 所指向的内存地址单元中
4. 用t命令逐条执行,记录结果
-
四、实验结果与分析
1、由第一次实验,可以得出mov为赋值操作,add为相加操作的结论。但这次实验又多了对AL,AH,BL,BH与mov,add结合的操作。现在通过例子说明mov,add在这类变量的作用。
由图可知,从第一个块到第二个块之间进行了add al,9c的操作。Ax的值由0066变为0002。结合课本知识可知,al是ax的低字节位,al的变化没有影响到ah(ax的高字节位),即使al有溢出,进位也没有影响到ah。
2、汇编指令与机器码两种操作都可以达到相同的目的,可以说,汇编指令是机器码的更抽象的描述,但它们的本质一致。
-
五、实验总结
- 本次实验,巩固了debug命令的学习,成功运用debug进行寄存器、内存中内容的查看和修改,并成功利用debug来进行程序的调试,实验三目的成功实现。
- 两种操作的数据可能不太一样,因为我在debug的过程中又多尝试了些操作,导致有些数据被修改,如机器码部分的-t操作最后多了一个指令。