概述
南京信息工程大学实验报告
实验(实习)名称 用机器指令和汇编指令编程 实验(实习)日期 2018年10月28日 得分 指导老师 耿学华
系 计软院 专业 计科 年级 2017级 班次 5 姓名 沈筱月 学号 20171308198
一、实验目的
- 掌握使用debug工具编写和调试汇编命令的方法
- 掌握第1-2章所学的关于CPU、寄存器、内存的基础知识
- 掌握第1-2章涉及的几条指令mov,add,sub,jmp的用法
二、实验准备
- 复习教材第1-2章内容,完成教材内相关检测点
- 结合教材实验1(P35)及公邮文件中心->实验下的“实验一辅助文档.pdf”学习debug工具用法。
三、实验内容
- 教材实验1(P35)
(1)练习教材P35-45 [预备知识:Debug 的使用] ,学习debug启动、退出及常用指令用法;
(2)在练习基础上,完成 [2. 实验任务]
四、实验结论
任务1、用 E 命令将指令写入内存,并用 U 命令查看内存中机器码的含义,再用T命令执行内存中的机器码
用E命令将机器码指令写入内存
在将指令写入内存的过程中输错了几个数据,所以要用到D命令来查看内存中的内容,继而用E命令修改输错的数据。
用U命令查看内存中机器码的含义
用u指令进行翻译时,后面要加上要写入内存数据的CS:IP的值,不然会显示默认CS:IP中未写入数据的空数据值。
用T命令执行内存中的机器码
用A命令将汇编指令写入内存
用D命令查看内存中的内容
再用T命令执行内存中的机器码
从任务1可以看出机器指令和汇编指令的区别。
任务2、将3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方
用 R 命令查看,发现汇编指令写入的段地址和偏移地址与CS IP不同,所以要用 R 指令修改CS IP的值。
再用 T 指令逐条执行
在执行指令之后,我发现机器自动将IP改变,将CS:IP指向下一条指令,当寄存器AX中的值到0100时停止,因为在十进制中2的8次方为256,16进制中为100H。
任务3、用D命令查看内存FFF00H-FFFFFH中的内容,PC机主板上的ROM中写有一个生产日期,请找到这个日期并试图改变它
用 D 命令查看内存FFF00H-FFFFFH中的内容
用 E 命令修改部分数据,再用 D 命令查看内容,发现生产日期无法更改。
任务4、向内存从B8100H开始的单元中填写数据,观察产生的现象,再改变填写的地址,观察产生的现象
向内存从B8100H开始的单元中填写数据
更改内存中的数据
用 R 命令查看寄存器的内容,更改写入的内存地址和数据
五、总结与体会
- 在本次实验后,我深入了解了Debug指令的基本功能和用法。在汇编语言的学习中,Debug是一个经常用到的工具。
- 通过本次实验,还了解到了一些命令的用法
R命令:查看、修改CPU中寄存器的内容
D命令:查看内存中的内容
E命令:修改内存中的内容(可以写入数据、指令)
U命令:将内存中的内容解释为机器指令和对应的汇编指令
T命令:执行CS:IP指向的内存单元处的指令
A命令:以汇编指令的形式向内存中写入指令
3. 如果要使操作界面更清晰,可以常用Q命令清空界面
4. 本次实验让我初次体验了Debug指令的执行过程,十分有趣。
转载于:https://www.cnblogs.com/shxy0523/p/9866119.html
最后
以上就是冷酷季节为你收集整理的实验一 用机器指令和汇编指令编程的全部内容,希望文章能够帮你解决实验一 用机器指令和汇编指令编程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复