计算机组成原理实验手册TECWord文档下载推荐.docx

上传人:b****2 文档编号:3449579 上传时间:2023-05-01 格式:DOCX 页数:30 大小:6.14MB
下载 相关 举报
计算机组成原理实验手册TECWord文档下载推荐.docx_第1页
第1页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第2页
第2页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第3页
第3页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第4页
第4页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第5页
第5页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第6页
第6页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第7页
第7页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第8页
第8页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第9页
第9页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第10页
第10页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第11页
第11页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第12页
第12页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第13页
第13页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第14页
第14页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第15页
第15页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第16页
第16页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第17页
第17页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第18页
第18页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第19页
第19页 / 共30页
计算机组成原理实验手册TECWord文档下载推荐.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理实验手册TECWord文档下载推荐.docx

《计算机组成原理实验手册TECWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验手册TECWord文档下载推荐.docx(30页珍藏版)》请在冰点文库上搜索。

计算机组成原理实验手册TECWord文档下载推荐.docx

例3、

小结

一、每个程序最终必需以RET指令结束,使得程序结束后返回去运行监控程序

二、80H、81H两端口分别是串行通信控制器8251的数据端口与状态端口,对它们进行读写能达到以下功能

1、读80H端口(IN80H),可使教学机监控程序向PCEC读取用户在PC键盘上按下按键对应的ASCII码,存储到R0寄存器

2、写80H端口(OUT80H),可使教学机监控程序将R0的值发送给PCEC,PCEC将接收到的值当做ASCII码,将相应字符显示在PC机显示器上

3、读状态端口(IN81H),可得到串行通信控制器8251的状态字,其D0位用于指示数据是否发送就绪(D0=1发送就绪),D1位用于指示数据是否接收就绪(D1=1接收就绪),这里的8251是教学机COM1对应的那片8251,发送和接收指教学机的发送接收。

串行通信控制器8251状态寄存器的状态位:

使用汇编源程序编程

摘要

一、在PC机上用文本编辑器编写教学机汇编源程序

二、在PC机上用交叉汇编程序ASEC编译教学机源程序,生成教学机可执行代码

二、通过PCEC将教学机可执行代码加载到教学机内存中

交叉汇编程序

教学机编程源文件格式示例

org2000h

mvrdr0,44h

out80h

jr2000h

ret

end

ORG2000H

MVRDR2,0AH

MVRDR0,30H

OUT80H

DECR2

JRZ200EH

PUSHR0

IN81H

SHRR0

JRNC2008H

POPR0

INCR0

JR2004H

RET

END

教学机汇编编程小结

1、可使用标号做跳转,标号字符数不可太长(8位?

test:

jrtest

2、可使用标号指示子程序入口,标号字符数不可太长(8位?

calaxx

xx:

pushr0

mvrdR14,1234h

out80h;

将R0保存的ASCII字符显示在PC机的屏幕上

教学机内存空间用法:

0000~FFFFH:

可寻址64K内存地址空间,但其中只有部分的地址空间对应物理存储单元。

0000~1FFFH:

ROM(8K字*16位),保存监控程序

2000~27FFH:

RAM(2K字*16位)

2000~25FFH:

1.5K字

2600~27FFH:

0.5k字,监控程序专用

实验一、TEC-2000汇编语言程序设计

实验目的

1.学习和了解TEC-2000十六位机监控命令的用法;

(参考实验指导书P116)

2.学习和了解TEC-2000十六位机的指令系统;

3.学习TEC-2000十六位机汇编程序设计。

实验设备

TEC-2000教学机和PC机各一台

实验内容

1.熟悉教学机的组成,完成教学机与PC机互联(具体步骤见实验参考)。

2.熟悉监控命令的使用(具体步骤见实验参考)。

3.汇编程序设计

a)设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。

b)编程将Fibonacci数列的前20个数顺序存放在主存地址为2200H~2213H单元内。

c)编程在屏幕上显示Fibonacci数列的前20个数(显示数值的二进制码即可)。

注意事项

内存:

只能使用2000~27FF这个空间

R:

不用能R4,R5

默认数制是16进制

0,1,逗号的ascii码分别为30H,31H,2CH

预习要求

1.熟悉教学机的基本指令集

2.实验前仔细阅读本文档的“TEC2000使用手册”

3.提交实验预习报告,其中给出“实验报告格式”一~四的内容。

实验报告格式

一、实验目的

二、实验设备

三、实验内容

四、汇编程序设计:

给出程序源代码

五、实验小结

实验参考

一、教学机与PC机互联

1.关闭电源,将TEC2000上的COMl口与PC机的串口相连;

2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可;

3.置控制开关为00101(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。

其它实验相同;

4.按一下“RESET”按键,再按一下“START”’按键,主机上显示:

TEC-2000CRTMONITOR

Version2.02001.10

ComputerArchitectureLab.,TsinghuaUniversity

CopyrightJasonHe

>

二、监控命令的使用

1.用R命令查看寄存器内容或修改寄存器的内容

1)在命令行提示符状态下输入:

R↙;

显示寄存器的内容

注:

寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入:

RR0↙;

修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有—个或数个空格

主机显示:

寄存器原值:

xxxx

在后面输入新的值0036

再用R命令显示寄存器内容,则R0的内容变为0036。

2.用D命令显示存储器内容

在命令行提示符状态下输入:

D2000↙

会显示从2000H地址开始的连续120个字的内容;

连续使用不带参数的D命令,起始地址会自动加120(即78H)。

3.用E命令修改存储器内容

E2000↙

屏幕显示:

2000xxxx(地址单元的原有内容):

(光标在此闪烁等待输入)

输入0000

(提示快捷使用方法:

用E命令连续修改内存单元的值时,每修改完—个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;

按回车键则退出E命令。

依次改变地址单元2001~2005的内容为:

11112222333344445555

用D命令显示这几个单元的内容

可以看到这六个地址单元的内容变为000011112222333344445555。

4.用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。

A2000↙;

表示该程序从2000H(内存RAM区的起始地址)地址开始

屏幕将显示:

2000:

输入如下形式的程序:

MVRDR0,AAAA;

MVRD与R0之间只有一个空格,其他指令相同

2002:

MVRDR1,5555

2004:

ADDR0,R1

2005:

ANDR0,R1

2006:

RET;

程序的最后一个语句,必须为RET指令

2007:

↙;

直接敲回车键,结束A命令输入程序的操作过程

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。

2)用U命令反汇编刚输入的程序

U2000↙

在相应的地址会得到输入的指令及其操作码。

连续使用不带参数的U命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。

3)用G命令运行前面刚键入的源程序

G2000↙

程序运行结束后,观察程序的运行结果,记录寄存器R0和R1的值。

R0=?

R1=?

4)用P或T命令,单步执行这段程序,观察指令执行结果

T2000↙

寄存器R0=?

T↙

寄存器R1=?

用P命令执行过程同上。

T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。

T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。

实验二、脱机运算器部件实验

实验描述参见下图的“6.2脱机运算器部件实验”,对其做如下修改

3.实验内容

1)拨动开关置为1xx00(16位机)

2)D1取为0101H,D2取为1010H

实验预习报告:

填表6-1的ALU控制信号

操作参考

实验三、微程序控制器

通过设计一条指令的微程序,深入理解微程序控制器的工作原理。

运行TEC-2000模拟软件的PC机。

为TEC-2000新增一条指令,其功能为将两个内存单元的内容相加,结果写回其中一个内存单元。

1、说明上述指令的指令格式并为其分配指令操作码(不能与基本、扩展指令集中的任一指令操作码相同)

2、给出上述指令的执行周期微程序编码,并为其中的每一条微指令分配微地址

3、说明实现上述指令应修改MAPROM存储单元的地址和值。

实验参考:

一、教学计算机微程序控制器模拟程序使用说明

运行“16位机微程序模拟程序.exe”,将出现图2-1所示界面。

图2-1TEC-2000微程序模拟主界面

界面的最左边是功能区,设置了程序的主要功能按钮,下面将介绍这些按钮的功能和使用方法。

中间部分是用户程序区,用做调试的用户程序将在程序区中显示,供调试过程中查看。

右边的上半部分是输出窗口,可看成是TEC-2000教学计算机的显示器,按下“显示ROMS内容”按钮后,将被切换为显示各ROM的二进制数值。

下半部分是模拟程序的输出,主要包括当前运行程序的指令字、程序状态字、各通用寄存器的值,以及ALU的输出结果,这些,可供用户调试程序时观察程序运行的结果。

使用模拟程序主要是对用户设计的微程序方案进行仿真运行,以检验方案的正确性。

因此,首先要装入用户设计的微程序,它采用的是和真正要在硬件的控制存储器上烧制的格式,即全部微程序方案由MAPROM、ROM1~ROM7共8个二进制文件组成。

这些文件可用UltraEdit软件编写,也可自行编制程序完成由文本格式到二进制数据格式的转换后生成。

准备好MAPROM、ROM1~ROM7共8个二进制文件后,将它们存放在一个文件目录下。

然后,按图5-1中界面上的“导入各ROM文件”按钮,在图5-2所示界面上选定这8个文件(文件名必须按照上述名称给定,并以.bin为文件后缀),按“打开”按钮,将装入用户设计的微程序方案。

以后的操作,均是对本方案的各种机器语言程序运行过程的模拟。

图5-2装入微程序方案

微程序方案装入完成后,可点击“显示各ROMS内容”按钮,进行查看和检查,如图5-3所示。

若发现错误,可直接在界面上修改。

修改后注意按“Update”按钮保存。

图5-3查看或修改微程序界面

按“显示输出窗口”按钮可返回主界面。

为检查、验证微程序方案的正确性,需要对微程序实现的指令系统中全部指令进行模拟运行,检查运行结果是否正确。

这一过程可用简单的机器语言程序来完成,如我们可以用如下程序来验证MVRD、ADD及RET三条指令的正确性。

MVRDR0,0

MVRDR1,1

ADDR0,R1

将指令系统中所有指令都验证完后,可得到微程序方案基本设计正确的结论。

此时,可尝试进行加载监控程序并运行,这样,整个教学计算机将在用户设计的微程序控制器的控制下运行。

为方便用户输入程序,教学计算机模拟系统支持汇编语言(如用户使用TEC-2000规定的基本指令集)、文本形式的二进制机器语言程序(对一些用户自行扩展的指令,交叉汇编程序不能汇编,此时可采用这种方式)和纯二进制机器指令程序(即真正的机器语言程序)。

下面分别介绍它们的使用过程。

汇编语言程序是符号化的机器语言,与机器语言相比,更方便进行人机交流。

通过“导入汇编文件”按钮或“文件”菜单项中的“导入汇编文件”项,将汇编语言程序读入到系统中,然后,再使用“交叉汇编”按钮,对该汇编语言程序进行交叉汇编。

此时,系统界面如图5-4所示,可以对该汇编语言程序进行连续、单指令或单步骤执行。

图5-4装入汇编语言程序并交叉汇编

汇编语言程序虽然比较直观,但受交叉汇编的限制,只能是使用TEC-2000的基本指令且是规定的操作码。

对用户自行扩展的指令,或者是改变了指令的操作码,则无法直接使用汇编语言程序,只能使用机器语言程序。

机器语言程序一般应是二进制格式,直接装入到主存储器中运行,这样,对用户编写程序就不是很方便,写出0、1的代码后,还要事先转换成二进制格式才能装入。

为此,教学计算机模拟系统支持用户用0、1代码编写的机器语言程序(文本形式),由模拟系统本身进行到二进制的转换。

例如,我们可以用下面的机器语言文本文件来替换前面的汇编语言程序。

1000100000000000

0000000000000000

1000100000010000

0000000000000001

1000111100000000

这些机器指令由前面的汇编语言程序对应而来,使用的是TEC-2000缺省定义的操作码。

将这些内容保存为文本文件后(以.txt)为后缀,选择“文件”菜单项中的“导入机器指令的汇编文件”项,可将程序装入到系统中。

系统将自动完成该程序从文本文件到二进制机器指令的转换。

当然,本系统也可直接装入二进制机器指令运行,这可以将一些已经是机器指令的程序直接装入到系统中运行。

程序在模拟系统中运行正确后,也可以用做在实际的教学计算机上,用来进行硬件调试(此类文件一般应以.COD或.BIN作为后缀)。

选择“文件”菜单项中的“导入机器指令的汇编文件”项,可将程序装入到系统中。

需要说明的是,监控程序也可以采用这种方式装入。

所有的指令均检查无误后,可以把监控程序作为对微程序设计方案的一个总的测试对象。

选择“文件”菜单项中的“加载监控程序”项,可将监控程序装入到系统中。

程序装入完成后,可使用“Reset”按钮,启动程序的运行。

可用“连续执行”按钮将程序完整的执行,也可使用“单指令执行”按钮单独执行一条指令,还可以用“单步执行”按钮单独执行一个微操作。

“单指令执行”和“单步执行”时,可通过观察各输出结果,判断程序执行的正确性。

若不正确,可能是微程序设计方案有错误,可通过前面介绍的查看和修改微程序界面,修改微程序,再进行进一步的调试,直到程序能正常运行。

最后,可通过运行监控程序来进行较大规模的检验。

二、微程序控制器指令扩展示例

下面,以在现有TEC-2000教学计算机微程序控制器基础上,扩展指令ADCDR,SR为例,说明实验的步骤。

(1)指令功能和格式的确定

ADCDR,SR指令的功能是,将SR中的值用作源操作数、DR的值用作目的操作数,并把状态寄存器中C标志位的值作为最低位进位输入完成求和运算,结果存入目的寄存器DR中,即DR←DR+SR+C。

指令格式可确定为操作码(8位),DR(4位),SR(4位)。

由于它的功能在取指之后可一步完成,我们把它归为A组指令,分配操作码为00100000。

指令寻址方式显然为寄存器寻址。

(2)指令步骤划分

与ADD指令类似,ADC指令也划分为以下3个步骤:

(i)AR←PC

(ii)读主存,IR←读出内容

PC←PC+1

(iii)DR←DR+SR+C,保存状态信息

结束,检测中断请求,无中断请求,进入下一条指令的执行过程。

(3)给出每个步骤的控制信号

我们发现,上面的(i)(ii)两步都可借用原有微程序的段,只有(iii)的控制信号需要设计。

根据教学计算机的要求,各部件要求的控制信号设计如下:

CI3~0SCC3~00MRW0I2~0SAI8~6SBI5~3B口A口0SSTSSHSCIDC2DC1

001100000100000110111000000000000001001000000000

另外,(iii)结束后,将和其他指令一样,转到检测中断请求的操作,所以,该条微指令的下地址字段值应为00110000(也就是16进制的30)。

(4)将设计好的微程序段加入到原有微程序中

首先,应确定该段微程序的微地址,我们可以选择一个原有微程序中没有使用的微地址如50,来存放该段微程序。

具体的操作步骤是,启动模拟程序后,先导入只有基本指令的ROM文件,进入显示ROMS内容窗口,在该窗口输入微地址50,按“查找”按钮后,在对应栏目中输入上面设计的微程序控制信号,输入完成后,按“update”按钮修改。

注意:

因为我们给ADC设计的操作码是20,还需要修改地址为20的MPROM单元的内容,向该单元写入50。

如希望保存设计结果,可按“生成新文件”按钮保存。

此处的数字均为16进制的数。

(5)检查并调试设计方案

设计一段汇编语言程序,包含有ADC指令。

装入到模拟程序中运行调试,通过观察寄存器状态,检查设计正确与否

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2