中国海洋大学计算机科学与技术系
实验报告
姓名:张钦贤年级:2015级 专业:计算机科学与技术
科目:计算机组成原理题目:基础汇编语言程序设计学号:15020031106
一、实验目的:
1、学习和了解 TEC-XP16 教学实验系统监控命令的用法; 2、学习和了解 TEC-XP16 教学实验系统的指令系统; 3、学习简单的 TEC-XP16 教学实验系统汇编程序设计;
二、实验内容:
1、学习联机使用 TEC-XP16 教学实验系统和仿真终端软件 PCEC. 2、学习使用 WINDOWS 界面的串口通讯软件。
3、使用监控程序的 R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令 修改存储器内容;
4、使用 A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用 G 命令连续运行
该程序,用 T、P 命令单步运行并观察程序单步执行情况;
三、实验过程及程序运行结果:
1、设计一个小程序, 从键盘上接收一个字符并在屏幕上输出显示该字符。
运行结果:执行该程序光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。 2、设计一个小程序, 用次数控制在终端屏幕上输出'0'到'9'十个数字符。 运行结果:用“ G”命令运行该程序,屏幕上依次显示'0'到'9'十个数字符。
3、从键盘上连续打入多个属于‘ 0’到‘ 9’的数字符并在屏幕上显示, 遇到非数字字
符结束输入过程。
运行结果:运行程序后,光标闪烁等待键盘输入,若输入 0-9 十个数字符,则在屏幕上
回显;若输入非数字符,则屏幕不再显示该字符,出现命令提示符,等待新命令。 4、计算 1 到 10 的累加和。
运行结果:运行过后, 可以用 R 命令观察累加器的内容。R1的内容为累加和。结果为:
1
R1=0037,R2=000A,R3=000A。
四、实验思考题解答:
1、若把程序1中的 IN 81, SHR R0, JRNC 2028 三个语句换成4个MVRR R0,R0 语句, 该程序执行过程会出现什么现象? 试分析并实际执行一次。
答:该程序改变这三条语句后,若用 T 命令单条执行,会依次显示 0~9 十个数字。若 用 G 命令运行程序,程序执行速度快,端口输出速度慢,这样就会跳跃输出。
2、程序3为什么不必判别串行口输出完成否? 设计打入'A'~'Z'和'0'~'9'的程序, 遇到其它字符结束输入过程。
答:由于本程序是输入一个字符输出一个字符,不是连续输出,串行口的输出速度完全可以跟上输入速度,故不用判别。
程序要求的汇编程序如下: 2080:MVRD R2,0030;'0'的ASCII码 2082:MVRD R3,0039;'9'的ASCII码 2084:MVRD R6,0041;'A'的ASCII码 2086:MVRD R7,005A;'Z'的ASCII码 2088:IN 81 2089:SHR R0 208A:SHR R0 208B:JRNC 2088 208C:IN 80 208D:MVRD R0,00FF 208F:AND R0,R1
2090:CMP R0,R2;判断输入字符≥‘0’ 2091:JRNC 209A;否,退出
2092:SMP R7,R0;判断输入字符≤‘Z’ 2093:JRNC 209A;否,退出
2094:CMP R3,R0;判断输入字符≤‘9’ 2095:JRC 2095 ;是,输出
2096:CMP R0,R6;判断输入字符≥‘A’
2
2097:JRNC 209A;否,退出 2098:OUT 80 2099:JMPA 2088 209A:RET
五、实验心得:
通过本次实验,我了解了TEC-XP16 教学实验系统监控命令的用法,学习了它的指令系统,并设计了简单的汇编程序。明白了为什么要判断串行口输出是否完成,初步了解了TEC-XP16 教学实验系统的使用方法,对课堂上学习的理论知识理解地更加深刻了,对计算机组成原理的学习也越来越感兴趣。
3

