汇编语言实验1

实验任务:

(1)使用debug,将下面程序段写入程序,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。

方法一:用E命令将机器码写入内存,利用反汇编指令U可生成汇编指令。如下:

 

汇编指令执行完之后,继续执行的指令是什么?

 方法二:直接用A命令将汇编指令写入。如下:

 

之后就与上图的一样。

注意:默认为16进制,在数字后面加h会报错。

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

mov ax,1

add  ax,ax

jmp 2000:0003

过程中注意:1. jmp指令会打错成jump。2.由于忘记是默认16进制,对之后出现的10,20,40......保持疑惑,连续试了几遍后才发现。

(3)查看内存中的内容。

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

首先使用d命令查看:

 

使用e命令修改:

发现并没有什么用!!??

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

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

先填写不同数据,观察产生的现象;再改变填写的地址,观察产生的现象。

 

为什么有的会变有的不会?

但是好玩啊!

总结与体会:

其实一开始我是半蒙的状态,在舍友的帮助下成功解决了一些问题。首先是输入数据的时候不要加上h以免报错,此外q命令退出debug以及cls清屏已熟练操作。对于任务三是有些生疏的,在书本上找到了解答。任务四老师在课堂上演示过,但自己试了一试之后,感觉明显记得更加清楚。纸上得来终觉浅,觉知此事要躬行。书本上的只是枯燥无味,但自己实验一下,会有不小的收获。

 

 

posted @ 2018-10-24 19:11  皮皮夏在此  阅读(359)  评论(1编辑  收藏  举报