课程设计说明书
组成原理课程设计
题目: 基本模型机
院 系: 专业班级: 学 号: 学生姓名: 指导教师:
2013年 月 日
安徽理工大学课程设计(论文)任务书
2013年 11月 28日
安徽理工大学课程设计(论文)成绩评定表
摘要
本CPTH计算机组成原理实验仪,可以由用户自己设计指令/微指令系统, “指令流水实验”就是利用另一套指令/微指令系统来实现指令的流水工作。这样可以在现有的指令系统上进行扩充,加上一些较常用的指令,也可重新设计一套完全不同的指令/微指令系统。CPTH 内已经内嵌了一个智能化汇编语言编译器,可以对设定的汇编助记符进行汇编。
本次实验需要利用自己编写的计算机指令系统实现计算机基本模型机的功能
关键词: 计算机 组成原理 微指令 基本模型机
目录
1实验系统分析 ................................................................................................ 1
1.1 DJ-CPTH简介 ............................................................................................................... 1 1.2实验目的 ...................................................................................................................... 2 1.3实验要求 ...................................................................................................................... 2 1.4实验流程 ...................................................................................................................... 3 1.5实验原理 ...................................................................................................................... 4
2系统设计 ........................................................................................................ 6
2.1 指令系统助记符设计 ................................................................................................. 6
3系统实现 ...................................................................................................... 13
3.1 功能实现 ................................................................................................................... 13
4总结 .............................................................................................................. 16
4.1 设计体会 ................................................................................................................... 16 4.2 系统改进 ................................................................................................................... 16
参考文献 ......................................................................................................... 18
1实验系统分析
1.1 DJ-CPTH简介
DJ-CPTH型计算机组成原理实验系统,是由江苏启东市东疆计算机有限公司结合国内同类产品的优点,最新研制开发的超强型实验计算机装置。该系统采用单片机管理和EDA控制技术,自带键盘和液晶显示器,支持脱机和联PC机两种工作模式,运用系统监控和数码管等实时监视,全面动态管理模型机的运行和内部资源。模型机软硬件配置完整,支持8位字长的多种寻址方式,指令丰富,系统支持RS-232C串行通讯,并配有以win98/2000/XP为操作平台的动态跟踪集成调试软件,示教效果极佳,特别适用于计算机组成原理课程的教学与实验。
CPTH计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展单元、总线接口区、微动开关/指示灯、逻辑笔、脉冲源、管理单片机、24个按键、字符式LCD、RS232。如图:
1.2实验目的
1.在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机。
2.用微程序控制器来控制模型机的数据通道。
3.通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机(输入、输出、运算、存储系统)的概念。
1.3实验要求
实验前,做好实验预习,学会用基本机器指令编写程序。实验过程中,要认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
1在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。 2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。 3.利用新构建的指令系统编程,分别实现带进位的循环右移功能。
1.4实验流程
1.5实验原理
系统实现基本功能外,还要实现循环进位右移功能。 1其进位循环右移原理如下:
右移一次后,默认前端补零
右移二次后,判断进位标志为一,则将此数加80H,实现进位右移
2不带进位循环右移原理: 将33H右移
右移一次后,高位端补零
循环右移,高位端补零
2系统设计
2.1 指令系统助记符设计
1.打开CPTH组成原理实验软件,选择[文件|新建指令系统/微程序],清除原来的指令/微程序系统,观察软件下方的“指令系统”窗口,所有指令码都“未使用”。
选择第三行,即“机器码1”为0000 10XX行,在下方的“助记符”栏填入加法功能的指令助记符“ADDD”,在“操作码1”栏选择“A”,表示第一操作数为累加器A,在“操作数2”栏选择“#*”,表示第二操作数为立即数。按“修改”按钮确认。
同理将其他指令写入。
2.模型机的寻址方式分五种:
累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A 值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
寄存器寻址:参与运算的数据在R0-R3 的寄存器中,例如 “ADD A,R0”指令是将寄存器R0 的值加上累加器A的值,再存入累加器A中。
寄存器间接寻址:参与运算的数据在存储器EM 中,数据的地址在寄存器R0-R3中,如 “MOV A,@R1”指令是将寄存器R1 的值做为地址,把存储器EM 中该地址的内容送入累加器A中。 存储器直接寻址:参与运算的数据在存储器EM 中,数据的地址为指令的操作数。例如“AND A,40H”指令是将存储器EM 中40H 单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。 立即数寻址:参与运算的数据为指令的操作数。例如 “SUB A,#10H”是从累加器A中减去立即数10H,结果存入累加器A。
模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
本系统共设计了
四种寻址方式:加ADDD、减SUBB、进位加ADDCC、进位减SUBCC、与ANDD、或ORRR操作(寄存器间接寻址未使用)
八种转移操作MOVV
一种寻址方式:读READD、写WEITE、进位标志跳转JCC、零标志跳转JZZ、无条件跳转JMPP、中断_INT__、调用子程序CALLL、输入INN、输出OUTT、子程序返回RETT、右移RRR、左移RLL、进位右移RRCC、进位左移RLCC、空指令NOPP、取反CPLL、中断返回RETII
共24条指令
指令如图:
2.2指令微程序设计
将窗口切换到“uM微程序”窗口,现在此窗口中所有微指令值都是0FFFFFFH,也就是无任何操作,我们需要在此窗口输入每条指令的微程序来实现该指令的功能。
⑴每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC 和uPC 的值都为0,所以微程序的0 地址处就是程序执行的第一条取指的微指令。取指操作要做的工作是从程序存
储器EM 中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。根据此功能,观察窗口下方的各控制信号,有“勾”表示信号为高,处于无效状态,去掉“勾”信号为低,为有效状态。要从EM中读数,EMRD 必需有效,去掉信号下面的“勾”使其有效;读EM的地址要从PC输出,所以PCOE要有效,允许PC输出,去掉PCOE下面的“勾”,PCOE有效同时还会使PC加1,准备读EM的下一地址;IREN是将EM读出的指令码存入uPC和IR,所以要去掉IREN的“勾”使其有效。这样,取指操作的微指令就设计好了,取指操作的微指令的值为CBFFFFH。然后把助记符"_FATCH_",状态"T0",微地址"00",微程序"CBFFFFH"..(其余为注释可略),按照上表格式填入,其余类同.
⑵现在我们来看把立即数装入累加器A要做哪些工作,首先要从EM中读出立即数,并送到数据总线DBUS,再从DBUS 上将数据打入累加器A中,按照这个要求,从EM中读数据,EMRD应该有效,EM的地址由PC输出,PCOE必需有效,读出的数据送到DBUS,EMEN也应有效,要求将数据存入A中,AEN也要有效,根据前面描述“LD A,#*”指令有两个状态周期,T1状态将所有有效位下面的“勾”去掉,使其有效,这条微指令的值为C7FFF7H。为了保证程序的连续执行,每条指令的最后必需是取指令,取出下条将要执行的指令。T0状态取指微指令的值为CBFFFFH。(取操作描述可见第⑴ 步)。
⑶本指令为立即数加法指令,立即数加可分两步,首先从EM中读出立即数,送到DBUS,并存入工作寄存器W 中,从EM中读数,EMRD应有效,读EM的地址由PC输出,PCOE要有效,读出的数据要送到DBUS,EMEN应有效,数据存入W 中,WEN应有效,根据描述,“ADD A,#*”指令的T1状态微指令的值为C7FFEFH。第二步,执行加法操作,并将结果存入A中。执行加法操作,S2S1S0 的值应为000(二进制),结果无需移位直接输出到DBUS,X2X1X0 的值就要为100(二进制),从DBUS 将数据再存入A中,AEN应有效。与此同时,ABUS 和IBUS空闲,取指操作可以并行执行,也就是以PC 为地址,从EM 中读出下条将要执行指令的机器码,并打入IR和uPC中,根据取指操作的说明,EMRD、PCOE、IREN 要有效,根据上面描述,T0状态时将EMRD、PCOE、IREN、X2X1X0、AEN、S2S1S0都置成有效和相应的工作方式,此微指令的值为CBFF90H。
同理将其他指令对应上微指令
部分微指令如下:
(4)选择菜单[文件|保存指令系统/微程序]功能,将新建的指令系统/微程序保存下来,以便以后调用。为不与已有的指令系统冲突,将新的指令系统/微程序保存为“new.mac”
3系统实现
3.1 功能实现
在程序窗口输入以下程序实现基本功能
代码 功能 结果
INN 输入 55H
ADDD A,#01H 加 56H
SUBB A,#01H 减 55H
ANDD A,#33H 逻辑与 11H
ORR A,#22H 逻辑或 33H
CPLL A 逻辑非 CCH
OUTT 输出
CCH
机器执行后 ,结果为CCH,功能实现
转移
1.在CPTH 软件中的源程序窗口输入下列程序
L0:MOVV A,#01
LOOP:SUBB A,#01
JCC LOOP
JZZ LOOP
JMPP L0
ENDD
在程序窗口输入以下程序实现功能: 带进位的无限循环右移功能:
程序思想:将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中,是0存到R2中,跳转循环。
MOVV A,#27H
LOOP1:
MOVV R2,A
RRCC A
MOVV R1,A
OUTT
MOVV A,R2
ANDD A,#01H
JZZ LOOP2:
CALLL INCA
LOOP2:MOVV A,R1
OUTT
JMPP LOOP1
INCA:MOVV A,R1
ADDD A,#80H
RETT
4总结
4.1 设计体会
在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,逐步完成了实验的要求。在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验理解清楚,取得了较好的实验结果。通过这次实验懂得了基本模型机设计与实现的基本操作,加深了对书本知识的认识。通过CPU运行机器指令组成的简单程序,掌握机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。 这次的实验难度比较大,但是我认真听老师的讲解,并根据预习的信息和通过和同学的相互讨论和交流,还是较快的掌握了相关的操作,掌握了运用CPU运行机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机的输入、输出、运算和存储。
4.2 系统改进
在程序窗口输入以下程序实现扩展功能:带流水灯带进位带限制循环右移功能
程序思想:将循环次数存到R0中,将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中,是0存到R2中,同时R0减一,判断RO是否为0,否则跳转循环。
INN
MOVV R0,#04H
LOOP:MOVV R2,A
RRCC A
MOVV R1,A
MOVV A,R2
ANDD A,#01H
JZZ AA
CALLL INCA
AA: MOV A,R1V
OUTT
MOVV A,R0
SUBB A,#01H
MOVV R0,A
JZZ LOOP1
MOVV A,R1
JMPP LOOP
LOOP1:MOVV A,R1
OUTT
INCA:
MOVV A,R1
ADDD A,#80H
MOVV R1,A
OUTT
RETT
参考文献
[1] 张昆藏.计算机系统结构.北京:科学出版社,1994
[2] 著平玲娣,潘雪增《计算机组成与设计》浙江大学出版社,出版日期:2004-1-1
[3] 白中英.计算机组成原理(第四版).北京:科学出版社,1998
[4] DJ-CPTH超强型计算机组成原理与系统结构实验指导书
课程设计说明书
组成原理课程设计
题目: 基本模型机
院 系: 专业班级: 学 号: 学生姓名: 指导教师:
2013年 月 日
安徽理工大学课程设计(论文)任务书
2013年 11月 28日
安徽理工大学课程设计(论文)成绩评定表
摘要
本CPTH计算机组成原理实验仪,可以由用户自己设计指令/微指令系统, “指令流水实验”就是利用另一套指令/微指令系统来实现指令的流水工作。这样可以在现有的指令系统上进行扩充,加上一些较常用的指令,也可重新设计一套完全不同的指令/微指令系统。CPTH 内已经内嵌了一个智能化汇编语言编译器,可以对设定的汇编助记符进行汇编。
本次实验需要利用自己编写的计算机指令系统实现计算机基本模型机的功能
关键词: 计算机 组成原理 微指令 基本模型机
目录
1实验系统分析 ................................................................................................ 1
1.1 DJ-CPTH简介 ............................................................................................................... 1 1.2实验目的 ...................................................................................................................... 2 1.3实验要求 ...................................................................................................................... 2 1.4实验流程 ...................................................................................................................... 3 1.5实验原理 ...................................................................................................................... 4
2系统设计 ........................................................................................................ 6
2.1 指令系统助记符设计 ................................................................................................. 6
3系统实现 ...................................................................................................... 13
3.1 功能实现 ................................................................................................................... 13
4总结 .............................................................................................................. 16
4.1 设计体会 ................................................................................................................... 16 4.2 系统改进 ................................................................................................................... 16
参考文献 ......................................................................................................... 18
1实验系统分析
1.1 DJ-CPTH简介
DJ-CPTH型计算机组成原理实验系统,是由江苏启东市东疆计算机有限公司结合国内同类产品的优点,最新研制开发的超强型实验计算机装置。该系统采用单片机管理和EDA控制技术,自带键盘和液晶显示器,支持脱机和联PC机两种工作模式,运用系统监控和数码管等实时监视,全面动态管理模型机的运行和内部资源。模型机软硬件配置完整,支持8位字长的多种寻址方式,指令丰富,系统支持RS-232C串行通讯,并配有以win98/2000/XP为操作平台的动态跟踪集成调试软件,示教效果极佳,特别适用于计算机组成原理课程的教学与实验。
CPTH计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展单元、总线接口区、微动开关/指示灯、逻辑笔、脉冲源、管理单片机、24个按键、字符式LCD、RS232。如图:
1.2实验目的
1.在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合成一起,组成一台基本模型计算机。
2.用微程序控制器来控制模型机的数据通道。
3.通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机(输入、输出、运算、存储系统)的概念。
1.3实验要求
实验前,做好实验预习,学会用基本机器指令编写程序。实验过程中,要认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
1在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。 2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。 3.利用新构建的指令系统编程,分别实现带进位的循环右移功能。
1.4实验流程
1.5实验原理
系统实现基本功能外,还要实现循环进位右移功能。 1其进位循环右移原理如下:
右移一次后,默认前端补零
右移二次后,判断进位标志为一,则将此数加80H,实现进位右移
2不带进位循环右移原理: 将33H右移
右移一次后,高位端补零
循环右移,高位端补零
2系统设计
2.1 指令系统助记符设计
1.打开CPTH组成原理实验软件,选择[文件|新建指令系统/微程序],清除原来的指令/微程序系统,观察软件下方的“指令系统”窗口,所有指令码都“未使用”。
选择第三行,即“机器码1”为0000 10XX行,在下方的“助记符”栏填入加法功能的指令助记符“ADDD”,在“操作码1”栏选择“A”,表示第一操作数为累加器A,在“操作数2”栏选择“#*”,表示第二操作数为立即数。按“修改”按钮确认。
同理将其他指令写入。
2.模型机的寻址方式分五种:
累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A 值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
寄存器寻址:参与运算的数据在R0-R3 的寄存器中,例如 “ADD A,R0”指令是将寄存器R0 的值加上累加器A的值,再存入累加器A中。
寄存器间接寻址:参与运算的数据在存储器EM 中,数据的地址在寄存器R0-R3中,如 “MOV A,@R1”指令是将寄存器R1 的值做为地址,把存储器EM 中该地址的内容送入累加器A中。 存储器直接寻址:参与运算的数据在存储器EM 中,数据的地址为指令的操作数。例如“AND A,40H”指令是将存储器EM 中40H 单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。 立即数寻址:参与运算的数据为指令的操作数。例如 “SUB A,#10H”是从累加器A中减去立即数10H,结果存入累加器A。
模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
本系统共设计了
四种寻址方式:加ADDD、减SUBB、进位加ADDCC、进位减SUBCC、与ANDD、或ORRR操作(寄存器间接寻址未使用)
八种转移操作MOVV
一种寻址方式:读READD、写WEITE、进位标志跳转JCC、零标志跳转JZZ、无条件跳转JMPP、中断_INT__、调用子程序CALLL、输入INN、输出OUTT、子程序返回RETT、右移RRR、左移RLL、进位右移RRCC、进位左移RLCC、空指令NOPP、取反CPLL、中断返回RETII
共24条指令
指令如图:
2.2指令微程序设计
将窗口切换到“uM微程序”窗口,现在此窗口中所有微指令值都是0FFFFFFH,也就是无任何操作,我们需要在此窗口输入每条指令的微程序来实现该指令的功能。
⑴每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC 和uPC 的值都为0,所以微程序的0 地址处就是程序执行的第一条取指的微指令。取指操作要做的工作是从程序存
储器EM 中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。根据此功能,观察窗口下方的各控制信号,有“勾”表示信号为高,处于无效状态,去掉“勾”信号为低,为有效状态。要从EM中读数,EMRD 必需有效,去掉信号下面的“勾”使其有效;读EM的地址要从PC输出,所以PCOE要有效,允许PC输出,去掉PCOE下面的“勾”,PCOE有效同时还会使PC加1,准备读EM的下一地址;IREN是将EM读出的指令码存入uPC和IR,所以要去掉IREN的“勾”使其有效。这样,取指操作的微指令就设计好了,取指操作的微指令的值为CBFFFFH。然后把助记符"_FATCH_",状态"T0",微地址"00",微程序"CBFFFFH"..(其余为注释可略),按照上表格式填入,其余类同.
⑵现在我们来看把立即数装入累加器A要做哪些工作,首先要从EM中读出立即数,并送到数据总线DBUS,再从DBUS 上将数据打入累加器A中,按照这个要求,从EM中读数据,EMRD应该有效,EM的地址由PC输出,PCOE必需有效,读出的数据送到DBUS,EMEN也应有效,要求将数据存入A中,AEN也要有效,根据前面描述“LD A,#*”指令有两个状态周期,T1状态将所有有效位下面的“勾”去掉,使其有效,这条微指令的值为C7FFF7H。为了保证程序的连续执行,每条指令的最后必需是取指令,取出下条将要执行的指令。T0状态取指微指令的值为CBFFFFH。(取操作描述可见第⑴ 步)。
⑶本指令为立即数加法指令,立即数加可分两步,首先从EM中读出立即数,送到DBUS,并存入工作寄存器W 中,从EM中读数,EMRD应有效,读EM的地址由PC输出,PCOE要有效,读出的数据要送到DBUS,EMEN应有效,数据存入W 中,WEN应有效,根据描述,“ADD A,#*”指令的T1状态微指令的值为C7FFEFH。第二步,执行加法操作,并将结果存入A中。执行加法操作,S2S1S0 的值应为000(二进制),结果无需移位直接输出到DBUS,X2X1X0 的值就要为100(二进制),从DBUS 将数据再存入A中,AEN应有效。与此同时,ABUS 和IBUS空闲,取指操作可以并行执行,也就是以PC 为地址,从EM 中读出下条将要执行指令的机器码,并打入IR和uPC中,根据取指操作的说明,EMRD、PCOE、IREN 要有效,根据上面描述,T0状态时将EMRD、PCOE、IREN、X2X1X0、AEN、S2S1S0都置成有效和相应的工作方式,此微指令的值为CBFF90H。
同理将其他指令对应上微指令
部分微指令如下:
(4)选择菜单[文件|保存指令系统/微程序]功能,将新建的指令系统/微程序保存下来,以便以后调用。为不与已有的指令系统冲突,将新的指令系统/微程序保存为“new.mac”
3系统实现
3.1 功能实现
在程序窗口输入以下程序实现基本功能
代码 功能 结果
INN 输入 55H
ADDD A,#01H 加 56H
SUBB A,#01H 减 55H
ANDD A,#33H 逻辑与 11H
ORR A,#22H 逻辑或 33H
CPLL A 逻辑非 CCH
OUTT 输出
CCH
机器执行后 ,结果为CCH,功能实现
转移
1.在CPTH 软件中的源程序窗口输入下列程序
L0:MOVV A,#01
LOOP:SUBB A,#01
JCC LOOP
JZZ LOOP
JMPP L0
ENDD
在程序窗口输入以下程序实现功能: 带进位的无限循环右移功能:
程序思想:将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中,是0存到R2中,跳转循环。
MOVV A,#27H
LOOP1:
MOVV R2,A
RRCC A
MOVV R1,A
OUTT
MOVV A,R2
ANDD A,#01H
JZZ LOOP2:
CALLL INCA
LOOP2:MOVV A,R1
OUTT
JMPP LOOP1
INCA:MOVV A,R1
ADDD A,#80H
RETT
4总结
4.1 设计体会
在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,逐步完成了实验的要求。在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验理解清楚,取得了较好的实验结果。通过这次实验懂得了基本模型机设计与实现的基本操作,加深了对书本知识的认识。通过CPU运行机器指令组成的简单程序,掌握机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。 这次的实验难度比较大,但是我认真听老师的讲解,并根据预习的信息和通过和同学的相互讨论和交流,还是较快的掌握了相关的操作,掌握了运用CPU运行机器指令组成的简单程序,掌握机器指令与微指令的关系,建立利用指令控制整机的输入、输出、运算和存储。
4.2 系统改进
在程序窗口输入以下程序实现扩展功能:带流水灯带进位带限制循环右移功能
程序思想:将循环次数存到R0中,将16进制27H无线循环带进位右移,先将数存到A中在存到R2中,将A右移得到数存到R1中,判断R2数尾数是否为1,是1将R1转到A加80H存到R1中在存到R2中,是0存到R2中,同时R0减一,判断RO是否为0,否则跳转循环。
INN
MOVV R0,#04H
LOOP:MOVV R2,A
RRCC A
MOVV R1,A
MOVV A,R2
ANDD A,#01H
JZZ AA
CALLL INCA
AA: MOV A,R1V
OUTT
MOVV A,R0
SUBB A,#01H
MOVV R0,A
JZZ LOOP1
MOVV A,R1
JMPP LOOP
LOOP1:MOVV A,R1
OUTT
INCA:
MOVV A,R1
ADDD A,#80H
MOVV R1,A
OUTT
RETT
参考文献
[1] 张昆藏.计算机系统结构.北京:科学出版社,1994
[2] 著平玲娣,潘雪增《计算机组成与设计》浙江大学出版社,出版日期:2004-1-1
[3] 白中英.计算机组成原理(第四版).北京:科学出版社,1998
[4] DJ-CPTH超强型计算机组成原理与系统结构实验指导书