欢迎来到天天文库
浏览记录
ID:21859881
大小:18.62 KB
页数:10页
时间:2018-10-25
《计算机组成原理实验1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一基础汇编语言程序设计一、实验目的:1、学习和了解TEC-XP16教学实验系统监控命令的用法。2、学习和了解TEC-XP16教学实验系统的指令系统。3、学习简单的TEC-XP16教学实验系统汇编程序设计。二、预习要求:1、学习TEC-XP16机监控命令的用法。2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。4、了解实验内容、实验步骤和要求。三、实验步骤:在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。第一种办法,是使用监控程序的A命令,逐行输入并直
2、接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指
3、令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。在这里我们只采用第一种方法。在TEC-XP16机终端上调试汇编程序要经过以下几步:1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。2、使用监控命令输入程序并调试。⑴用监控命令A输入汇编程序>A或>A主存地址如:在命令行提示符状态下输入:A2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始屏幕将显示:2000:输入如下形式的程序:2000:MVRDR0,AAAA;MVRD与R0之间有且只有一个空格,其他指令相同2002:MVRDR
4、1,55552004:ADDR0,R12005:ANDR0,R12006:RET;程序的最后一个语句,必须为RET指令2007:(直接敲回车键,结束A命令输入程序的操作过程)若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。⑵用监控命令U调出输入过的程序并显示在屏幕上>U或>U主存地址如:在命令行提示符状态下输入:U2000↙在相应的地址会得到输入的指令及其操作码注意:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。通过这一步进一步检查程序是否有除了语法外的其它错误。⑶通过监控命令G
5、(连续执行)或T/P(单步执行)执行程序>G/T/P或>G/T/P主存地址如:在命令行提示符状态下输入:G2000↙程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。⑷修改或显示寄存器或内存值的命令。R、D、E命令的使用1)用R命令查看寄存器内容或修改寄存器的内容a.在命令行提示符状态下输入:R↙;显示寄存器的内容注意:寄存器的内容在运行程序或执行命令后会发生变化。b.在命令行提示符状态下输入:RR0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空
6、格主机显示:寄存器原值:_在该提示符下输入新的值0036再用R命令显示寄存器内容,则R0的内容变为0036。2)用D命令显示存储器内容在命令行提示符状态下输入:D2000↙会显示从2000H地址开始的连续128个字的内容;连续使用不带参数的D命令,起始地址会自动加128(即80H)。3)用E命令修改存储器内容在命令行提示符状态下输入:E2000↙屏幕显示:2000地址单元的原有内容:光标闪烁等待输入输入0000依次改变地址单元2001-2005的内容为:11112222333344445555注意:用E命令连续修改内存单元的值时,每修改完一个,
7、按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。四、实验内容:1、输入下列各汇编程序段,将结果调试出来,并回答问题。程序1:A2000↙2000:IN81SHRR0SHRR0JRNC2000IN80OUT80RET注意:在十六位机中,基本I/O接口的地址是确定的,数据口的地址为80,状态口的地址为81。问题:⑴该程序段的功能是什么?从键盘上接收一个字符并在屏幕上输出显示该字符程序2:>A2060↙2060:MVRDR1,0000MVRDR2,00OAMVRDR3,00002066:INCR3ADDR1,R3CMP
8、R3,R2JRNZ2066RET问题:⑴该程序段的功能是什么?计算1到10的累加和⑵如何察看结果?结果是什么?输入G2060结果为:R1=0037R2
此文档下载收益归作者所有