版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验基础汇编语言程序设计精选、实验目的:1、学习和了解TEC-XP16 教学实验系统监控命令的用法。2、学习和了解TEC-XP16 教学实验系统的指令系统。3、学习简单的TEC-XP16 教学实验系统汇编程序设计。、预习要求:1、学习 TEC-XP16 机监控命令的用法。2、学习 TEC-XP16 机的指令系统、汇编程序设计及监控程序中子程序调用。3、学习 TEC-XP16 机的使用,包括开关、指示灯、按键等。4、了解实验内容、实验步骤和要求。三、实验步骤:在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。第一种办法,是使用监控程序的 A命令,逐行输入并直接汇编单条的汇编语句,之后使用G
2、命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。第二种办法, 是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。第三种办法,是使用交叉汇编程序 ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用 ASEC 对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大
3、小的程序。在这里我们只采用第一种方法。在TEC-XP16机终端上调试汇编程序要经过以下几步:1 、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。2、使用监控命令输入程序并调试。 用监控命令 A 输入汇编程序A 或 A 主存地址如:在命令行提示符状态下输入:A 2000 / ;表示该程序从2000H (内存RAM区的起始地址)地址开始屏幕将显示:2000:输入如下形式的程序:2000: MVRD R0,AAAA ; MVRD 与R0之间有且只有一个空格,其他指令相同2002: MVRD R1 , 55552004: ADD R0 , R12005: AND R0 , R12006:
4、 RET ;程序的最后一个语句,必须为 RET 指令2007:(直接敲回车键,结束 A 命令输入程序的操作过程)若输入有误, 系统会给出提示并显示出错地址, 用户只需在该地址重新输入正确的指令即可。 用监控命令U调出输入过的程序并显示在屏幕上U 或 U 主存地址如:在命令行提示符状态下输入:U 2000 /在相应的地址会得到输入的指令及其操作码注意:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。通过这一步进一步检查程序是否有除了语法外的其它错误。通过监控命令G (连续执行)或T/P (单步执行)执行程序G/T/P 或 G/T/P 主存地址如:在命令行提示符状态下
5、输入:G 2000/程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中值均为 5555H ,说明程序运行正确。 修改或显示寄存器或内存值的命令。R、D、E命令的使用1 )用R命令查看寄存器内容或修改寄存器的内容a在命令行提示符状态下输入:R / ;显示寄存器的内容注意: 寄存器的内容在运行程序或执行命令后会发生变化。b在命令行提示符状态下输入:R R0/ ;修改寄存器 R0 的内容,被修改的寄存器与所赋值之间可以无空格R0 和 R1 的,也可有一个或数个空格主机显示 :寄存器原值 :在该提示符下输入新的值 0036再用R命令显示寄存器内容,则 R0的内容变为0036。2)用 D
6、 命令显示存储器内容在命令行提示符状态下输入:D2000 /会显示从2000H地址开始的连续128个字的内容;连续使用不带参数的 D命令,起始地址会自动加 128 (即80H )。3)用E命令修改存储器内容在命令行提示符状态下输入:E 2000/屏幕显示 :2000 地址单元的原有内容 :光标闪烁等待输入输入 0000依次改变地址单元 2001-2005的内容为 :1111 2222 3333 4444 5555注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动四、给出下一个内存单元的值,等待修改;按回车键则退出实验内容:E命令。1 、输入下列各汇编程序段,将结果调试
7、出来,并回答问题。程序 1 :A 2000 /2000: IN 81SHR R0SHR R0JRNC 2000IN 80OUT 80RET注意: 在十六位机中,基本 I/O 接口的地址是确定的,数据口的地址为80,状态口的地址为 81。问题: 该程序段的功能是什么?从键盘上接收一个字符并在屏幕上输出显示该字符程序 2: A 2060 /2060:MVRD R1,0000MVRD R2,00OAMVRD R3,00002066:INC R3ADD R1,R3CMP R3,R2JRNZ 2066RET问题: 该程序段的功能是什么?计算1到10的累加和 如何察看结果?结果是什么?输入 G 2060
8、结果为:R1=0037 R2=OOOA R3=OOOA 请用一字长的指令替换程序中的 MOV R3 , 0 写出该语句。Mov r3 , r1程序 3:用次数控制在终端屏幕上输出0到 9十个数字符。A 2020 /2020:MVRD R2,00OA ;送入输出字符个数MVRD R0,0030 ; “ 0字”符的 ASCII 码送寄存器 R0OUT 80 ;输出保存在 R0 低位字节的字符DEC R2 ;输出字符个数减 1JRZ 202E ;判 10个字符输出完否 ,已完,则转到程序结束处PUSH R0 ;未完,保存 R0 的值到堆栈中2028: IN 81 ;查询接口状态,判字符串行输出完成否
9、SHR R0 ;JRNC 2028 ;未完成 , 则循环等待POP R0 ;已完成 , 准备输出下一字符并从堆栈恢复 R0 的值INC R0 ;得到下一个要输出的字符JR 2024 ;转去输出字符202E: RET五、思考题: 若把IN 81, SHR RO, JRNC 2028 三个语句换成4个MVRR RO , RO语句,该程序执行过程会出现什么现象 ? 试分析并实际执行一次。程序改变这三条语句后,若用 T 命令单条执行,会依次显示 0,9 十个数字。若用 G 命 令运行程序, 由于程序运行速度快, 端口串行输出的速度很慢, 这样新会丢失某些输出的字 行;如,在命令行提示符状态下输入 G
10、2020 命令后,屏幕可能的显示为 059 或 069 ,而 不是023456789全部的10个字符。若要求在终端屏幕上输出A到Z共26个英文字母,应如何修改程序?请验证之。A 21OOMVRD R2,001AMVRD R0,0041OUT80DECR2JRZ210EPUSH R0IN 81SHR R0JRNC 2108POP R0INC R0JR 2104RET 2、试编写程序完成两个双字长的数相加并验证之。3、设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。E 20FO/屏幕将显示:20F0:按下列格式输入
11、:20Fo :4120F1 :4220F2 :4320F3 :4420F4 :4520F5 :452) 在命令行提示符状态下输入A 2080 /屏幕将显示:2080:从地址 2080 开始输入下列程序:(2080)MVD R3 , 06指定技读数据的个数MVD R920指定被读、写数据内存区首地址MVD R8F0(2086)LOD R0使内存中的一个字符到 R0 寄存器MVD RB21指定于程序地址为 2100MVD RA00CALL调用于程序,完成显示、转换并写回的功能DEC R3检查输出的字符个数JZ 2092完成输出则结束程序的执行过程INC R8未完成,修改内存地址JR 2086转移到
12、程序的 2086 处,循环执行规定的处理(2092) RETA 2100输入用到的子程序到内存 2100 开始的存储区OUT 00:输出保存在 R0 寄存器中的字符MVD R120:转换保存在 R0 中的大写字母为小写字母ADD R0B1STO R0;写R0中的字符到内存,地址同 LOD所用的地址(2105)IN 01;测试串行接口是否完成输出过程SHR R0JNC 2105;末完成输出过程则循环试RET:结束子程序执行过程,返回主程序3) 在命令行提示符状态下输入:G 2080 /屏幕显示运行结果为:ABCDEF11 个寄存器内容及状态标志2080MVD R3 ,064) 在命令行提示符状态
13、下输入:D20F0 /20F0 20F5 内存单元的内容为:6l 62 63 64 65 664、设计一个程序在显示器屏幕上循环显示95个(包括空格字符)可打印字符。A20A0 ;从内存的 20A0 单元开始建立用户的第一个程序20A0:MVRDR1,7E ;向寄存器传送立即数20A2:MVRDR0,20 ;20A4:OUT80 ;通过串行接口输出 R0低位字节内容到显示器屏幕 20A5:PUSHRO ;保存RO寄存器的内容到堆栈中20A6:IN81 ;读串行接口的状态寄存器的内容20A7:SHRR0 ; R0寄存器的内容右移一位,最低位的值移入标志位C 20A8:JRNC20A6 ;条件转移指令,当标志位 C不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不忘井冈山精神党史学习
- 2024年事业单位教师招聘言语理解与表达题库附参考答案(综合卷)
- 贵州警察学院《中国文学批评史A》2023-2024学年第一学期期末试卷
- 2023年高质量轿车用深冲钢板项目构思建设方案
- 2024年演出经纪人之演出经纪实务模拟考试试卷(典优)
- 2025年卫生院工作计划范例
- 2025年大学财务部工作计划
- 人力资源工作职责与工作内容范文15篇
- 2024年公务员考试沧源佤族自治县《行政职业能力测验》全真模拟试卷含解析
- Unit 4 Section A (1a-2c)说课稿-2024-2025学年人教新目标八年级英语下册
- 2024年九年级上德育工作总结
- 《组织与胚胎学》课程期末考试复习题库及答案
- (八省联考)河南省2025年高考综合改革适应性演练 化学试卷(含答案)
- 部编版三年级上册道德与法治期末测试卷带答案(巩固)
- 教师个人工作业绩总结范文
- 《中华人民共和国政府采购法》专题培训
- 郑州大学《高等代数》2023-2024学年第一学期期末试卷
- 对银行领导班子的评价意见和建议范文(3篇)
- 如何保护个人手机数据的安全
- 2024医疗设备维修与保养合同
- 第6课 战国时期的社会变革(说课稿)2024-2025学年七年级历史上册同步高效课堂(统编版2024)
评论
0/150
提交评论