实验一基础汇编语言程序设计

更新时间:2023-11-16 13:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中国海洋大学计算机科学与技术系

实验报告

姓名:张钦贤年级: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

本文来源:https://www.bwwdw.com/article/usdv.html

Top