实验一、实验箱介绍与DEBUG简单使用
一、实验目的
1)了解实验箱的构成
2)掌握模型机的结构框图
3)学会DEBUG的简单使用
二、实验内容
1.实验箱介绍
图1-1 计算机组成原理实验箱
图1-1给出了实验箱的结构图,构成部分均在实验箱的印刷电路板上标注,如:ALU Uint(算逻单元)、Input Device Unit(输入单元)、Switch Unit(控制开关单元)、Bus Unit(总线单元)……,同学们要结合计算机的组成原理,确定运算器、控制器、存储器、输入设备、输出设备等在实验箱中的位置。
2.模型机的框图
图1-2 模型机框图
图1-2给出了计算机模型机的框图,同学们在做实验时,要体会实验中数据的流向,以便对整机有一个完整的认识。
3.DEBUG的简单使用
DEBUG须在DOS环境下运行。具体操作可以在Windows操作系统的“开始”菜单的“运行”对话框中输入“CMD”(命令command)如图1-3所示。
图1-3 Windows的运行窗口
Windows的“DOS”模式,如图1-4所示。
图1-4 Windows下的“DOS”模式
输入命令DEBUG(调试),见图1-5.
图1-5 DEBUG调试窗口
DEBUG命令是在“-”下,由键盘键入的。每条命令以单字母命令符开头,然后是命令的操作参数,操作参数与命令符之间用空格隔开,操作参数与操作参数之间用空格或逗号隔开,命令的结束符是回车键。命令及参数的输入可以是大小写的结合。Ctrl+Break键可中止命令的执行。Ctrl+Num Lock键可暂停屏幕卷动,按任一键继续。所用数均为十六进制数,不用加H。
有关DEBUG中的D(显示)、R(寄存器)、U(反汇编)、G(执行)和Q(退出)等命令已在前面讲过了。下面介绍本实验用到的DEBUG的命令:
(1)A-汇编,用于输入汇编语言源程序
(2)g-运行,运行用A命令编写的汇编语言程序
(3)e-编辑,用于修改计算机内存中存储单位的数据
(4)d-显示,用于显示计算机内存中存储单位的数据
(5)q-退出,用于退出DEBUG的状态,到DOS提示符下。
(1) 汇编命令A
格式:A[起始地址] 注:缺省时是以CS:100为起始地址,CS即Code Segment是代码段。如图1-6从地址0100H开始汇编,图中的代码段是13C5H。
如图1-6 从缺省的地址100H开始汇编
功能:键入A命令后显示段基址和段内偏移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令,顺序存放到段地址和段内偏移所指定的内存区域,直到显示下一地址时用户直接键入回车键返回到提示符“-”。
现在输入段小程序(注意:在提示符“-”下输入的数据为16进制的)
mov al,12
mov bl,34
add al,bl
见图1-7,DEBUG下输入的一段小程序,注意最后行只按下回车符。
图1-7 DEBUG下A命令输入一段小程序
执行此段小程序如下:
(2)执行g命令~参见图1-8.
图1-8 执行指令命(g)窗口
执行语句:从100~102(只执行1条指令) g=100 102
执行语句:从100~104(执行2条指令) g=100 104
执行语句:从100~106(执行3条指令) g=100 106
CPU内的寄存器AX,高8位是AH,低8位是AL,同样BH寄存器高8位是BH,低8位是BL。以上三条指令执行后,各寄存器的值分别是:AL为12H; BL为34H; AL为12H;
(3)退出DEBUG的q命令
在‘-’提示符下,q命令为退出DEBUG调试状态。
4.程序样例
在DEBUG下输入下面程序,程序中的h是十六进制(hexadecimal),CPU内AX是16位的寄存器,ah是高8位的寄存器,al是低8位的寄存器,同理BX类似。实验要求:
1)将程序送入到100h内存单元中;
2)将数据12h,34h送入1000h单元中;
3)逐条执行指令,记录指令序号;
4)记录1002h单元的值。
注:下划线部分是用户输入
- A
xxxx:100Mov al,[1000];将内存单元1000H(DEBUG下的数据均是十六进制)送ax寄存器的低8位。
xxxx:103Mov bl,[1001] ;将内存单元1001H的数据送bx寄存器的低八位。
xxxx:107Add al,bl ;将寄存器al与寄存器bl相加,结果送al
xxxx:109Jmp 010d;跳转到地址10dH处继续执行指令
xxxx:10BNop;空操作指令
xxxx:10CNop
xxxx:10DMov [1002],al;将寄存器al的值送到内存地址1002H。
xxxx:110hlt