ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:330.82KB ,
资源ID:3913951      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3913951.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机原理实验报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机原理实验报告.docx

1、计算机原理实验报告计算机科学系实验报告(首页)课程名称: 计算机组成原理 实验名称:基础汇编语言程序设计一、实验目的:1学习和了解TEC-2000十六位机监控命令的用法:2学习和了解TEC-2000十六位机的指令系统;3学习简单的TEC2000十六位机汇编程序设计;二、实验内容:1使用监控程序的R命令显示修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;2使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T命令单步运行并观察程序单步执行情况;三、实验要求在使用该教学机之前,应先熟悉其的各个组成部分,及使用方法。四、程序设计【例1】设计一个小程序,在屏幕上

2、输出显示字符6。A 2000 ;地址从16进制2000(内存RAM区的起始地址)开始2000:MVRD R0,0036 ;把字符6的ASCII码送入R02002:OUT 80 ;在屏幕上输出显示字符6,80为串行接口地址2003:RET ;每个用户程序都必须用RET指令结束2004: ;(按回车键即结束输入过程)这就建立了一个从主存2000h地址开始的小程序。在这种方式下,所有的数字都约定使用16进制数,故数字后不用跟字符h,每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是选用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束,才能保证程序运行结束时能正确返

3、回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。【例2】设计一个小程序,用次数控制在终端屏幕上输出0到9十个数字符A 20202020 MVRD R2,000A ;送入输出字符个数 MVRD R0,0030 ;“0”字符的ASCII码送寄存器R0 OUT 80 ;输出保存在R0低位字节的字符 DEC R2 ;输出字符个数减1 JRZ 202E ;判10个字符输出完否,已完,则转到程序结束处 PUSH R0 ;未完,保存肋的值到堆栈中2028 IN 81 ;查询接口状态,判字符串行输出完成否, SHR R0 JRNC 2028 ;未完成,则循环等待POP R0 ;已完成,准备输出下一

4、字符并从堆栈恢复R0的值 INC R0 ;得到下一个要输出的字符 JR 2024 ;转去输出字符202E RET这个程序只使用基本汇编语句。理解中的一个难点,是程序当中判串行口是否完成一个字符的输出过程并循环等待的三个汇编语句。具体解释见有关串行接口讲解部分的内容。该程序的执行码放在2020起始的连续内存区中。若送入源码的过程中有错,系统会进行提示,等待重新打入正确汇编语句。在输入过程中,在应打入语句的位置直接打回车则结束输入过程。接下来可用G 2020命令运行该程序。【例3】从键盘上连续打入多个属于0到9的数字符并在屏幕上显示,遇非数字符结束输入过程。 A 20402040 MVRD R2,

5、0030 ;用于判数字符的下界值 MVRD R3,003A ;用于判数字符的上界值2044 IN 81 ;判键盘上是否按了一个键, SHR R0 ;即串行口是否有了输入的字符 SHR R0 JRNC 2044 ;没有输入则循环测试 IN 80 ;输入字符到R0 MVRD R1,00FF AND R0,R1 ;清零R0的高位字节内容 CMP R0,R2 ;判输入字符字符0否 JRNC 2053 ;为否,则转到程序结束处 CMP R0,R3 ;判输入字符字符g否 JRC 2053 ;为否,则转到程序结束处 OUT 80 ;输出刚输入的数字符 JMPA 2044 ;转去程序前边2044处等待输入下一

6、个字符2053 RET思考题:本程序中为何不必判断串行口输出完成否?设计打入AZ和09的程序,遇其它字符结束输入过程。【例4】计算1到10的累加和。A 20602060 MVRD R1,0000 ;置累加和的初值为0 MVRD R2,000A ;最大的加数 MVRD R3,00002066 INC R3 ;得到下一个参加累加的数 ADD R1,R3 ;累加计算CMP R3,R2 ;判是否累加完 JRNZ 2066 ;未完,开始下一轮累加 RET运行过后,可以用R命令看R1中的累加结果。【例5】设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写

7、字母后再写回存储器原存储区域。E 20FO(送入将被显示的6个字符A,F到内存20F0开始的存储区域中)0041 0042 0043 0044 0045 0046A 20802080 MVRD R3,0006 ;指定被读数据的个数 MVRD R2,20F0 ;指定被读,写数据内存区首地址2084 LDRR R0,R2 ;读内存中的一个字符到R0寄存器 CALA 2100 ;调用于程序,完成显示。转换并写回的功能 DEC R3 ;检查输出的字符个数 JRZ 208B ;完成输出则结束程序的执行过程 INC R2 ;未完成,修改内存地址 JR 2084 ;转移到程序的2086处,循环执行规定的处理

8、208B RETA 2100 ;输入用到的于程序到内存2100开始的存储区2100 OUT 80 ;输出保存在R0寄存器中的字符 MVRD R1,0020 ADD R0,R1 ;将保存在R0中的大写字母转换为小写字母 STRR R2,R0 ;写R0中的字符到内存,地址同LOD所用的地址2105 IN 81 ;测试串行接口是否完成输出过程 SHR R0 JRNC 2105 ;未完成输出过程则循环测试RET ;结束子程序执行过程,返回主程序运行过程中,可以直接看到屏幕上显示的内容,运行过后,再用D 20F0命令看内存的20F0区域中保存的运行结果: 0061 0062 0063 0064 0065 00665运行结果。6.实验体会通过本次实验,发现基础语言比较简单,比较容易理解,但是我还是掌握的不好。以后有机会再深究。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1