logo资料库

计算机组成原理实验报告(全部实验).doc

第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
资料共44页,剩余部分请下载后查看
计算机 学院 软件工程 专业 班___组、学号 3111111111 姓名 协作者___________ 教师评定 实验题目 基础汇编语言程序设计 一、实验目的: 1、学习和了解 TEC-XP+教学实验系统监控命令的用法; 2、学习和了解 TEC-XP+教学实验系统的指令系统; 3、学习简单的 TEC-XP+教学实验系统汇编语言程序。 二、实验设备与器材 1、工作良好的 PC 机; 2、TEC-XP+教学实验系统和仿真终端软件 PCEC。 三、实验说明和原理: 实验原理:汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查 看、显示、修改寄存器、存储器等硬件内容。 实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行 使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中 所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录, 实验箱与 PC 端的通讯。 四、实验内容: 1、学习联机使用 TEC-XP+教学实验系统和仿真终端软件 PCEC; 2、学习使用 WINDOWS 界面的串口通讯软件; 3、使用监控程序的 R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命 令修改存储器内容; 4、使用 A 命令编写一小段汇编程序,U 命令反汇编刚输入的程序,用 G 命令连 续运行改程序,用 T、P 命令单步运行并观察程序单步执行的情况。 1
五、实验步骤: 一、实验具体操作步骤: 1、准备一台串口工作良好的 PC 机; 2、将 TEC-XP 放在实验台上,打开实验箱的盖子,确定电源处于断开状态; 3、将黑色电源线一端接 220V 交流电源,另一端插在 TEC--XP 试验箱电源插座 上; 4、取出通讯线,将通信线的 9 芯插头接在试验箱的串口“COM1”或“COM2” 上,另一端接到 PC 机的串口上; 5、将 TEC-XP 实验系统左下方的 6 个黑色控制器开关置为 001100,,控制开关 的功能在开关上、下方有标识;开关拨向上方表示“1”,拨向下方表示“0”,“x” 表示任意,其他实验相同; 6、打开电源,船形开关和 5v 电源指示灯亮。 7、在 PC 机上运行 PCEC16.EXE 文件,直接回车。 8、按一下“RESET”按键,再按一下“START”按键在主机上显示: 二、实验注意事项: 1、连接电源线和通讯前 TEC-XP+实验系统的电源开关一定要处于断开状态,否 则可能会对 TEC-XP+实验系统上的芯片和 PC 机的串口造成伤害; 2、六个黑色控制开关的功能示意图如下: 单步 手动置指令 组合逻辑 联机 8 位 FPGA 连续 从内存读取指令 微程序 脱机 16 位 MACH 上面 下面 2
3、几种常见的工作方式(开关拨到上方表示为 1,拨到下方为 0;) 工作方式 6 个拨动开关 00110 连续运行程序、组合逻辑控制器、联机、16 位机 连续运行程序、微程序控制器、联机、16 位机 00010 单步、手动置指令、组合逻辑控制器、联机、16 位机 11110 11010 单步、手动置指令、微程序控制器、联机、16 位机 16 位机、脱机运算器实验 1XX00 连续运行程序、联机、16 位机、FPGA 00XX101 三、仿真终端软件的操作成功运行 PCEC16.EXE 的界面 四、实验示例: 1.用 R 命令查看寄存器内容或修改寄存器的内容 1)在命令行提示符状态下输入: R↙ ;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。 2)在命令行提示符状态下输入: R R0↙ ;修改寄存器 R0 的内容,被修改的寄存器与所赋值之间可以无 空格,也可由一个或数个空格 主机显示: 寄存器原值:_ 在该提示符下输入新的值 0036 再用 R 命令显示寄存器的内容,则 R0 的内容变为 0036。 测试结果如下图: 3
2.用 D 命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从 2000H 地址开始的连续 128 个字的内容; 连续使用不带参数的 D 命令,起始地址会自动加 128(即 80H)。 测试结果如下图: 3.用命令修改存储器内容 在命令提示符状态下输入: E 2000↙ 屏幕显示: 2000 地址单元的原有内容:光标闪烁等待输入 4
输入 0000 依次改变地址单元 2001~2005 的内容为:1111 2222 3333 4444 5555 注意:用 E 命令连续修改内存单元的值时,每修改完一个,按一下空格 键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出 E 命令。 5.用 A 命令花不如一段汇编源程序,主要是想累加器送入数据和进行运算, 执行程序并观察运行结果。 1)在命令行提示符状态下输入: A 2000↙:表示该程序从 2000H(内存 RAM 区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000:MVRD R0,AAAA ;MVRD 与 R0 之间有且只有一个空格,其他指令相 同 2002:MVRD R1,5555 2004:ADD RO,R1 2005:AND R0,R1 2006:RET ;程序的最后一个语句,必须为 RET 指令 2007:(直接敲回车键,结束 A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新 5
输入正确的指令即可。 2)用 U 命令反汇编刚输入的程序 在命令行提示符状态下输入: U 2000↙ 在相应的地址会得到输入的指令及其操作码 注:连续使用不带参数的 U 命令时,将从上一次反汇编的最后一条语句 之后接着继续反汇编。 3)用 G 命令运行前面键入的源程序 G 2000↙ 程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值, 其中 R0 和 R1 的值均为 5555H,说明程序运行正确。 4)用 P 或 T 命令,但不执行这段程序,观察指令执行结果 在命令行提示符状态下输入: T 2000↙ 寄存器 R0 被赋值为 AAAAH T↙ 寄存器 R1 被赋值为 5555H T↙ 做加法运算,和放在 R0,R0 的值变为 FFFFH T↙ 做与运算,结果放在 R0,R0 的值变为 5555H 用 P 命令执行过程同上 注:T 总是执行单条指令,但执行 P 命令时,则把每一个 CALL 语句连同被 调用的子程序依次执行完成。T,P 命令每次执行后均显示所由通用寄存 器及状态寄存器的内容,并反汇编出下一条将要执行的指令。运行结果 如下: 6
7
【例 1】设计一个程序,从键盘上接收一个字符并在屏幕上显示该字符。 测试如下图: 【例 2】设计一个程序,用次数控制在终端屏幕上输出‘0’到‘9’十个数字符。 测试如下图: 【例 4】计算 1 到 10 的累加和。 测试如下图: 六、思考题: 【例 2】若把 IN 81,SHR R0,JRNC 2028 三个语句换成 3 个 MVRR R0,R0 语句,该程序 执行过程会出现什么现象? 答:改为三个MVRD R0,R0语句后,用G命令运行的结果: 8
分享到:
收藏