汇编实验一

一、实验目的

  1. 学会搭建汇编语言程序设计的软件平台
  2. 学会Debug实用程序的基本功能
  3. 对汇编指令、寄存器、内存空间产生直观的认识

二、实验内容过程记录

任务0-搭建汇编语言实验环境

参考视频“0105 汇编语言实践环境搭建”,搭建汇编语言实验环境,以便于下面的工作。

如果使用的winXP,可以不安装DOSBOX模拟器,而是用XP的MS-DOS方式运行masm文件夹中的命令。

(完成操作,不需要记录)

任务1-Debug程序的使用

参考视频“0205 Debug的使用”和教材P35页对应的讲解,自行演练相关的Debug命令。

  1.  用R命令查看、改变CPU寄存器的内容,截图展示如下

-r 查看所有寄存器内容;

-r ax改变寄存器A的内容从0000变为1234;

汇编实验一

  1.  用D命令查看内存中的内容,截图展示如下

-d :列出预设地址内存处的128个内容;

-d 2000:0000  :列出指定(段地址:偏移地址)内存地址处的128个内容;

-d 2000:0  f  :列出指定(段地址:偏移地址)内存地址处的指定范围(0~f16个)内容;

汇编实验一

  1.  用E命令改变内存中的内容,截图展示如下

-e 2000:0 :直接输入修改;

-e 2000:0+回车:逐个询问式修改;

用命令查看修改后的内容;

汇编实验一

  1.  用U命令将内存中的机器指令翻译成汇编指令,截图展示如下

-e 地址内容写入

-d 查看写入内容

-u 查看机器代码及相应的指令

汇编实验一

  1.  用A命令以汇编指令的格式在内存中写入机器指令,截图展示如下

-a :从指定(段地址:偏移地址)之间添加命令;

汇编实验一

-u :查看指令及其机器代码

汇编实验一

 

  1.  用T命令执行机器指令,截图展示如下

汇编实验一

任务2-使用Debug运行程序

mov ax, 4E20H

add ax, 1416H

mov bx, 2000H

add ax, bx

mov bx, ax

add ax, bx

mov ax, 001AH

mov bx, 0026H

add al, bl

add ah, bl

add bh, al

mov ah, 0

add al, bl

add al, 9cH

使用Debug,将下面的程序段写入内存(用a命令)后单步执行(用t命令),观察每条指令执行后CPU中相关寄存器中内容的变化。

下面是完成任务的截屏:

汇编实验一

汇编实验一

汇编实验一

汇编实验一

任务3-查看内存中的内容

在内存FFF00H~FFFFF间浏览(用d命令),找到一段记录日期值的内存,截屏并说明日期值。注:这个日期代表主板的生产日期,参考第1章1.15节

下面是完成任务的截屏:

汇编实验一

任务4-在屏幕上显示多彩符号

向内存B8100H开始的空间中写入如下数据“01 01 02 02 03 03 04 04”(用e命令),观察并记录产生的现象,再修改写入的数据,如改写为“4C 17 6F 92 76 a3 65 84”,以及你想玩的其他数值,再观察和记录。

注:对实验结果的解释,见第1章1.15节和教材187页实验9。

下面是完成任务的截屏:

汇编实验一

汇编实验一