实验一
南京信息工程大学实验报告
实验名称 用机器指令和汇编指令编程(1) 实验日期 2018.10.26 得分
学院 计软院 专业 计科年级 2017 级班次 5班姓名 邱雪文学号 20171308197
一、实验目的
- 掌握使用debug 工具编写和调试汇编命令的方法
- 掌握第 1-2 章所学的关于 CPU、寄存器、内存的基础知识
- 掌握第 1-2 章涉及的几条指令 mov, add, sub, jmp 的用法
二、实验准备
- 复习教材第 1~2 章内容,完成教材内相关检测点
- 结合教材实验 1(P35)及公邮文件中心→实验下的“实验 1 辅助文档.pdf”学习 debug
工具用法。
三、实验内容
1. 教材实验 1(P35)
(1) 练习教材 P35-45「预备知识:Debug 的使用」,学习 debug 启动、退出及常用指令用法;
(2) 在练习基础上,完成「2. 实验任务」
四、实验结论
试验任务1
用E命令向内存中写入机器码,并用D命令显示内存单元
用U命令查看内存中机器码的含义
第一张图U命令没有指定CS与IP的值,所以最后显示出的图显示错误
第二张图U命令指定CS:IP,正确显示
用T命令执行内存中的机器码
用A命令向内存中写入机器码,并用D命令显示内存单元,其中A命令编写汇编指令后面不能加H以及不分字母大小写
用T命令执行内存中的机器码
试验任务2 换了个软件
先用R命令查看所有寄存器的值,读图可知CS与IP的值不同,用R命令修改CS与IP的值
R命令的格式rcs或r cs
用T命令执行
从最后一张图可知,T命令每执行一条,IP值也随之变化。在debug中数字默认为十六进制表示。因为2的8次方十进制为256.十六进制为100,所以当寄存器ax中的值到0100时执行停止。
实验任务3
用D命令查看内存数据,从fff0开始,内存长度为ff.图片显示生产日期为01/01/92
用E命令改变其内存数据,再用D命令查看,发现生产日期没有发生改变。
实验任务4
先用R命令显示查看所有寄存器的值,用E命令向内存从b8100h开始的单元填写数据最后用D命令显示内存单元。第一张图原始地址与数据,第二张图改变数据地址不变,第三张图改变地址数据不变,第四张图改变地址和数据。
四、总结与体会
在debug中大小写等价,数字默认为十六进制表示不需要加h。
需要注意大部分命令后面要指定CS与IP的值
掌握了如何打开虚拟debug
-
掌握了各种命令的作用