范文第二学期《计算机系统平台》实验指导书.docx
- 文档编号:30021387
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:9
- 大小:33.02KB
范文第二学期《计算机系统平台》实验指导书.docx
《范文第二学期《计算机系统平台》实验指导书.docx》由会员分享,可在线阅读,更多相关《范文第二学期《计算机系统平台》实验指导书.docx(9页珍藏版)》请在冰豆网上搜索。
范文第二学期《计算机系统平台》实验指导书
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行汇编语句。
示例如下:
>g2000
2F4B
0010111101001011
>g2000
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机上的一个名字为仿真终端软件实现的。
为此,在系统加电之前,首先把连接两台计算机串行接口的通讯线接上,加电后在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的值。
带参数时,如RR0表示要通过输入新值来修改相应寄存器R0的内容。
(7)显示存储器内容命令D
格式:
D[adr]
功能:
从指定(或默认的)地址开始显示内存128个存储字的内容。
连续的D命令,保证显示内容前后正确的连续关系,即每次执行D命令,会将默认的地址值加上128。
(8)修改存储器内容命令E
格式:
E[adr]
功能:
从指定(或默认的)地址逐字修改每个内存单元的内容,要求用户打入一个新的值,相应内存单元的内容将被修改。
接下来若打入空格键,可以开始修改下一个字,如打入的是回车键,则会结束E命令的执行过程。
使用上述8条命令,就可以完成所期望的操作。
用A命令键入教学计算机的一段汇编源程序,主要是向累加器送入数据和执行运算。
A2000(回车);程序的起始地址选为16进制的2000(即内存RAM区
2000:
MVRDR0,AA;的起始地址),这里的数据均为16进制表示方式
2002:
MVRDR1,55
2004:
ADDR0,R1
2005:
ANDR0,R1
2006:
RET;程序的最后一个语句,必须为RET指令
2007:
(直接敲回车键,结束A命令的输入程序的操作过程)
用G命令运行前面刚输入的程序。
G2000(回车)
程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为55,说明程序运行正确。
当然也可以用P或T命令,逐条地执行这段程序中的指令,每执行一条指令就停下来,以便查看每一条指令的运行结果。
T2000(回车)
(结果从略,自己到实验中去看)
T(回车)
(结果从略,自己到实验中去看)
继续打入T命令,直到程序结束(不能用P、T命令运行程序的最后那条指令RET)。
可以用R命令显示和修改有关寄存器的值,例如:
R不带参数则显示所有通用寄存器的值,状态字的值,下一条待执行指令的内容;
带寄存器名参数时,是修改寄存器内容,例如,RR3命令,回车后首先显示R3的原有内容,打入新值则完成替换。
可以用U命令对刚输入并运行过的程序进行反汇编。
U2000(回车)
(结果从略,自己到实验中去看)
可以用D命令看从内存2000单元开始的这片存储区域中的内容。
D2000(回车);(结果从略,自己到实验中去看)
还可以用E命令向内存储器2100单元开始的一片存储区域键入一些数据,之后再用D命令查看:
示例程序:
例1:
设计一个程序,在屏幕上输出显示一个字符‘6’。
A2000;地址从16进制的2000(内存RAM区的起始地址)开始
2000:
MVRDR0,0036;把字符‘6’的ASCII码送入R0
2002:
OUT80;在屏幕上显示字符‘6’,80为串行接口地址
2003:
RET;每个用户程序都必须用RET指令结束
2004:
(按回车键即结束源程序的输入过程)
例2:
设计一个程序,用次数控制在终端屏幕上输出‘0’到‘9’十个数字符。
A2020
MVRDR2,000A;送入输出字符的个数
MVRDR0,0030;‘0’字符的ASCII码
(2024)OUT80;输出保存在R0低位字节的字符
DECR2;输出字符个数减1
JRZ202E;判全部字符输出完否,已完,则结束程序
PUSHR0;未完,保存R0的值到堆栈中
(2028)IN81;读入串行接口的工作状态
SHRR0;读入的状态字的最低位移入标志位C中
JRNC2028;前一个字符输出完成否?
未完则循环等待
POPR0;已完成,从堆栈恢复R0的值
INCR0;得到下一个要输出的字符
JR2024;转去输出字符
(202E)RET
例3:
从键盘上键入多个属于‘0’到‘9’的数字符并在屏幕上显示,遇非数字符结束程序。
A2040
MVRDR2,0030;用于判数字符的下界值
MVRDR3,0039;用于判数字符的上界值
(2044)IN81;判键盘上是否按了一个键
SHRR0;即串行口是否有了输入的字符
SHRR0
JRNC2044;尚没有输入则循环测试
IN80;把输入字符读到R0低位字节
MVRDR1,00FF
ANDR0,R1;将R0的高位字节清0
CMPR0,R2;判输入的字符<字符‘0’否
JRNC2053;是,则转到程序结束处
CMPR3,R0;判输入的字符>字符‘9’否
JRNC2053;是,则转到程序结束处
OUT80;输出刚输入的数字符
JMPA2044;转去程序前边2044处等待输入下一个字符
(2053)RET
3.指令与系统级模拟软件
这套软件系统用来模拟和仿真教学计算机的运行过程,仿真程序可在PC上运行,所以可以在自己的计算机上完成硬件模拟实验,同时,由于PC比教学计算机具备更完备的输出设备,可直观输出全部寄存器、标志位,甚至是存储单元的内容,方便大家掌握程序运行的全部结果和状态。
要启动并运行指令与系统级模拟软件,可以到PC系统中找到模拟软件所在的目录(C:
\ComputerPlatform_wxy\),双击Tec2ksim的快捷方式,启动Tec2kSim.exe程序,屏幕上将显示模拟器程序的主界面。
(参见教材指导书206页)
选择“文件”->“启动监控程序”,即可看到与PCEC程序类似的提示界面。
接下来便可以在模拟器上进行录入示例程序等操作,使用方法与直接使用教学计算机完全相同。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统平台 范文 第二 学期 计算机系统 平台 实验 指导书