实验名称:DOS及DEBUG的使用 实验日期:2022年9月11日 一.实验预习报告
微型计算机的字长与微处理器的寄存器位数有关。以 Intel 80X86 系列微处理器为例,CPU 是 8086/8088、80286 的字长是 16 位(二进制位 bit),那么它们的寄存器的位数一定是 16 位的; 32 位字长的微机 CPU 是 80386/80486 或者 Pentium 系列,它们的寄存器的位数则是 32 位的。学习汇编语言我们会用到十六进制(H)的数据形式。
在计算机中还规定采用字节、字、双字等单位来表示数据。例如字节是8位二进制树数;字是16位二进制数;双字是32位二进制数,又称双精度数。
8086 寄存器都是 16 位的寄存器,根据用途可分为 4 种类型。分别是数据寄存器、地址寄存器、段寄存器和控制寄存器。(1)数据寄存器中每个寄存器又可以分为 2 个 8 位的寄存器。分别为 AH、AL,BH、BL,CH、CL,DH、DL。H 表示高字节(高 8 位)寄存器、L 表示低字节(低 8 位)寄存器。(2)地址寄存器包括指针和变址寄存器 SP、BP、SI、DI 四个 16 位寄存器。顾名思义,它们可用来存放存储器操作数的偏移地址,另外,它们也可以作为通用寄存器用。(3)8086CPU 有 4 个 16 位的段寄存器,分别是 CS 代码段寄存器、DS 数据段寄存器、ES 附加段寄存器、SS 堆栈段寄存器。(4)控制寄存器包括 IP 和 FLAGS(又称为 PSW 程序状态字)两个 16 位寄存器,用于控制程序的执行。IP 指令指针寄存器,用来存放代码段中的偏移地址,指出当前正在执行指令的下一条指令所在单元的偏移地址。FLAGS 标志寄存器中的某位代表 CPU 的 1 个标志,表示出 CPU 的某种执行状态。最低位为 D0,最高位为 D15。8086CPU 的标志寄存器共有 9 个标志,分别为 6 个条件码标志和 3 个控制标志。
在计算机中,对带符号数可用真值和机器数两个概念表示。 真值,就是带有“+”、“-”号的实际数值;所谓机器数,则是把“+”、“-”符号数值化(0、1)后所得到的计算机实际能表示的数。机器数有三种码表示,分别是原码、反码和补码。汇编语言中,数都是以补码的形式表示的
对存储单元的标识可以用物理地址或逻辑地址表示。 (1)物理地址:物理地址是内存单元的真实地址,存储单元的物理地址是唯一的。(2)逻辑地址是用户编程时使用的地址,分为段地址和偏移地址。逻辑地址的形式:段地址:偏移地址。 物理地址 = 段地址 × 10H + 偏移地址
二.实验报告
实验目的:练习常用的 DOS 命令,熟练掌握 DEBUG 的主要命令的用法,为下一步编程打下基础。
实验环境:(1) DOS 环境:实验环境中安装有 dosemu 可以模拟 DOS 环境,并提供 DEBUG、MASM、LINK 等汇编语言开发程序。(2)进入 DOS 和 DEBUG
实验过程及截图记录: (1)DOS 命令用法
用两种方法在实验楼 Linux 环境中进入 DOS 模拟环境 具体操作如下(1)在桌面上双击 “Xfce 终端” 程序进入 Linux 的命令行终端。在启动的 Xfce 命令行界面中输入dosemu 进入 DOS 环境,退出 DOS 环境,在 DOS 中输入命令exitemu
(2)在桌面上双击 dosemu 图标,直接进入 DOS。
用 DIR 命令查看根目录下的文件
用 CD 命令进入 D 盘子目录,并查看子目录中的文件
(2)DEBUG 命令用法
进入 DEBUG ,用 D 命令查看数据段中 0100H——0200H 单元的内容
用 U 命令查看代码段中 0100H 开始的程序
用 R 命令查看并修改 IP 寄存器的值为 0
用 E 命令修改数据段 5 号、6 号单元的内容为 12 、34
用 A 命令实现 Z = 56 + 41,用 T 命令执行并用 D 命令查看结果
用 U 命令查看刚才用 A 命令输入的汇编指令,它们对应的机器指令是什么?
在实验之前首先瑶要清楚实验所需各个指令的使用方法以及格式。例如在用D指令时查看不同的段有不同的表示方式,本实验查看数据段,就一定不要忘记DS.
A命令的使用一定要把数由十进制转换为十六进制才能正确输入,在用命令查看智之前,一定不要忘记用命令修改IP的值为0100.
三.实验总结
本次实验是学习汇编语言上机的第一个实验,遇到了很多问题并且得到了解决。首先是对于实验的整体思路需要把握好,在进行实验之前,一定要认真了解实验需要储备的基础知识,不能需要什么知识,在回头去看,这样会大大延长所需时间。其次是在汇编语言实验中输入指令时,一定要先注意输入的字符是否是英文字符。最后,本次实验练习常用的 DOS 命令,让我初步了解DEBUG 的主要命令的用法,为下一步编程打下基础。
学习时间 174分钟
操作时间 122分钟
按键次数 2711次
实验次数 9次
报告字数 3326字
是否完成 完成