资源描述
实验一 TEC-XP汇编语言程序设计(1)设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。 A 2000 输入如下形式的程序: 2000: IN 81 2001: SHR R0 2002: SHR R0 2003: JRNC 2000 2004: IN 80 2005: OUT 80 2006: RET 2007: (2)设计一个小程序,用次数控制在终端显示器屏幕上输出0到9十个数字符。提示:假设用R2存储字符个数,R0放第一个字符“0”,输出一个字符则R2减1,完成输出后R0加1 ,以准备下一个字符。A 2020 2020 : MVRD R2 , 0A MVRD R0 , 302024 : OUT 80 DEC R2 JRZ , 202E PUSH R02028 : IN 812029 : SHR R0202A : JRNC 2028 POP R0 INC R0 jr 2024202E : RET202F: (3)从键盘上连续打入多个属于0到9的数字符并在屏幕上显示,遇到非数字字符结束输入过程。验证:本程序中是否需要判别串行口输出完成否?为什么?A 2040 2000 : MVRD R2 , 30 2002 : MVRD R3 , 39 2004 : IN 81 ;判断键盘上是否按了一个键 2005 : SHR R0 2006 : SHR R0 2007 : JRNC 2004 ;没有输入则循环测试 2008 : IN 80 ;输入字符放入R0的低8位2009 : MVRD R1 , 00FF 200B : AND R0 , R1 ;清空R0的高八位200C : CMP R0 , R2 ;输入字符=0 200D : JRNC 2013 ;否则,转到结束处 200E : CMP R3 , R0 ;输入字符=9 2010 : JRNC 2013 ;否则,转到结束处 2011 : OUT 80 ;输出字符2012 : JMPA 2004 2013 : RET(4)计算1到10的累加和。 A 2060 2060:MVRD R1,0000 ;存放累加和 MVRD R2, 000A ;最大加数 MVRD R3,0000 2066:INC R3 ADD R1,R3 CMP R3,R2 JRNZ 2066 RET(5)设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。提示:假设被显示字符AF,需先用E命令将其送入到内存20F0H开始的存储区域中。程序地址2080H,子程序完成转换为小写字母的功能,程序地址2100H。第一步:1. 将被显示的6个字符A-F送入到内存20F0H开始的存储区中。E 20F0依次输入A-F的ASCII码2. A 2080 2080:MVRD R3,0006 ;指定读数据的个数 MVRD R2,20F0;读写区域的首地址2084:LDRR R0,R2 ;读内存的第一个字符到R0寄存器 CALL 2100 ;调用子程序完成显示、转换等功能 DEC R3 JRZ 208B ;循环结束时 INC R2 JR 2084208B: RET 3.从2100H开始输入下列程序: 2100:OUT 80 ;输出保存在R0中的字符 MVRD R1,0020 ADD R0,R1 ;将大写字母转换为小写字母 STRR R2,R0 ;写R0中的字符到内存 2105: IN 81 SHR R0 JRNC 2105 RET;第二步:1. G 2080 显示 ABCDEF2. D 20F0 20F0H-20F5H内存单元的内容为:0061 0062 0063 0064 0065 0066
展开阅读全文