【范文】-第二学期《计算机系统平台》实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-2014第二学期《计算机系统平台》实验指导书
实验2 监控程序与汇编程序设计
一、实验目的
利用教学计算机的指令系统和所提供的汇编语言功能,学习监控程序使用和完成汇编语言程序设计的教学实验,初步掌握汇编程序设计和调试技术,并为学习计算机整机系统和各个部件的组成与功能打下一定的基础。
二、实验内容
1. 熟悉教学实验机TEC-2008的组成结构和使用方法
1)打开教学实验机的盖子,观察面板上的组成结构,找到运算器、存储器、控制器所在位置。
2)将教学实验机通过串口线连接到实验室的PC上,熟悉RESET和START键的使用,使得实验机与PC能够正常通讯。
3)进入教学计算机的PC仿真终端,练习采用PC作为教学机的终端完成数据的输入及显示。
4)启动并运行Tec2ksim模拟软件,启动监控程序,并练习录入示例程序及运行程序,观察结果,熟练TEC-2000模拟器的使用方法。
2. 输入并运行实验指导书中给出的程序例子,并理解程序的含义(210页~212页)
3. 完成如下汇编程序设计题目
用教学机的指令系统,设计一个程序,实现从键盘读入无符号的十六进制整型数据,到计算机内转换成16位二进制数并保存在一个寄存器中,再把这个字中的每一个二进制位的值输出到计算机的显示器屏幕上。要求有适当的检查各种操作错误的能力,例如,输入的必须是4位十六进制的数字符,就是’0’-‘9’和’A’-‘F’;内部转换结果必须是正确的;输出的必定是16个二进制位的值,不能有丢失的情况出现。整个程序约60-80行汇编语句。
示例如下:
>g 2000
2F4B
0010111101001011
>g 2000
1A28
0001101000101000
问题分解:
1) 从键盘输入一个4位的十进制的数据,要求程序能够只接收
‘0’~‘9’和’A’-‘F’范围内的键盘输入,如果正确则将字符显示在屏幕上,如果输入其他字符则没反应。直到输入四位数字之后,程序自动退出。
例如:敲’0’后,屏幕显示0;敲‘x’,屏幕没变化;继续敲‘C’‘3’‘7’,屏幕显示‘0C37’,然后结束。
2) 设计程序,将某个寄存器的值以16个二进制位的形式显示在屏幕上。
例如,当前想要显示的寄存器的内容为“2F7B”,那么,运行你设计的程序之后,屏幕上输出“0010111101111011”
3)在1)的基础上,将输入的4位十六进制数字字符转换为其对应的值保存在某寄存器中。(提示,如输入2F4B后,保存到寄存器R1中,此时查看R1中的值应为2F4B)
三、实验要求
1. 观察实验内容中每个步骤操作的结果,并全程记录。
2. 完成实验报告的撰写,包括:实验目的、实验内容及步骤、实验结果、心得体会等部分。
四、实验指导
1.教学计算机的实际组成和运行
教学计算机由完整的硬件(运算器, 控制器, 存储器, 输入/ 输出接口和PC机仿真终端) 和软件(监控程序, PC机仿真终端程序, 交叉汇编程序) 两个子系统组成。
教学机与PC机通过各自的串行接口相互连接在一起。教学机是主机,在本身的监控程序控制下运行自己的机器码程序,PC机以仿真终端方式作为教学机的输入输出设备,是通过运行PC机上的一个名字为
/doc/cb96ae3e561252d380eb6ed6.html 仿真终端软件实现的。
为此,在系统加电之前,首先把连接两台计算机串行接口的通讯线接上,加电后在PC机上运行PCEC 程序,几次回车后就进入仿真终端状态;
教学机正确设置功能开关的状态并加电,按RESET按钮后再按START 按钮,PC机屏幕上将出现教学机版权信息和监控命令提示符>,至此完成了系统启动过程,接下来可以使用监控命令运行教学计算机。
2.监控程序提供的操作命令
TEC-2008教学计算机的操作与使用方法,主要指通过由监控程序提供的监控命令控制教学计算机的运行功能。教学计算机处于正常运行状态时,它通过串行接口和PC机仿真终端相连接,通过常用的A、D 等监控命令可以进行联机操作。这些监控命令,实现类似于PC机DOS 系统下的Debug程序的功能,包括A、U、G、T、P、R、D、E共8条命令,其格式为一个英文字母(大小写随意)表示的命令名、一个空格(可有可无)跟命令参数,下面分别介绍。
(1)单条汇编命令A
格式:A [adr]
这里的[adr] 表示此处的地址参数adr为任选项,由4位十六进制的数组成(下同),无此参数时,系统将取默认值。
功能:完成单条指令的汇编操作,把产生出来的教学计算机的执行代码放入对应的内存单元中。命令名后的地址将是头一条汇编语句的执行码的内存单元地址。每条语句汇编完成之后,系统将相应修改地址值,以便正确处理下条汇编语句。在应该输入汇编语句位置不给出汇编语句而直接回车,则结束A命令的运行过程。
(2)反汇编命令U
格式:U [adr]
功能:每次从指定的(或默认的)地址反汇编15条指令,并将结果显示在终端屏幕上。反汇编完成之后,已将该命令的默认地址修改好。接下
来键入不带参数的U命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。
(3)执行程序命令G
格式:G [adr]
功能:从指定的(或默认的)地址连续地运行一个用户程序。为了使程序执行后能返回监控程序,要求每个用户程序的最后一条指令一定为RET指令。
(4)、(5)单指令执行程序命令T和P
格式:T [adr] 或P [adr]
功能:从指定的(或PC中的当前地址)开始,单条指令方式执行用户程序。通常情况下,每按一次T 或P将执行一条指令。它们的区别是,T 总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。
(6)显示/修改寄存器内容命令R
格式:R [寄存器名]
功能:不带参数时,是显示全部寄存器及状态寄存器的值,并反汇编当前PC所指的一条指令,其中状态的显示格式为:“F=8位二进制数”,其各位的值分别对应于C、Z、V、S,P1、P0、0、0的值。带参数时,如R R0表示要通过输入新值来修改相应寄存器R0的内容。