码迷,mamicode.com
首页 > 其他好文 > 详细

用机器指令和汇编指令编程(修改版)

时间:2018-10-28 23:27:43      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:心得   全屏   指令   debug   系统   命令   pdf   问题   语句   

  • 实验名称 用机器指令和汇编指令编程(1)
  • 实验日期   2018.10.22   
  • 学院:计软院   
  • 专业:计算机科学与技术 
  • 年级:2017级
  • 班次:5班 
  • 姓名:陈奕明   
  • 学号 20171308194


一、实验目的 
1. 掌握使用debug工具编写和调试汇编命令的方法

2. 掌握第1-2章所学的关于CPU、寄存器、内存的基础知识

3. 掌握第1-2章涉及的几条指令mov, add, sub, jmp的用法


二、实验准备 
1. 复习教材第1~2章内容,完成教材内相关检测点

2. 结合教材实验1 (P35)及公邮文件中心→实验下的 “实验1辅助文档.pdf”学习debug 工具用法。


三、实验内容 
1. 教材实验1(P35)

(1)练习教材 P35-45「预备知识:Debug 的使用」,学习 debug 启动、退出及常用指 令用法;

(2)在练习基础上,完成「2. 实验任务」 

Tips: 「2. 实验任务」中每一项任务都可以在教材前序内容或练习中找到提示线索。建议先 完成「二、实验准备」中要求的内容及实验内容的第(1)项,这样完成「2. 实验任务」时会 很容易完成。比如: 实验任务(1)可参照教材P41-43的(7)完成; 实验任务(2)与教材 P20的检测点(2)相似且相关;


四、实验结论 
任务一:

把如下的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。

技术分享图片

首先使用e指令按题目要求的写入机器码指令(随便找了个地址1000:0):

技术分享图片

到达文本输入限制后没办法,只能先执行了...执行完后,看一下已经写入数据的内存单元的情况...嗯...数据是对的

继续输入并执行,执行完全部代码后,使用u指令反汇编机器码命令:

技术分享图片

跟书上写明的汇编命令相符。

然后输入汇编命令:

技术分享图片

中间又把1和字母l分不清了,出了个error。。。

命令输入完毕,-t命令单步执行:

技术分享图片

和上课听讲的一样,对指定的寄存器进行数据的改写操作。

后面的命令行有点多就用-t+数字=执行往后的几条命令全部执行了:

最后的结果:

技术分享图片

任务二:将下面三条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。

mov ax,1

add ax,ax

jmp 2000:0003

技术分享图片

解题思路:2的三次方就是8,再看下题目给我们的三条命令。执行完第一条后ax的值为1,执行完第二条命令后ax的值为2,那么就需要我们再执行这条语句7次了,所以就要使用jmp命令,通过改变CS和IP寄存器的值来使得CPU继续反复执行这条命令,所以往下又写了七句jmp 2000:0003使得CPU再反复执行其次该语句,从而使得AX中的值变为二的八次方。。。。这是最终结果。

最终实验截图

技术分享图片

第三题

PC主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并且试图改变它。

实验截图如下:

技术分享图片

试图修改但是失败了,看来是因为ROM的关系,无法修改。

第四题

向内存B8100H开始的单元中填写数据,如:

-e B810:0000 01 01 02 02 03 03 04 04

这是进行了一系列实验过后的结果:

技术分享图片

有这么些结果和感悟:

再向寄存器写入数据时,每多两个字节的数据就会产生一个新的颜色区域,而且写入区域的CS码每产生一次进位,就会使得产生的色块区域产生换行,最终得到了这么些结果。


五、实验心得与感悟
这次实验主要实验了R命令(用于查看、修改寄存器中的内容)、D命令(查看内存中的内容)、E命令(修改内存中的内容)、U命令(反汇编命令)、T命令(执行代码行命令)

第四题经过这么多次的实验测试,看来这一段内存空间是显存。

我的电脑屏幕运行Dosbox窗口极小,最后查到按Alt+Enter可以进入全屏模式进行操作。

当初安装Dosbox时经历过,千万别把程序装在系统盘,否则会有权限问题。

暂时就这样把,肯定还有许多要学的,要完善的,好好学习汇编!!

                                                                                                                                                                                                                                                 2018-10-27  21:28:25于宿

用机器指令和汇编指令编程(修改版)

标签:心得   全屏   指令   debug   系统   命令   pdf   问题   语句   

原文地址:https://www.cnblogs.com/cymwn-com/p/9867855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!