计算机组成原理课程设计报告1123998374_第1页
计算机组成原理课程设计报告1123998374_第2页
计算机组成原理课程设计报告1123998374_第3页
计算机组成原理课程设计报告1123998374_第4页
计算机组成原理课程设计报告1123998374_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆

2、艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁

3、膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅

4、莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿

5、膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃

6、蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄膀芀薀蚆羃膆蕿螈腿肂蕿袁羂蒀薈蚀螄莆薇螃肀节薆袅袃膈薅薅肈肄薄蚇袁莃蚃蝿肆艿蚃袁衿膅蚂薁肅肁蚁螃袇葿蚀袆膃莅虿羈羆芁蚈蚈膁膇芅螀羄肃芄袂膀莂莃薂羂芈莂蚄膈膄莁袇羁膀莀罿袃蒈莀虿聿莄荿螁袂芀莈袃肇膆莇薃袀肂蒆蚅肆莁蒅螇袈芇蒄羀肄芃蒄虿羇腿蒃螂膂肅蒂袄羅莄蒁薄薃蚂羃聿莆薈羂膁薁蒄羁莃莄袃羀肃膇蝿罿膅蒂蚅罿芈芅薁羈羇蒁蒇羇肀芄螅肆膂葿蚁肅芄节薇肄羄蒇薃肃膆芀袂肃芈薆螈肂莁莈蚄肁肀薄薀蚇膃莇蒆螇芅薂螅螆羅莅蚁螅肇薀蚇螄艿蒃薂螃莂芆袁螂肁蒂螇螁膄芄蚃螁芆蒀蕿袀羅芃蒅衿肈蒈螄袈膀芁螀袇莂薆蚆袆肂荿薂袅膄薅蒈袅芇莈螆袄羆薃

7、蚂羃聿莆薈羂膁薁蒄羁莃莄袃羀肃膇蝿罿膅蒂蚅罿芈芅薁羈羇蒁蒇羇肀芄螅肆膂葿蚁肅芄节薇肄羄蒇薃肃膆芀袂肃芈薆螈肂莁莈蚄肁肀薄薀蚇膃莇蒆螇芅薂螅螆羅莅蚁螅肇薀蚇螄艿蒃薂螃莂芆袁螂肁蒂螇螁膄芄蚃螁芆蒀蕿袀羅芃蒅衿肈蒈螄袈膀芁螀袇莂薆蚆袆肂荿薂袅膄薅蒈袅芇莈螆袄羆薃蚂羃聿莆薈羂膁薁蒄羁莃莄袃羀肃膇蝿罿膅蒂蚅罿芈芅薁羈羇蒁蒇羇肀芄螅肆膂葿蚁肅芄节薇肄羄蒇薃肃膆芀袂肃芈薆螈肂莁莈蚄肁肀薄薀蚇膃莇蒆螇芅薂螅螆羅莅蚁螅肇薀蚇螄艿蒃薂螃 计算机组成原理课程设计报告16位机微程序控制器指令系统的设计与实现 院(系、部): 小组成员:姓名:班 级: 指导教师签名: 2006 年 1月 15 日北京目 录 题目.1 设

8、计目的.1 设计说明.1 设计内容.1 设计要求.1 分组及任务分配.1 学生应交材料.2 课程设计报告内容.2 进度安排.2 课程设计环境.2 软件设计方案.2 将设计好的微码写入控制存储器.2 在单步方式下,通过指示灯观察各类扩展指令的微码.6 测试扩展指令的程序.7 自评.18 遇到的问题及解决方案.18 附录 附录一 基本指令的执行流程框图 附录二 扩展指令的执行流程框图 附录三 基本指令和扩展指令微程序编码表 附录四 八个控制存储器芯片中各存储单元的内容列表 一、题目16位机微程序控制器指令系统的设计与实现二、设计目的1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;

9、2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;3、学习微程序控制器的设计过程和相关技术。三、设计说明控制器设计是学习计算机总体组成和设计的重要的部分。要在tec2000教学计算机上完成这项设计,必须清楚懂得:1、tec2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大板上的7片gal20v8组成。2、tec2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都是由微程序小板上的7片控制存储器给出的。3、应了解监控程序的a命令只支持基本指令,扩展指令应用e命令将指令代码写入到相应的存储单元中;不能用t、p命令单步调试扩展指令,只能用g命令执

10、行扩展指令。4、 要明白tec2000教学机支持的指令格式及指令执行流程分组情况;理解tec2000教学机中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。5、要明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括: 1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致; 2)划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他

11、节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;3)在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;4)将设计好的微码,装入控制存储器的相应单元;5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。四、设计内容完成微程序控制器指令系统的设计,设计29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。五、设计要求(一)分组及任务分配每组四名同学,任务分配或分工为: 1、设计基本指令的执行流程,画

12、出29条基本指令的执行流程框图和微程序编码表。 2、设计扩展指令的执行流程,画出19条扩展指令的执行流程框图和微程序编码表。 3、确定微码各字段与控制存储器各个芯片之间的关系,列表写出各控制存储器芯片中存储单元的内容,将设计好的微码装入芯片。 4、编写包含所有指令的测试程序,通过运行这些程序检查指令设计是否正确。(二)学生应交材料1、课程设计报告,每组交一份。2、一块自定义指令系统的微程序控制器板。3、课程设计日记,每人交一份。(三)课程设计报告内容1、题目名称及设计内容2、基本指令和扩展指令的执行流程框图3、基本指令和扩展指令的微程序编码表4、测试程序5、自评(从实现的功能上评价及打分)6、

13、遇到的问题及解决方案7、总结(主要从综合应用知识、分析问题、 解决问题方面总结)。 六、进度安排 第19周 周一 上午 课程设计动员周二周五 (1)熟悉汇编及软硬件环境 (2)基本指令设计 (3)扩展指令设计 (4)编写测试程序。第20周 (1)微指令写入芯片,运行周一周四 (2)测试程序,调试指令。 (3)编写课程设计报告。第20周 周五上午 验收和答辩总结。 七、课程设计环境1、硬件环境: pc机一台、tec2000实验机一台、微程序控制器实验板一块。 2、软件环境: (1)win2000、dos (2)tec2000仿真终端程序pcec(3)tec2000监控程序。八、软件设计方案1将设

14、计好的微码写入控制存储器。一次只对一片28c64控制存储器芯片进行读写,该芯片可插在扩展芯片的高位或低位,若插在高位,输入时信号编码为高八位,低八位补零;若插在低位,输入时信号编码为低八位,高位补零。若一次扩展两片28c64控制器芯片,要注意信号要与产生该信号的芯片相对。将扩展新片的内存单元地址置为40005fff,将maprom插入扩展芯片的位置,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和。具体操作如下:e 40004000 00ff:04 00ff:05 00ff:06 00ff:09 00ff:08 00ff:0a 00ff:07 00ff:0b 00ff:0

15、d 00ff:0c 00ff:0e 00ff:0f e 40204020 00ff:50 00ff:51 e 402a402a 00ff:54 00ff:55 00ff: 53 00ff:52 e 40414041 00ff:11e 40444044 00ff:10 00ff:10 00ff:10 00ff:10 e40604060 00ff:5a 00ff: 00ff: 00ff: 00ff:69 00ff:69 e 406c406c 00ff:56 00ff:57 00ff:58 00ff:59e 40804080 00ff:1e 00ff:1b 00ff:12 00ff:19 00ff:

16、15 00ff:15 00ff:12 00ff:17 00ff:1d e 408c408c 00ff:17 00ff: 00ff: 00ff: 23e 40ce40ce 00ff:1f e 40e040e0 00ff:64 e 40e440e4 00ff:5b 00ff:5d 00ff:61 00ff:5fe 40ef40ef 00ff:67 将mprom1mprom7依次插入扩展芯片的位置对其编程,内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和,操作如下:mprom1产生下址,mprom2产生ci30、scc30信号对mprom1-2的操作为:mprom1 在高位 mprom

17、2 在低位e 40004000 00ff:00e0 00ff:00e0 00ff:00e0 00ff:0020 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:303000ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3034 00ff:3030 00ff:1436 00ff:3030 00ff:3030 00ff:1a37 00ff:3030 00ff:1c37 00ff:3030 00ff:00e0 00ff:3030 00ff:00e0 00ff:

18、3030 00ff:1c30 00ff:2430 00ff:00e000ff:00e0 00ff:00e0 00ff:3030 00ff:00e0 00ff:3030 e 40304030 00ff:3a32 00ff:0230 e 403a403a 00ff:31e0 00ff:00e0 00ff:00e0 00ff:00e000ff:00e0 00ff:3130 e 40504050 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff:3030 00ff

19、:3030 00ff:00e0 00ff:1c30 00ff:00e0 00ff:1c30 00ff:00e000ff:1a30 00ff:00e0 00ff:00e0 00ff:3030 00ff:00e0 00ff:00e0 00ff:3030 00ff:00e0 00ff:2330 00ff:3035 00ff:3030 mprom3产生0mrw、0i20信号,mprom4产生sai8i6、sbi5i3信号,对mprom3-4的操作为:mprom3 在高位 mprom4 在低位e 40004000 00ff:4131 00ff:4320 00ff:1010 00ff:4010 00ff:

20、41b8 00ff:41b9 00ff:41bc 00ff:41bb 00ff:41be 00ff:4199 00ff:419c 00ff:44b800ff:4338 00ff:4339 00ff:4378 00ff:4358 00ff:4010 00ff:4530 00ff:4710 00ff:231000ff:3730 00ff:4331 00ff:0010 00ff:4320 00ff:1010 00ff:4318 00ff:0490 00ff:4490 00ff:1738 00ff:4320 00ff:4320 00ff:432000ff:1700 00ff:4331 00ff:022

21、0 00ff:4320 00ff:1730e 40304030 00ff:4700 00ff:4320 e 403a403a 00ff:4010 00ff:4331 00ff:0410 00ff:433100ff:0210 00ff:4730e 40504050 00ff:41b8 00ff:41b9 00ff:433f 00ff:4358 00ff:4378 00ff:4358 00ff:4010 00ff:4010 00ff:4010 00ff:4010 00ff:44b0 00ff:4320 00ff:1710 00ff:4320 00ff:1590 00ff:432000ff:1710

22、 00ff:4320 00ff:1590 00ff:0390 00ff:4331 00ff:0410 00ff:44b0 00ff:4320 00ff:1010 00ff:4010 00ff:4530mprom5产生b口、a口信号,mprom6产生0sst、sshsci信号,对mprom5-6的操作为:mprom5 在高位 mprom6 在低位e 40004000 00ff:5501 00ff:5501 00ff:0000 00ff:0000 00ff:0010 00ff:0011 00ff:0010 00ff:0010 00ff:0010 00ff:0011 00ff:0010 00ff:0

23、00000ff:0011 00ff:0010 00ff:0060 00ff:0050 00ff:0000 00ff:5500 00ff:0000 00ff:000000ff:0000 00ff:4000 00ff:0000 00ff:4401 00ff:0020 00ff:0000 00ff:0000 00ff:0000 00ff:0000 00ff:5501 00ff:5501 00ff:550100ff:0000 00ff:4000 00ff:5500 00ff:4401 00ff:5000e 40304030 00ff:0000 00ff:5501 e 403a403a 00ff:000

24、0 00ff:4000 00ff:0500 00ff:400000ff:0000 00ff:5000 e 40504050 00ff:0012 00ff:0012 00ff:0010 00ff:005c 00ff:0064 00ff:0054 00ff:0030 00ff:0040 00ff:0000 00ff:0000 00ff:5000 00ff:5501 00ff:0000 00ff:5501 00ff:0000 00ff:550100ff:0000 00ff:5501 00ff:0000 00ff:0000 00ff:4000 00ff:0500 00ff:5000 00ff:4401

25、 00ff:0020 00ff:0000 00ff:5500mprom7产生dc2、dc1信号,对mprom7的操作为:e 40004000 00ff:70 00ff:b0 00ff:10 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:02 00ff:32 00ff:0100ff:00 00ff:30 00ff:03 00ff:30 00ff:00 00ff:30 00ff:01 00ff:30 00ff:0

26、0 00ff:30 00ff:30 00ff:3000ff:00 00ff:30 00ff:01 00ff:30 00ff:00e 40304030 00ff:03 00ff:b0 e 403a403a 00ff:70 00ff:30 00ff:51 00ff:3000ff:01 00ff:05 e 40504050 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:00 00ff:60 00ff:70 00ff:00 00ff:30 00ff:30 00ff:30 00ff:30 00ff:3000ff:30 00ff:

27、30 00ff:30 00ff:01 00ff:30 00ff:01 00ff:00 00ff:30 00ff:40 00ff:00 00ff:02九.测试程序:1在单步方式下,通过指示灯观察各类扩展指令的微码。(在此,仅在a组、c组中各列举一条指令为例。)通过验证可知各指令的微码无误。1)选择扩展指令的a组指令中的adc指令,观察其节拍流程(1)置拨动开关sw=00100000 00000000;(表示指令adc)(2)按reset按键;小板指示灯microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其他灯全灭;(3)按start按键;小板指示灯ci30、scc30显示1110 00

28、00,微址和下址的指示灯全灭;(本拍完成公共操作0pc、di#=0)(4)按start按键;小板指示灯ci30、scc30显示1110 0000,微址指示灯显示0000 0001,下址的指示灯全灭;(本拍完成公共操作pcar、pc+1pc)(5)按start按键;小板指示灯ci30、scc30显示1110 0000,微址指示灯显示0000 0010,下址的指示灯全灭;(本拍完成公共操作memir)(6)以上三步为公共操作,其他指令同;(7)按start按键;小板指示灯ci30、scc30显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0101 0000;(本拍完成ma

29、p操作功能)(8)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0101 0000,下址的指示灯显示0011 0000;(本拍完成dr+sr+cfdr操作)(9)按start按键;小板指示灯ci30、scc30显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成strq、cc#=int#操作)(10)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成pcar、pc+1pc操作)2)选择扩展指令的c组指令

30、中的ldra指令,观察其节拍流程置拨动开关sw=11100100 00000000(1)(6)同adc指令(7)按start按键;小板指示灯ci30、scc30显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0101 1011;(8)按start按键;小板指示灯ci30、scc30显示1110 0000,微址指示灯显示0101 1011,下址的指示灯显示0000 0000;(本拍完成pcar、pc+1pc操作)(9)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0101 1100,下址的指示灯显示0001 1100;(本拍完成m

31、emar操作)(10)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0001 1100,下址的指示灯显示0011 0000;(本拍完成memdr操作)(11)按start按键;小板指示灯ci30、scc30显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成strq操作)(12)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成pcar、pc+1pc操作)3)选择扩展指令的d组指令中的iret指令,观察

32、其节拍流程置拨动开关sw=11101111 00000000(1)(6)同adc指令(7)按start按键;小板指示灯ci30、scc30显示0010 0000,微址指示灯显示0000 0011,下址的指示灯显示0110 0111;(8)按start按键;小板指示灯ci30、scc30显示1110 0000,微址指示灯显示0110 0111,下址的指示灯显示0000 0000;(本拍完成spar、sp+1sp操作)(9)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0110 1000,下址的指示灯显示0010 0011;(本拍完成memflag操作)(1

33、0)按start按键;小板指示灯ci30、scc30显示1110 0000,微址指示灯显示0010 0011,下址的指示灯显示0000 0000;(本拍完成spar、sp+1sp操作)(11)按start按键;小板指示灯ci30、scc30显示0011 0000,微址指示灯显示0010 0100,下址的指示灯显示0011 0000;(本拍完成mempc操作)(12)按start按键;小板指示灯ci30、scc30显示0011 0010,微址指示灯显示0011 0000,下址的指示灯显示0011 1010;(本拍完成strq操作)(13)按start按键;小板指示灯ci30、scc30显示001

34、1 0000,微址指示灯显示0011 0001,下址的指示灯显示0000 0010;(本拍完成pcar、pc+1pc操作)4)选择基本指令的a组指令中的add指令,观察其节拍流程(1)置拨动开关sw=00000000 00000001;(表示指令add r0,r1)(2)按reset按键;小板指示灯microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭; (3)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0000 ;下址的指示灯显示 0000 0000 ;(本拍完成公共操作0pc、di#=0)(4)按start按键;小

35、板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0001 ,下址的指示灯显示 1110 0000 ;(本拍完成公共操作pcar、pc+1pc)(5)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0010 ,下址的指示灯显示 1110 0000 ;(本拍完成公共操作memir)(6)以上三步为公共操作,其它指令同;(7)按start按键;小板指示灯ci30、scc30显示 0010 0000 ,微址指示灯显示 0000 0011 ,下址的指示灯显示 0000 0100 ;(本拍完成map操作功能)(8)按s

36、tart按键;小板指示灯ci30、scc30显示 0011 0000 ,微址指示灯显示 0000 0100 ,下址的指示灯显示 0011 0000 ;(本拍执行add指令,drdr+sr操作)(9)按start按键;小板指示灯ci30、scc30显示 0011 0010 ,微址指示灯显示 0011 0000 ,下址的指示灯显示 0011 0000 ;(本拍完成strq、cc#=int#公共操作功能)(10)按start按键;小板指示灯ci30、scc30显示 0011 0000 ,微址指示灯显示 0011 0001 ,下址的指示灯显示 0000 0010 ;(本拍完成pcar、pc+1pc、c

37、c#=0的公共操作功能)5)选择基本指令的d组指令中的cala指令,观察其节拍流程(1)置拨动开关sw= 1100 1110 0000 0000 ;(表示指令cala)(2)按reset按键;小板指示灯microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;(3)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0000 ,下址的指示灯显示 0000 0000 ;(4)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0001 ,下址的指示灯显示 0000 0000 ;(5

38、)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0000 0010 ,下址的指示灯显示 0000 0000 ;(6)以上三步为公共操作,其它指令同。(7)按start按键;小板指示灯ci30、scc30显示 0010 0000 ,微址指示灯显示 0000 0011 ,下址的指示灯显示 0001 1111 ;(8)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0001 1111 ,下址的指示灯显示 0000 0000 ;(本拍完成pcar、pc+lpc操作)(9)按start按键;小板指示灯ci30、sc

39、c30显示 1110 0000 ,微址指示灯显示 0010 0000 ,下址的指示灯显示 0000 0000 ;(本拍完成memq操作)(10)按start按键;小板指示灯ci30、scc30显示 1110 0000 ,微址指示灯显示 0010 0001 ,下址的指示灯显示 0000 0000 ;(本拍完成sp-1sp、pcar操作)(11)按start按键;小板指示灯ci30、scc30显示 0011 0000 ,微址指示灯显示 0010 0010 ,下址的指示灯显示 0011 0000 ;(本拍完成pcmem、qpc、cc#=o操作)(12)按start按键;小板指示灯ci30、scc30

40、显示 0011 0010 ,微址指示灯显示 0011 0000 ,下址的指示灯显示 0011 0000 ;(本拍完成strq、cc#=int#操作)(13)按start按键;小板指示灯ci30、scc30显示 0011 0000 ,微址指示灯显示 0011 0001 ,下址的指示灯显示 0000 0010 ;(本拍完成pcar、pc+lpc、cc#=0操作)。2.测试基本指令的程序:(1)验证指令mvrd,mvrr,add,sub,xor,or,ret.运行结果:r0=0064(r1+r0r0);r1=0023;r3=fff7(r3-r2r3);r6=0070(r6与r7相异或);r7=fff

41、7(r7与r3相异或)(2)验证指令in,out,shr, and,cmp,jrc, jrnc,jmpa功能:从键盘输入09个数字,遇到09个字符外后跳出程序。(3)测试inc,jrnz的程序功能:计算1到10的累加和。(4)测试dec,jrz,push,pop,jr功能:用次数控制在终端屏幕上输出0到9是个数字符(5)测试strr,ldrr,cala 功能:读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。3测试扩展指令的程序:1)验证ei、di和iret指令的程序a 21042104:jr 21202105:ret ;跳转到中断服务程序a 21082108

42、:jr 21302109:ret ;跳转到中断服务程序 a 210c210c:jr 2140 210d:ret ;跳转到中断服务程序a 21202120:push r0 ;r0进栈2121:push r3 ;r3进栈2122:mvrd r3,31 ;将字符1的ascii码送寄存器r32124:jr 2150 2125:reta 21302130:push r02131:push r32132:mvrd r3,32 ;将字符2的ascii码送寄存器r32134:jr 2150 ; 无条件跳转2135:reta 21402140:push r02141:push r32142:mvrd r3,33

43、 ;将字符3的ascii码送寄存器r32144:jr 2150;2145:ret2150:*di ;关中断 e 21502150:内存单元原值:6f00 a 21512151:mvrd r0,0042 ;将字符“b”赋值给r0,b即begin的缩写。2153:cala 2200 ;调用子程序,完成显示2155:mvrd r0,0049 ;将字符“i”赋值给r0,i即interrupt的缩写。2157:cala 2200 ;调用子程序,完成显示2159:mvrr r0,r3 ;将r3的内容送r0215a:cala 2200 ;调用子程序,完成显示215c:in 81 ;判键盘上是否按了一个键21

44、5d:shr r0 ;即串口是否有了输入字符215e:shr r0215f:jrnc 215c ;若没有,等待2160:in 80 ;输入字符到r02161:mvrd r0,0045 ;将字符“e”赋值给r0,e即end2163:cala 2200 ;调用子程序,完成显示 2165:mvrd r0,0049 ;将字符“i”赋值给r0,i即interrupt的缩写2167:cala 2200 ;调用子程序,完成显示2169:mvrr r0,r3 ;将r3的内容送r0216a:cala 2200 ;调用子程序,完成显示216c:pop r3 ;r3出栈216d:pop r0 ;r0出栈216e:*

45、iret ;中断返回 e 216e216e:内存单元原值:ef00a 22002200:push r0 ;r0进栈2201:in 81 ;查询接口状态,判字符输出完成否2202:shr r02203:jrnc 2201 ;未完,循环等待2204:pop r0 ;r0出栈2205:out 80 ;输出r0的值2206:ret;a 20002000:*ei ;开中断 e 20002000:内存单元原值:6e00a 20012001:mvrd r0,0036 ;将字符6的ascii码送寄存器r02003:cala 2200 ;输出该字符2005:mvrd r0,4000 ;延时子程序2007:dec

46、 r02008:jrnc 20072009:jr 2001 ;跳到2001循环执行该程序200a:retg 2000注:本程序执行时只可执行一次中断,然后中断关闭;如果将2000的内存单元原值置为6f00,则从开始中断即为关闭;如果将2150和2000的内存单元原值都置为6e00,则中断一直都是开着的,可一直实现中断。(di:6f00;ei:6e00;iret:ef00)2)验证指令adc、sbb、rcl、rcr、asr、not、clc、stc、calr、ldra、stra的程序。(1)adc 与clca 20002000:mvrd r0,0100 ;给r0赋值01002002:mvrd r1

47、,1001 ;给r1赋值10012004:e 20042004:内存单元原值:6c00 ;进位c置为0 e 20052005:内存单元原值:2001 ;r0+r1+cr0a 20062006:ret ;程序结束2007:用g命令运行前面刚键入的源程序,在命令提示符状态下输入:g 2000运行结果为:r0=1101 r1=1001(说明:如果2004改为6d00,则进位c为1,r0为1102)(2)sbb 与stca 20002000:mvrd r0,0011 ;给r0赋值00112002:mvrd r1,1011 ;给r1赋值1011e 20042004:内存单元原值:2110 ;r1-r0-cr1 or r1-r0+/cr1e 2005.2005:内存单元原值:6d00 ;进位c置为1 a 20062006:ret ;程序结束2007:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论