1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 本科实验课程报告 ( 至 第 1 学期) 课程名称: 计算机组成原理 专业名称: 计算机科学与技术 行政班级: 1410081 学 号: 姓 名: 黄梦阳 指导教师: 李玉玲 报告时间: 年 12 月
2、 4 日 实验地点 08A502 起止时间 /10/15—— /12/3 序号 实验项目 学时数 实验属性 内容与要求 1 认识实验 2 验证性 1.熟悉实验所用教学机的基本结构和联机软件的使用方法; 2.练习常见监控命令。 2 存储器实验 2 验证性 1.验证半导体存储器RAM的读写特性; 2.对存储器进行扩展, 并理解EEPROM的读写特性。 3 运算器实验 4 验证性 1.深入了解AM2901运算器的功能; 2.分析各种运算指令的功能和实现过程, 熟悉运算器的基本结构。 4 微程序 控制
3、器实验 4 验证性 1.分析多种指令的执行流程, 进一步理解微程序控制器的组成结构, 理解水平型微指令各字段的作用。 2.经过测试扩展指令的功能进一步认识微程序控制器的灵活性。 5 查询方式 实验 2 验证性 经过查询方式的程序设计进一步熟悉查询方式的数据传送过程和软件实现的方法。 6 中断方式 实验 2 验证性 经过中断方式的主程序和服务子程序的分析和运行, 进一步理解中断方式的工作原理; 学习和掌握中断产生、 中断响应和中断处理的相关技术。 《计算机组成原理》实验教学大纲 实验一: 实
4、验地点: 实验日期: 成绩: 1、 实验目的 ( 1) 熟悉硬软件环境 ( 2) 学习和了解TEC-XP教学实验系统监控命令的用法 ( 3) 了解TEC-XP教学实验系统的指令系统 2、 实验要求 使用教学机前, 熟悉TEC-XP教学机的各个组成部分及使用方法 3、 实验原理 ( 1) TEC-XP 教学机的面板结构: 控制部件主要由运算部件 ALU、 控制部件— —组合逻辑控制器和微程序处理器、 存储部件——ROM 和 RAM、 控制存储器等芯片构成。 (
5、2) 工作模式选择00010或00110 , 00010更稳定: 连续运行程序、 采用微程序控制器、 联机、 16 位机。 ( 3) 教学机的监控命令格式及含义: 汇编命令 A[adr]: 输入单条指令, 并将汇编之后的机器代码存入相应的内存单元中。有错误提示, 但功能并不完善; 反汇编命令 U[adr]: 从指定或默认地址开始反汇编 15 条指令, 并将结果显示处理; 执行程序命令 G[adr]: 从指定或默认地址开始连续运行一个用户程序; 单条指令执行命令T[adr], P[adr]: 从命令指定或 PC 指定地址开始单条执行; 指令显示/修改寄存器内容命
6、令R[reg]: 当 R 命令不带参数时只是显示所有寄存器的内容; 当 R 命令带参数时显示指定寄存器的内容, 并可修改其值; 显示存储器内容命令 D[adr]: 从指定或默认地址开始显示内存 128 个存储字的内容; 修改存储器内容命令 E[adr]: 从指定或默认地址开始逐字显示每个内存字的内容并等待用户键入一个新值存回该单元, 用空格切换各个单元, 用回车结束 E 命令的执行。 4、 实验步骤 1.完成教学机与PC机的联机操作 2.练习常见的TEC-XP教学机监控命令 ( 1) R命令 R; R R0; ( 2) D命令显示存储内容 D 2
7、00 ( 3) E命令修改存储器内容 E 3.输入给定的汇编程序, 单步跟踪执行 A : MVRD R0, AAAA ;MVRD 与 R0 之间有一个空格, 其它同 : MVRD R1, 5555 : ADD R0, R1 : AND R0, R1 : RET ↙ ;程序的最后一个语句, 必须为 RET 指令 : ↙ 5、 实验结果及总结 ( 1) 实验结果: 用反汇编命令 U ↙ 查看存储成功, 并逐步跟踪执行得出正确结果, 即R0 5555 。 ( 2) 总结: 输入的汇编程序能够用反汇编命令查看, 此时语
8、言为易接受语言。 实验二: 实验地点: 实验日期: 成绩: 1、 实验目的 ( 1) 了解计算机中半导体存储器 RAM和 E2PROM 的功能和区别; ( 2) 理解并掌握半导体存储器芯片的扩展和验证方式。 2、 实验要求 实验前先复习存储器字、 位扩展的方法, 并熟悉所做实验的内容。 3、 实验原理 ( 1) 随机存储器 RAM 的读写特性是: 在不断电的情况下, CPU 能够对该存储器的任何单
9、元进行随机读写操作, 其中内容能够长期保存; 但该存储器是易失性的存储器, 一旦断电, 其中数据均被清空。本实验要在监控状态下, 分别使用不同的监控命令对该 RAM 存储芯片的读写特性进行验证。 由于是联机测试, 需要将 TEC-XP 的功能开关先置为 00110。 ( 2) 扩展用的 E2PROM 芯片, 其读操作和 RAM 一样, 而其写操作, 由于要先擦除信息再写入, 因此需要一定的延迟时间, 大约为 1 毫秒。在对 E2PROM 进行写操作时, 应加入一段延时子程序的调用, 以完成正确的读写。 4、 实验步骤 1. TEC-XP 教学机现有 RAM 存储区的读写特
10、性验证 ( 1) 检查 FPGA 下方的插针按下列要求短接 标有” /MWR”” RD”的插针左边两个短接; 标有” /MRD”” GND”的插针右边两个短接; 标有” ROMLCS”和” RAMLCS”的插针短接。 ( 2) 使用 E 命令修改 RAM 中某存储单元的值 在命令行提示符状态下输入: E 2020↙ 屏幕将显示: 2020 内存单元原值: 按如下形式输入: 2020 原值: 2222( 空格) 原值: 3333( 空格) 原值: 4444( 空格) 原值: 5555↙ 注意: E 命令之后的地址应为 ~25FFH 之间的某一个
11、单元。 ( 3) 使用 D 命令查看所修改单元的内容 D 2020↙ 这里查看到的数据, 应与上一步中输入的数据一致。 ( 4) 断电后重新启动教学机, 使用 D 命令再次查看所修改单元的内容 D 2020↙ 这里发现原来置入到这几个内存单元的值已经改变。因此, 用户使用 RAM 时, 必须在 每次断电重启后, 重新写入所需要的数据。 ( 5) 使用 A 命令输入一段指令序列 A ↙ 按如下形式输入: : MVRD R0, AAAA : MVRD R1, 5555 : AND R0, R1 : RET : ↙ 这里, 对 RAM
12、 使用 A 命令写入连续的指令不会出错。 ( 6) 单步方式执行以上指令序列, 观察结果 T ↙ R0 的值变为 AAAAH, 其余寄存器的值不变。 T↙ R1 的值变为 5555H, 其余寄存器的值不变。 T↙ R0 的值变为 0000H, 其余寄存器的值不变。 ( 7) 教学机断电重启后, 以上数据依然会丢失 2. 扩展容量的读写特性验证 ( 1) 用 E 修改扩展单元的内容, 并用 D 查看结果 假定第 2 步中的扩展连接采用的是默认地址 4000H~5FFFH, 使用 E 命令修改该地址范围内的某几个单元, 再用 D 命令查看数据的修改情况。 将
13、教学机断电后重新启动, 再次查看以上修改单元的值, 分析原因。 ( 2) 控制程序 实验使用的 E2PROM 芯片不能直接用 A 命令输入程序, 单字节的指令可能会写进去, 双字节指令的低位会出错( 建议试一试例如: A 5000: mvrd r0,aaaa,该指令是否写进 5000 开始的地址, 需要 U 命令验证) 。因此, 能够将程序放到 RAM( 6116) 中, 使用程序读写扩展空间 5000H~500FH 单元。 从 H 单元开始输入主程序: ( ) MVRD R0, 0030 MVRD R2, 0010 ; R2 记录循环次数 MVRD R3
14、 5000 ; R3 的内容为 16 位内存地址 ( ) STRR [R3], R0 ; 将 R0 寄存器的内容放到 R3 给出的内存单元中 CALA 2200 ; 调用程序地址为 2200 的延时子程序 INC R0 ; R0 加 1 INC R3 ; R3 加 1 DEC R2 ; R2 减 1 JRNZ ; R2 不为 0 跳转到 H RET ( 3) 延时子程序 从 2200H 单元开始输入延时子程序: ( 2200) PUSH R3 MVRD R3, 0001 ( 2203) DEC R3 JRNZ 2203 PO
15、P R3 RET ( 4) 运行程序, 查看结果 在命令提示符下输入: G ↙, 运行主程序。使用 D 命令查看 5000H~500FH 单元中的数据. 5、 实验结果及总结 在扩展容量的读写特征验证中, 第( 3) 步中的第二行代码: 由于时间设定不够, 数据会写丢, 因此将0001改为1000, 方可保存到单元中。 经过这次实验, 我们了解了存储器的基本功能, 掌握了数据的存储过程, 熟悉理解了存储器的组成和控制。 实验三:
16、 实验地点: 实验日期: 成绩: 1、 实验目的 ( 1) 深入了解 AM2901 运算器的功能与具体用法; ( 2) 深化运算器部件的组成、 设计、 控制与使用等知识。 2、 实验要求 ( 1) 实验前, 认真了解 AM2901 运算器的基本结构, 预习所需实验的内容, 并在课前填写实验步骤表格, 对于实验数据和实验结果进行预期性的分析, 以提高实验效率; ( 2) 实验过程中, 要按正确流程操作, 防止损坏设备, 分析可能遇到的各种现象, 判断结果是否正
17、确, 记录运行结果。 ( 3) 实验之后, 认真写出实验报告, 包括对遇到的各种现象的分析, 实验步骤和实验结果。 3、 实验原理 控制信号表: 4、 实验步骤 ( 1) 实验方式设置 将 TEC-XP 教学机左下方的 5 个功能开关设置为 1**00( 单步、 16 位、 脱机) ; 先按一下” RESET”按键, 再按一下” START”按键, 进行初始化。 ( 2) 逐条指令执行, 并核对结果完成初始化后, 请按顺序控制运算器执行每条指令, 每条指令执行时请记录按 START前和按 START 后两个时刻的状态, 若与预期结果不同, 请查找问题并
18、思考原因。 5、 实验结果及总结 运算 I8-0 SST SSH SCI B A 按START前 按START后 ALU输出 SVZC ALU输出 SVZC MVRD R0, 0101 000 00 00 0000 不用 0101 随机 0101 随机 MVRD R1, 1010 000 00 00 0001 不用 1010 随机 1010 随机 ADD R0, R1 001 00 00 0000 0001 1111 随机 2121 0000 SUB R0,
19、 R1 001 00 01 0000 0001 0101 0000 F0F1 0001 SUB R1, R0 001 00 01 0001 0000 0F0F 0001 0E0E 0001 OR R0, R1 001 00 00 0001 0000 0F0F 0001 0F0F 0001 AND R0, R1 001 00 00 0000 0001 0F0F 0001 0F0F 0001 XOR R0, R1 001 00 00 0000 0001 0000 0001 0000
20、 0001 ¬(R0R1)->R0 001 00 00 0000 0001 F0F0 0001 E1E0 1001 2*R0->R0 001 00 00 0000 不用 F0F0 1001 FEFE 1000 R0/2->R0 001 00 00 0000 不用 FDFC 1000 70F0 1000 运算 I8-0 SST SSH SCI B A 按START前 按START后 ALU输出 SVZC ALU输出 SVZC MVRD R0, 0101 0
21、00 00 00 0000 不用 0101 随机 0101 随机 MVRD R1, 1010 000 00 00 0001 不用 1010 随机 1010 随机 MVRD R2, 0110 000 00 00 0010 不用 0110 随机 0110 随机 SUB R0, R1 001 00 01 0000 0001 F0F1 随机 E0E1 1000 ADD R2, R1 001 00 00 0010 0001 1120 1000 2130 0000 SHL R1 001
22、 00 00 0001 不用 1010 0000 2020 0000 SHL R0 001 00 00 0000 不用 F0F1 0000 7878 1000 ADC R0, R1 001 00 10 0000 0001 9898 1000 C8C8 1100 SBB R0, R1 001 00 10 0000 0001 7878 1100 5857 0101 MVRD R4, 0 000 00 00 0100 不用 0000 0101 0000 0101 TEST RO,R4
23、 001 00 00 0000 0100 0000 0101 0000 0101 经过实验掌握了运算器工作原理, 熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法, 了解了进位对算术与逻辑运算结果的影响 实验四: 实验地点: 实验日期: 成绩: 1、 实验目的 ( 1) 深入理解微程序控制器的功能和组成结构; ( 2) 学习教学计算机各类指令的指令格式、 寻
24、址方式及执行流程; ( 3) 学习微程序控制器的设计过程和相关技术。 2、 实验要求 ( 1) 实验之前, 认真准备, 对于该实验的基本原理、 微指令格式、 以及相关机器指令的微程序等内容预先做好分析和设计; ( 2) 实验过程中, 应认真进行实验操作, 仔细思考实验有关内容, 把难点内容经过实验理解清楚, 争取最好的实验效果; ( 3) 实验之后, 应认真思考, 写出实验总结, 包括实验中遇到的主要问题和分析、 解决方法。 3、 实验原理 TEC-XP 教学机的微指令共 48 位, 由 16 位的下址字段和 32 位的操作控制字段形成, 其格式如图 4-3 所
25、示。 ( 1) 下址字段 a) 8 位的微下址 用于给出下一条将要执行的微指令的地址。微程序顺序执行, 即把已增 1 后的微指令地址作为下地址 b) 4 位的测试控制码 CI3~0 用于决定微程序中的微指令寻址方式( 顺序寻址、 跳跃寻址) 。本实验中只使用到0000( 初始化, 使微下址=0) 、 0010( 指令功能分支, 做 MAPROM 映射) 、 0011 ( 条件转移, 由 SCC 决定是否转移) 、 1110( 顺序寻址, 将当前微地址加 1 作为微下址) 这四个命令码。 c) 4 位的转移条件编码 SCC3~0 当 CI3~0=0011 时, 由这四位编码
26、决定转移判断测试的条件, 若选中条件满足, 则使用微下址寻址下一条微指令, 否则做顺序寻址, 同 CI3~0=1110 ( 2) 操作控制字段 a) MIQ、 REQ、 WE 这 3 位控制信号用于对存储器或 I/O 接口进行读写操作时的控制。具体定义如附录 表 4-3 所示。 b) I8-I6、 I5-I3、 I2-I0、 A 口和 B 口、 SST2-0: 具体定义参考实验二。 c) SSH、 SCI1-0: 本实验中控制方式如附录表 4-3 所示。 d) DC1 用于选择把哪一组数据发送到 CPU 的内部总线( IB) 上。 在微指令执行过程中, 若不
27、使用内部总线, 则一般将其设置为 000, 可认为是无效状态。 e) DC2 用于控制数据接收及相关的内部功能。 4、 实验步骤 ( 1) 设定工作方式 接通 TEC-XP 教学机的电源, 将功能开关拨为 11010, 即设为单步、 手动执行指令, 使用微程序控制器, 联机操作。 ( 2) 验证 A 组基本指令——加法指令 ADD R0,R1 的微程序 根据如下所示的 ADD 指令格式, 可得到指令 ADD R0 , R1 的机器代码为 0001, 其中高 8 位为 ADD 指令的操作码( 详见代码表 4-1) , 接下来的两个 4 位分别对应 R0 和 R1 寄存器。
28、 先按下 RESET 按键, 复位系统, 然后经过 16 位的数据开关 SW 拨入指令代码, 再按下 RESET 按键, 此时指示灯 Microp 亮, 其它灯全灭。 注意: 在本实验中, 选择的是微程序控制器, Microp 指示灯会一直点亮。在完成以上设置后, 接下来每次按下 START 按键, 控制器就会执行一条微指令, 请在实验前看懂以下微指令, 在实验中验证每条微指令, 并记录每条微指令执行时微地址、 微下址指示灯的状态。 ( 3) 验证 B 组基本指令——传送指令 MVRD R0,D 的微程序 指令 MVRD 是将立即数传送到指定寄存器的数据传送类指令, 该指令
29、是双字长双操作数指令。其指令格式如下所示, 则指令 MVRD R0 , D 的机器代码的高 16 位为 0000, 其中高 8 位为 MVRD 指令的操作码( 详见代码表 4-1) , 接下来的 4 位对应目的寄存器 R0。本次实验中, 只是验证指令的微程序, 至于该指令所传送的数据 D 可采用存储单元中的随机值。 先按下 RESET 按键, 复位系统, 然后经过 16 位的数据开关 SW 拨入指令代码, 再按下 RESET 按键, 此时指示灯 Microp 亮, 其它灯全灭。在完成以上设置后, 接下来每次按下 START 按键, 控制器就会执行一条微指令, 请在实验前看懂以下微
30、指令, 在实验中验证每条微指令。 5、 实验结果及总结 表4-6 加法指令ADD R0 , R1的微程序 表4-6 传送指令MVRD R0 , D的微程序 微程序控制器组成中的核心成分是控制存储器(CM), 由ROM器件实现, 用于存储按一定规则组织好的全部的控制信号。 微程序控制器的工作原理: 是依据读来的机器指令的操作码找到与之对应的一段微程序的入口地址, 并按由指令具体功能所确定的次序, 逐条从控制存储器中读出微指令, 以”驱动”计算机各功能部件正确运行。 微程序控制的基本思想, 就是仿照一般的解题程序的方法, 把操作控制信号编成所谓的”微指令”, 存放
31、到一个只读存储器里.当机器运行时, 一条又一条地读出这些微指令, 从而产生全机所需要的各种操作控制信号, 使相应部件执行所规定的操作。 微程序控制器同组合逻辑控制器相比较,具有规整性,灵活性,可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用.在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术 。 实验五: 实验地点: 实验日期: 成绩: 1、 实验目的 ( 1)
32、熟悉和理解查询方式的数据传送过程; ( 2) 学习 TEC-XP 教学实验系统汇编程序设计方法。 2、 实验要求 使用教学机前, 熟悉查询方式的数据传送原理和 TEC-XP 教学机的指令系统。 3、 实验原理 本次实验是将 PC 的键盘和显示器作为 TEC-XP 教学机的外设, 采用程序查询方式进行数据的输入输出操作。 ( 1) TEC-XP 教学机串口的状态寄存器: TEC-XP 教学机是经过串口( 可编程串行接口 8251A) 与 PC 连接的, 在联机操作中, PC 机对教学机的访问是经过对其数据端口和控制状态端口来完成的。 TEC-XP 教学机的COM1
33、口( 左侧) 的数据端口地址为 80H, 控制与状态口地址为 81H; COM2( 右侧) 的数据端口地址为 82H, 控制与状态口地址为 83H。TEC-XP 教学机的状态字格式如下所示。 其中, TxRDY 为发送就绪位( 1——就绪; 0——未就绪) , RxRDY 为接收就绪位( 1——就绪; 0——未就绪) 。 注意: 当教学机与 PC 要传送数据时, 必须先查询相应的收发状态位。 ( 2) 程序查询方式的数据传送 程序查询方式的数据传送的基本过程是: CPU 传送数据之前先检查外设的状态, 若没有准备好, 则继续查询等待, 直至外设就绪即进行数据
34、传送。 在 TEC-XP 教学机上, 所要查询的是与 PC 连接的 TEC-XP 的串口状态字。由于本实验室中的 TEC-XP 教学机所用的都是串口 1, 则其状态端口地址均为 81。 a.TEC-XP 教学机接收输入数据时 当 TEC-XP 教学机需要从键盘上接收输入数据时, 需要检测所读状态字的次低位 RXRDY状态。由于读入数据的前提是键盘按键被按下, 因此执行 IN 80 指令( 从串口 1 的数据端口中读取数据) 时, 必须确认输入数据已到达接口中。因此, IN 80 指令总是需要查询等待至 RXRDY 状态位就绪才可执行。 b.TEC-XP 教学机输出显示数据时
35、 当 TEC-XP 教学机需要向显示器上输出显示数据时, 需要检测所读状态字的最低位TXRDY 状态。若单个数据输出时, 可直接使用 OUT 80 指令, 从串口 1 的数据端口中输出数据, 因此, 可不必进行状态检测。但若要连续输出多个数据时, 为保证每一个数据输出的都能被显示器接收到, 则必须要查询等待TXRDY 状态位就绪才可执行 OUT 80 指令, 以免后一个数据将前一个还没来得及输出的数据覆盖, 而导致数据丢失。 4、 实验步骤 ( 1) 完成 TEC-XP 教学机与 PC 机的联机操作 汇编实验中的程序执行控制由组合逻辑控制器实现, 因此, 功能开关状态设定为 001
36、10。 ( 2) 输入给定的汇编程序, 连续执行, 并观察结果 以下程序段完成功能为: 采用程序查询方式, 从 PC 机的键盘接收一个字符至 TEC-XP教学机, 并将接收到的字符输出显示至 PC 机的屏幕上。 : IN 81 ;从串行接口的状态端口读入状态字, 保存于 R0 的低 8 位 : SHR R0 : SHR R0 ;将状态字的次低位 RXRDY 移出至标志位 C 上 : JRNC ;若接收未就绪, 即 C=0, 则跳转( 查询等待) : IN 80 ;若接收就需, 即 C=1, 则读入输入的字符至 R0 的低 8 位 : OUT 8
37、0 ;将读入字符输出至 PC 机的屏幕显示 : RET ↙ : ↙ ( 3) 试将以上程序段中的 OUT 80 指令删除, 连续执行程序, 观察与之前结果的区别。 ( 4) 试编写完成以下功能的汇编程序, 并在 TEC-XP 上运行成功。 设计一个循环程序, 将内存 2080H 起始的 10 个字符依次显示到屏幕上, 并将其转化为小写字母再写回原存储区域。要求: 使用子程序完成大小写字母的转换。 5、 实验结果及总结 实验六:
38、 实验地点: 实验日期: 成绩: 1、 实验目的 ( 1) 加深理解计算机系统中断工作的原理及处理过程。 ( 2) 学习和掌握中断产生、 中断响应、 中断处理等技术。 2、 实验要求 ( 1) 实验前做好预习, 理解 TEC-XP 教学机的中断实现原理; ( 2) 熟悉 TEC-XP 教学机的指令系统, 能够编写完成中断功能的汇编程序。 3、 实验原理 TEC-XP 教学机中提供给用的外部中断源有三个, 由教学机面板右下角的三个无锁按键作为其硬件中断源, 从右
39、到左依次简称为 P1、 P2、 P3 中断源。 TEC-XP 在响应这三个中断源的中断请求时, 采用的是向量地址转移法, 即中断源的请求可经过硬件电路产生一个向量地址, 在该地址中存放一条转移指令, 执行该指令即可转入对应的中断服务程序。P1、 P2、 P3 的中断向量地址由 TEC-XP 的内部结构确定, 分别为 2420H、 2430H 和 2440H, 用户中断使用时, 应在对应地址中写入转移指令, 从而转向用户自定义的中断服务程序。 4、 实验步骤 ( 1) 该显示子程序保存于 2200H 单元, 代码如下: 2200: PUSH R0 ; 保护待显示字符所在的寄存器
40、 R0 2201: IN 81 ; 查询接口状态, 判断字符输出是否完成 2202: SHR R0 2203: JRNC 2201 ; 未完成, 则循环等待 2204: POP R0 ; 显示完成, 则恢复寄存器, R0 出栈 2205: OUT 80 ; 输出 R0 的值 2206: RET ( 2) P1 中断服务程序段入口为 2420H, 代码如下: 2450: *EI ; 开中断( 指令编码: 6E00) 2451: MVRD R0 , 42 ; 将字符” B”赋值给 R0, B 即 Begin 的缩写。 2453: CALA 2200 ; 调用子程序
41、 完成显示 2455: MVRD R0 , 49 ; 将字符” I”赋值给 R0, Interrupt 的缩写。 2457: CALA 2200 ; 调用子程序, 完成显示 2459: MVRR R0 , R3 ; 将要显示的字符——R3 的内容送 R0 245A: CALA 2200 ; 调用子程序, 完成显示 245C: IN 81 ; 判键盘上是否按了一个键 245D: SHR R0 ; 即串口是否有输入字符 245E: SHR R0 245F: JRNC 245C ; 若没有, 等待 2460: IN 80 ; 输入字符到 R0, 实际读入该字符没有用处 246
42、1: MVRD R0 , 0045 ; 将字符” E”赋值给 R0, E 即 End 的缩写。 2463: CALA 2200 ; 调用子程序, 完成显示 2465: MVRD R0 , 0049 ; 将字符” I”赋值给 R0, Interrupt 的缩写。 2467: CALA 2200 ; 调用子程序, 完成显示 2469: MVRR R0 , R3 ; 将 R3 的内容送 R0 246A: CALA 2200 ; 调用子程序, 完成显示 246C: POP R3 ; R3 出栈 246D: POP R0 ; R0 出栈 246E: *IRET ; 中断返回( 指
43、令编码: EF00) ( 3) 2404: JR 2420 ; 跳转到一级中断服务程序 2408: JR 2430 ; 跳转到二级中断服务程序 240C: JR 2440 ; 跳转到三级中断服务程序 ( 4) : *EI : MVRD R0 , 0036 ; 将字符‘ 6’的 ASCII 码送寄存器 R0 : CALA 2200 ; 输出该字符 : MVRD R0 , 4000 ; 延时子程序 : DEC R0 : JRNZ : JR ; 跳到 循环执行该程序 200A: RET ( 5) 在监控状态命令行, 使用 G 命令执行主程
44、序, 具体命令如下: G ↙ 1) 无中断请求在没有任何中断请求时, 主程序运行结果是: 在屏幕上连续显示字符” 6”。 2) 单级中断 主程序运行过程中, 按下 P1 按键, 则进入 P1 的中断服务程序, 屏幕上会中断字符” 6”的显示, 显示字符串” BI1”, 然后等待按键, 屏幕上状态无变化。键入任一按键, 屏幕上显示字符串” EI1”, 返回中断, 继续执行主程序, 循环显示字符” 6”。再次提交 P2、 P3 的中断请求, 查看结果。 3) 中断嵌套 主程序运行过程中, 按下 P1 按键, 则进入 P1 的中断服务程序, 屏幕上会中断字符” 6”的显示, 显示字
45、符串” BI1”, 然后等待按键, 屏幕上状态无变化。 此时, 按下 P2 按键, 则中断 P1 的服务程序, 执行 P2 的中断服务程序, 屏幕上显示字符串” BI2”, 等待按键。再按下 P3 按键, 再次发生中断嵌套, 屏幕上显示字符串” BI3”, 等待按键。 ( 6) 尝试修改主程序和中断服务程序代码, 主程序等待中断时循环显示字符” M”, 各级中断服务程序只循环显示 16 个字符” 1、 2、 3”即产生中断返回。 2450: *EI ; 开中断( 指令编码: 6E00) 2451: MVRD R2 , 10 ; 2453: MVRR R0 , R3 ;
46、 2454: CALA 2200 ; 2456: IN 81 ; 2457: SHR R0; 2458: SHR R0; 2459: JRNC 2456; 245D: DEC R2 ; 245E: JRNZ 2453; 245F: POP R3 ; 2460: POP R0 ; 2461: *IRET; ( 指令编码: EF00) 5、 实验结果及总结 指导教师评语 指导教师(签字): 年 月 日 实验 成绩 优秀 良好 中等 及格 不及格 ( 注: 学生成绩要有汇总表)






