计算机组成原理实验手册_第1页
计算机组成原理实验手册_第2页
计算机组成原理实验手册_第3页
计算机组成原理实验手册_第4页
计算机组成原理实验手册_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

TEC-2000使用手册

教学机使用方法简介

摘要:

一、设置左下方5个开关状态,确定实验箱的工作模式

二、选按RESET键,再按START键教学机开始工作

3.8TEC-2000教学机使用简要说明

TEC-2000教学机,设置了2个按键、5个功能开关、16个数据开关、2个12位的微型拨动开关、

3个无锁按键和若干个指示灯、插针、短路子,本节针对这些器件,对TEC-2000教学机的使用作简

要说明.

1.教学机左下方的5个拨动开关用来选择工作方式,从左到右依次为:

1)单步/连续:拨动开关置向上,为单步;置向下,为连续。单步时,每按一次“START”按

键,启停GAL产成一个单脉冲;连续时,在复位后,按一次"START”按键后,启停GAL将产生连续

脉冲。

2)手动置指令/从内存读指令:拨动开关置向上,为手动置指令;置向下,为从内存读指令。

通常情况下,在执行监控程序或用户程序时,应将其置为“从内存读指令”;只有在单独执行某一条

指定的指令时,才置为“手动置指令”,这样,可以通过拨动开关SWH、SWL将指令通过内部数据总

线送到指令寄存器。.

3)组合逻辑/微程序:拨动开关置向上,为组合逻辑控制器;置向下,为微程序控制器。

4)8位/16位:拨动开关置向上,为8位机;置向下,为16位机。

5)联机/脱机:拨动开关置向上,为联机;置向下,为脱机。通常情况下,应将其置为“联机”;

只有在做运算器脱机实验时,才置为"脱机"。

下面给出常用的几种工作方式:(以8位机为例)

工作方式5个拨动开关

8位机、联机、连续运行程序、组合逻辑控制器00111

8位机、联机、连续运行程序、微程序控制器00011

8位机、联机、单步、手动置指令、组合逻辑控制器11111

8位机、联机、单步、手动置指令、微程序控制器11011

8位机、脱机运算器实验1XX10

2.教学机左下方有两个按键“RESET”和“START",每次在刚加电或需要重新复位时,应先选

择工作方式,再按一次“RESET”按键,使教学机处于复位状态;再按一次“START”按键后,教

学机开始工作;

3.教学机下方中部的两个红色的12位微型拨动开关,在脱机运算器实验中,用来给运算器提

供24位控制信号,从左到右依次为18~10、SST、SCI,SSH、A3~A0、B3-B0;

4.教学机右下方的16个拨动开关SWH、SWL(8位机只用到了SWH),用来置指令或向内部数

据总线上置数据;

5.教学机右侧下方的三个无锁按键,在中断实验中作为三个中断源;

6.教学机上的小发光二极管,用来指示全部的控制信号、地址总线(高8位标有“AddressBus

15-8”、低8位标有MAddressBus7-0”)、内部数据总线(高8位标有“InterBusH7-0”、低8

位标有“InterBusL7-0”)、指令寄存器(高8位标有“Isn.H.RIR7-IR0"、低8位标有KIsn.L.R

IR7-IR0"),运算器的输出(高8位标有“Y15-Y8”、低8位标有“Y7-Y0”),以及节拍(标有“T4T3

T2T1TO”);

7.教学机上的插针,均有字符标识,用来指示在8位、16位、组合逻辑控制器和微程序控制

器状态工作时的连接关系。

1)GAL1-GAL7处的插针,标有“ONCOMLOG/OFFMicroP”,表示在做微程序控制器实验时,应将

其断开;在做组合逻辑控制器扩展指令实验时,应将其用短路子短接。

2)GAL2下方5排3个一组的插针,左边标有“Newlns”,右边标有“MicroP”,表示在做微

程序控制器实验时,应将该处每组插针右边的2个用短路子短接;在做组合逻辑控制器扩展指令实

验时,应将该处每组插针左边的2个短接。

3)TIMINGGAL左边的3个插针,在做中断实验时,应将上面的2个短接。.

4)运算器处标有"0FF8Bn70N16Brr的插针,表示如果教学机是作为16位机工作时,应将

其短接,如果教学机是作为8位机工作时,应将其断开:

5)运算器处标有"ON8YO-Y7/OFF16YO-Y15”的插针,表示如果教学机是作为16位机工作时,

应将其断开,如果教学机是作为8位机工作时,应将其短接;

6)运算器处标有“CyL”、“CnL”等7对插针,当教学机是作为16位机工作时,其连接方式应

为:

Q-©e-ee-e

G-®G-eo-eG-©

当教学机是作为8位机工作时,其连接方式应为:

OQOQOQ

oooooioo

7)存储器ROMH和RAML之间的插针,标有“0N8DB/0FF16DB”,表示如果教学机是作为8位机

工作时,应将其短接,如果教学机是作为16位机工作时,应将其断开;

8)两片8251之间的插针,标有与其连接信号同名的字符,在做扩展存储器实验时,应将其短

接;

9)C0M18251左边的4个插针,连接方式为:

Micro_8Micro8G

-

O

ComLog_8°gComLog_8个ComLogO

161616

16位机8位组合逻辑8位微程序

10)教学机右下方的2组3个插针,标有“168”,表示如果教学机是作为16位机工作时,

应将每组的上面2个短接,如果教学机是作为8位机工作时,应将每组的下面2个短接;

11)每个ROM插座的两边都有5组插针:

标有“VCC/MWR”的3个插针:使用27系列的芯片时,应将上面2个短接;使用28系列的芯

片时,应将下面2个短接。需要注意的是,监控程序使用的28c64芯片,为了防止对其误擦写,应

将上面2个短接。

标有“AU/MWR"的3个插针:使用28C64,2764、2732芯片时,应将上面2个短接:使用

28C16芯片时,应将下面2个短接.

标有“2764”的2个插针:使用2764芯片时,应将其短接;使用28c64、28C16,2732芯片时,

应将其断开。

标有“/MRDGND”的3个插针:使用27系列的芯片时,应将下面2个短接;使用28系列的芯

片时,应将上面2个短接.

标有“/CS”的2个插针和其下方的1个圆孔针:教学机作为16位机工作时,应将2个插针短

接,其下方的圆孔针不接线;教学机作为8位机工作时,应将2个插针断开,其下方圆的孔针应与

标有“MEM/CS”的6个圆孔针中的1个用导线连接.

12)教学机右下方,标有**INTVECTOR"的12列3个一组的插针,用来确定中断向量的高12

位(左为高位).将每组上面2个短接,表示该位为1;下面2个短接,表示该位为0。

8.教学机上的圆孔针,主要用来为存储器或COM2口的8251提供片选信号.

1)教学机右下方标有“MEM/CS”的6个圆孔针,对应的内存地址空间已标出,当要扩展存储

器时,将对应地址的圆孔针与扩展存储器芯片的片选用导线连接。

2)教学机上方中部标有“I/O/CS”的7个圆孔针,对应的I/O口地址空间已标出,当要扩展

COM2口时,将对应地址的圆孔针与COM2口的8251芯片的片选用导线连接.

3)存储器ExtROMH右边的标有“/CS”的1个圆孔针,与该片存储器的片选端相连.当要扩展

该片存储器时,应将其与标有"MEM/CS”的6个圆孔针中的1个用导线连接。

4)存储器ROML、ExtROML、RAML,右边均有1个标有“/CS”的圆孔针(其上方有2个插针),

用法见本节“插针”使用说明的第11条.

5)COM28251(2片8251中上面一个)的左边的标有"/CS”的1个圆孔针,与该片存储器的

片选端相连.当要扩展COM2口时,应将其与标有"I/O/CS1'的7个圆孔针中的1个用导线连接.

6)ROML左边标有"D7D0”的8个1排的圆孔针,与外部数据总线低8位相连,在作扩展

接口(如8255)实验时,为其提供8位数据信号.

7)ROMH上边标有"A12"、"All"…"A0”的13个圆孔针,与地址总线A12-A0相连,在作

扩展接口(如8255)实验时,为其提供13位地址信号。

9.教学机右侧有5个IC插座,这5个IC插座分别对应14、16、20、24和40芯器件,插座

的每个引脚都有圆孔针引出,方便用户接线.除40芯的插座外,其它插座的电源、地线已连好。在

40芯的插座的两侧,有6排4个一组的圆孔针,每组圆孔针仅内部相连,与其它线路无连糙,提供

给用户使用。

教学机与PC机的互联

摘要:

一、教学机和PC机通过RS-232串行口通信

二、教学机使用其固化在ROM上的监控程序监控与PC机的通信

三、PC机通过运行仿真终端程序PCEC16与教学机进行通信。即PC使用PCEC程序通过

串行口与教学机的监控程序通信,使用PCEC主要可完成以下功能

1、通过PC机向教学机加载程序

2、向监制程序发送调试命令,使之控制程序在教学机中的运行,可令程序单步运行、

连续运行等,控制方法参见监控程序一节。

霸盘电受数据接收寄存器附>DB

VO数据发送寄存器(80H):□AB

nIOWR

状态寄存器(81H)IORD

OUT80H

;检测前一个数据是否发送完毕

2300H:IN81H

SHRR0

JRNC2300H

OUT80H

2000HIN81H

2001HSHRRO

2002HSHRRO

2003HJRNC2000H

;分析是否有新数据,若有

;若无,则跳到2000H

IN80H

5SRSYNPETFE。与PETxERxRDY"TXRDY

_»___iA

PC机向教学机发送数据的过程

1.pc机运行的监控程序向教学机的8251发送数据

2.8251接收数据,存储在其数据接收寄存器中

3.教学机CPU运行程序将8251数据接收寄存器的数据接收到R0

仿真终端程序PCEC

4.1仿真终端程序PCEC

PCEC是用IBM-PC机的汇编语言编制而成的,它可把IBM-PC作为教学机的终端完成数据的输入

及显示,更重要的是它能实现PC机与教学机之间的文件传送,支持交叉汇编程序的使用。而且,PCEC

还具有拷贝屏幕功能.

1.PCEC的运行过程

在IBM-PC机上打入程序名PCEC16(8位机为PCEC8)并回车,接下来按程序的提示分别选择

连接教学机的PC机的串行接口号(1或2)和通讯参数.

程序中默认的通讯参数为:波特率9600,8位字长,无奇偶校验和1位停止位,没有特殊要求

时一般不需修改这些参数。IBM-PC机作为教学机的终端,可以执行教学机监控程序的各种命令。

2.文件传送过程

PC机作为教学机的控制台之后,按F10键,显示菜单:

0—ReturntoCRTMonitor

1-SendafiletoTEC

2-ReceiveafilefromTEC

3—ReturntoIBM-PCMSDOS

选择0不执行任何操作,直接返回教学机的监控状态;

选择3退出通讯程序,返回IBM-PC的操作系统:

选择1将执行往教学机发送文件,即把指定的文件从磁盘中取出,通过串行口传送给教学机

并存储于该机的主存中.要求:被发送的文件一定是经交叉汇编程序ASEC16(8位机为ASEC8)汇

编后生成的.COD文件,该文件包含有由0RG定义的程序或数据的首地址,传送时就以此地址作为

目标地址;目标地址指向的主存应为RAM区.

选择2将执行从教学机接收文件,并作为文件存于PC的磁盘中。选择2之后,首先打入IBM-PC

中将用的文件名,就可以把教学机主存中某一区域中的数据传送给PC机。要求:在执行文件传送之

前,必须先用监控命令E在教学机主存2380H单元输入被传数据在教学机内存区的起始地址,在2381H

单元输入被传数据字节长度。

3.PCEC的拷贝屏幕功能

按SHIFT/F10之后,屏幕上显示的所有信息均存储于SCR.TMP文件中,直到再次按SHIFT/F10

或退出PCEC.可用于打印屏幕内容.

监控程序

4.3监控程序

TEC-2000教学计算机的操作与使用方法,主要指通过由监控程序提供的监控命令控制教学计算

机的运行功能.教学计算机处于正常运行状态时,它通过串行接口和中断或PC机仿真终端(在PC

机上运行PCEC)相连接,使用常用的R、A等监控命令可以进行联机操作。这些监控命令,实现类似

于PC机DOS系统下的Debug程序的功能,包括A、U、G、T、R、D、E共7条命令,其格式为一个大

写的英文字母表示的命令名、一个空格跟命令参数,下面分别介绍。

单条汇编命令A

格式:Aadr

这里的adr表示此处的地址参数,由4位十六进制的数组成(下同):无此参数时,系统将取

默认值.

需要注意的是,命令用大、小写字母均可,命令和地址之间可以不用空格,其它命令用法也是

这样.

功能:完成单条指令的汇编操作,把产生出来的教学计算机的执行代码放入对应的内存单元中.

命令名后的地址将是头一条汇编语句的执行码的内存单元地址。每条语句汇编完成之后,系统将相

应修改地址值,以便正确处理下条汇编语句.在应该输入汇编语句时,如果不给出汇编语句而直接

回车,则结束A命令的运行过程。

反汇编命令U

格式:Uadr

功能:每次从指定的(或默认的)地址反汇编15条指令,并将结果显示在终端屏幕上。反汇编

完成之后,己将该命令的默认地址修改好.接下来键入不带参数的U命令时,将接着从上一次反汇

缄的最后一条语句之后继续反汇编,

执行程序命令G

格式:Gadr

功能:从指定的(或默认的)地址连续运行一个用户程序。为了使程序执行后能返回监控程序,

要求每个用户程序的最后一条指令一定为RET指令.

单指令执行程序命令T

格式:Tadr

功能:从指定的(或PC中的当前地址)开始单条执行程序指令。每执行一次T将执行一条指令。

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

显示/修改寄存器内容命令R

格式:R寄存器名

功能:不带参数时,是显示全部寄存器及状态寄存器的值,并反汇编当前PC所指的一条指令,

其中状态的显示格式为:“F=8位二进制数”,其前六位分别对应于C、Z、V、S、Pl、P0的值。带参

数时,是修改相应寄存器的值,如RRO/,再输入36,表示把16进制的值36赋给R0。

显示存储器内容命令D

格式:Dadr

功能:从指定(或默认的)地址开始显示内存128个存储字的内容.连续的D命令,保证显示

内容前后正确的连续关系,即每次执行D命令,会将默认的地址值加上128.

修改存储器内容命令E

格式:Eadr

功能:从指定(或默认的)地址逐字节修改每个内存单元的内容,要求用户输入一个新的值.

如果要连续修改下面的单元的内容,则应在输入新值后按空格键.若用户敲了回车键,则会结束E

命令的执行过程.

使用上述7条命令,就可以完成一些所期望的操作。

汇编编程

在仿真终端下,使用监控程序提供的A命令逐行编程

例1、

例1:在显示器屏幕上循环显示95个(包括空格字符)可打印字符的程序。

A2000;从内存的2000单元开始建立用户的第一个程序

2000MVRDRI.7E;向寄存器传送直接数

2002MVRDR0,20

2004OUT80;通过串行接口输出R0低位字节内容到显示器屏幕

2005PUSHRO;保存R0寄存器的内容到堆栈中

2006IN81;读串行接口的状态寄存器的内容

2007SHRRO;R0寄存器的内容右移一位,最低位的值移入标志位C

2008JRNC2006;条件转移指令,当标志位C不是1时就转移到2006地址

2009POPRO;从堆栈中恢复R0寄存器的原内容

200ACMPR0,RI;比较两个寄存器的内容是否相同,相同则置标志位z=l

200BJRZ2000;条件转移指令,当标志位Z为1时就转移到2000地址

200CINCR0;把R0寄存器的内容增加1

200DJR2004;无条件转移指令,一定转移到2004地址

200ERET;子程序返回指令,教学计算机的用户程序都必须用RET指

;令结束

例2、

例2:下面的程序功能是首先把字符“A”〜“F”写到内存的2031〜2036几个单元,之

后再读出来并显示到屏幕上。

A2020

2020MVRDR3,06;给出写内存操作的次数

2022MVRDR2,2O3O

2024MVRDRI,40

2026INCR2;给出写内存操作的内存地址

2027INCRI;给出写内存操作的数据内容

2028STRR[R2],R1;写寄存器R1的内容到由R2指定地址的内存单元中

2029LDRRR0,[R2];读出内存单元的数据到R0寄存器

2O2AOUT80

202BIN81

2O2CSHRRO

2O2DJRNC202B

202EDECR3;检查6次写内存操作是否完成

202FJRNZ2026;未完则开始下一次写内存操作

2030RET;程序结束

例3、

例3:下面程序的功能是从键盘输入字符并送到显示器屏幕显示,其中使用了子程序

调用指令和转移指令,在子程序中,可以完成变英文大写字母为小写字母并将其显示

出来。

A2040

2040IN81;此处的4个语句检查有无键盘输入

2041SHRR0

2042SHRRO

2043JRNC2040

2044IN80;把从键盘输入的一个字符传送到R0低位字节

2045OUT80;输出R0低位字节内容到显示器屏幕

2046PUSHR0

2047IN81

2048SHRR0

2049JRNC2047

204APOPR0

204BCALA2050;调用于程序,子程序的入口地址为2050

204DJMPA2040;转移指令,转移地址为2040

204FRET

;以下是一个子程序

2050MVRDRI,20

2052ADDR0,RI;修改输入的字符的编码,变大写字母为小写字母

2053OUT80;把修改过的字符输出到显示器屏幕

2054RET;子程序返回指令,每个子程序都应该用RET结束

小结

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

二、8OH、81H两端口分别是串行通信控制器8251的数据端口与状态端口,对它们进行读

写能达到以下功能

1、读80H端口(IN80H),可使教学机监控程序向PCEC读取用户在PC键盘上按下按

键对应的ASCH码,存储到R0寄存器

2、写80H端口(OUT8OH),可使教学机监控程序将R0的值发送给PCEC,PCEC将接

收到的值当做ASCII码,将相应字符显示在PC机显示器上

3、读状态端口(IN81H),可得到串行通信控制器8251的状态字,其D0位用于指示

数据是否发送就绪(D0=l发送就绪),D1位用于指示数据是否接收就绪(Dl=l接收就绪),

这里的8251是教学机COMI对应的那片8251,发送和接收指教学机的发送接收。

使用汇编源程序编程

摘要

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

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

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

交叉汇编程序

4.2交叉汇编程序ASEC

当教学计算机系统把PC机用作自己的仿真终端时,PC机除了提供计算机终端的全部操作功能

外,实验人员还可以使用在PC机上提供的一个交叉汇编程序,它用PC机指令设计,在PC机上运行,

能对教学计算机的汇编语言的程序完成汇编,并生成教学计算机的指令代码.当把汇编生成的代码

传送到教学计算机指定内存后,就可以予以执行.

这种编程方法的好处主要体现在两个方面:一是充分利用了IBM/PC机的已有功能,如较强的编

辑功能,好用的文件系统和磁盘设备等;二是我们在PC机上,用IBM/PC的指令系统为教学机设计

了一个很好的交叉汇编程序ASEC。它是一个符号汇编程序,不仅能对教学机已实现的指令进行汇编,

而且还提供了非常有用的伪指令,并允许在汇编语句中使用语句标号,这就能有效地避免直接使用

绝对地址值(在类似DEBUG方式下是不支持的).这对在教学计算机系统上开发运行较大的汇编程序

是很必要的.最明显的例子是开发教学计算机系统本身的监控程序,若没有在PC机上实现的交叉汇

编程序的支持将是很困难的.

[交叉汇编程序使用说明]

1.ASEC提供的功能

1)交叉汇编程序支持如下伪指令:

♦Orgexpression定义程序的首地址为expression的值:

♦VariableEqu(=)expression定义变量Variable的值为expression:

♦{address}dwexpression{,expression}

以address为首地址存储expression,这里的expression还包括用单号扩起来的字符串,例

如:labDW3,5,'String','China';

♦Blkn在内存中保留n个空字节;

♦End程序的结束标志.

2)交叉汇编程序支持用户使用数值的10进制,16进制表示,缺省为10进制,例如30,30D,

30d均表示是十进制整数30,而30h,30H,OAlh则表示16进制整数.对于表达式,可以

支持+、-、*、/等四则运算,但表达式中不能含有括号,运算次序一律从左至右,不支持

运算符的优先级.

3)相对转移指令的转移范围在-128~127字节之间,即转移目标地址与当前地址之差应在这

个范围,否则要使用绝对转移指令。

2.用户源程序

1)用户的源程序必须以ORG开始,以END结尾。地址范围是。〜65535(字节单位).用户也

可以在程序内部插入多个ORG,用来指定下面新程序段的起始地址,而中间的空余存储单元将在汇

编过程中自动填FF.

2)用户编写的程序可以包括扩展指令。扩展指令为了能被交叉汇编程序识别,必须按照固定

的格式在扩展指令的说明文件ins.ext中说明。在扩展指令的说明文件ins.ext中,每个扩展指令

占一行,同时要符合如下的格式:

指令名称指令的操作码指令的种类

三个字段之间用空格或TAB字符隔开,根据2.1节给出的扩展指令和下面给出的指令类型,可以

写出ins.ext文件为:

ADC001000001

SBB001000011

CALR1110000022

JMPR0110000022

NOT0010110123

ASR0010110023

RCL0010101023

RCR0010101123

CLC011011003

STC011011013

EI011011103

DI011011113

IRET111011113

LDRA1110010041

STRA1110011141

LDRX1110010142

STRX1110011042

JRS011001005

JRNS011001015

其中指令名称不能与已有的指令名冲突,而且第一位字符不能取数字;操作码字段要求以二

进制形式输入;指令的种类必须按照后面给出的基本、扩展指令类型表中的分类标明,用户在确

定扩展指令所属的类别时,应从字节数,操作数的个数及类型,寄存器或者立即数的位置几个方

面考虑,必须与规定的格式一致。不在上述八类中的指令类型,目前程序不能识别。

除去基本指令所使用的编码,扩展指令可以使用的编码格式要求IRH5=E

3)基本、扩展指令类型表:

指令分类及名称指令格式指令举例

一、双操作数单字节指令

OPDR,SRADDDR,SR

类号:1

三、单操作数单字指令

1.类号:21OPBYTEOUTPORT

2.类号:22OPSRCALRSR

3.类号:23OPDRINCDR

三、无操作数单字指令

OPPSHF

类号:3

四、双操作数双字节指令

MVRDDR,DATA

1.类号:41OPDR/DATALDRADR,[ADR]

STRA[ADR],SR

LDRXDR,DATA[SR]

2.类号:42OPDR<->DATA[SR]

STRXDR,DATA[SR]

五、单操作数单字转移指令

OPADDRJRADDR(8位)

类号:5

六、单操作数双字转移指令

OPADDRJMPAADDR(16位)

类号:6

3.ASEC的运行过程

1)在DOS命令行提示符下输入“ASEC16源程序文件名(机器码文件名}"(8位机为ASEC8).

其中源程序文件保存的是根据16位机指令编写的源程序,该文件可以取任意的扩展名,默认的

扩展名是.ASM,即用户没有输入文件的扩展名时,程序会使用.asm作为文件的扩展名.

机器码文件指的是交叉汇编程序对源程序汇编后,生成的机器代码存入的二进制文件。这一输

入参数是可选的,当用户没有输入机器码文件名时,该文件将与源程序文件同名,它的扩展名固定

为.COD.

2)如果用户输入的上述文件名合法,接下来将要求用户输入扩展指令表所在的文件名。用户

在输入该文件名时,需要给出完整的名字。如果用户没有扩展指令,则可以直接按下回车键.

3)扩展指令装入成功以后,程序将要求用户指定列表文件的名称,该文件将以规范的格式将

源程序以及使用的标号,变量,存储地址详细的记录下来。如果用户没有指定文件名称而直接按下

回车键,在汇编的过程中将不产生列表文件;如果用户输入"CON",则只在标准输出设备产生列表

文件;在用户指定文件名的情况下,将在当前目录产生列表文件,默认的扩展名是.LST.

4)交叉汇编程序在执行的过程中,对可能遇到的各种情况进行了详细的判断和检查,对各种

错误情况都能给出提示信息,帮助用户顺利完成源程序的汇编工作。

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

例1、

org2000h

mvrdr0,44h

out80h

jr2000h

ret

end

例2、

ORG2000H

MVRDR2,0AH

MVRDR0,30H

OUT80H

DECR2

JRZ200EH

PUSHRO

IN81H

SHRRO

JRNC2008H

POPRO

INCRO

JR2004H

RET

END

教学机汇编编程小结

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

org2000h

test:

mvrdr0,44h

out80h

jrtest

ret

end

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

org2000h

mvrdr0,44h

out80h

calaxx

xx:

pushrO

ret

end

mvrdR14,1234h

org2000h

mvrdr0,44h

out80h;将RO保存的ASCII字符显示在PC机的屏幕上

jr2000h

ret

end

0000〜FFFFH

0000~1FFFH:ROM(8K字*16位),保存监控程序

2000〜27FFH:RAM(2K字*16位)

2000〜25FFH:1.5K字

2600-27FFH:0.5k字,监控程序专用

实验一、TEC2000汇编语言程序设计

实验目的

1.学习和了解TEC-2000十六位机监控命令的用法;(参考实验指导书P116)

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

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

实验设备

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

实验内容

1.熟悉教学机的组成,完成教学机VPC机互联

2.熟悉监控命令的使用

3.汇编程序设计

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

b)打印fibonnacii数列的前20个值:1,1,2,3,5,,用二进制形式打印,值与值之间

用逗号隔开

23231

预习要求

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

2.实验前仔细阅读实验指导书P112T20,或者是阅读本文档的TEC2000使用手册(权威)

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

实验报告格式

一、实验目的

二、实验设备

三、实验内容

四、汇编程序设计

a)程序一源代码

b)程序二流程图及源代码

五、实验小结

实验参考

一、教学机与PC机互联

1.关闭电源,将大板上的C0M1口与PC机的串口相连;

2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“1”或“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命令显示这儿个单元的内容

D2000/

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

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

观察运行结果。

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

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

屏幕将显示:

2000:

输入如下形式的程序:

2000:MVRDRO,AAAA;MVRD与R0之间只有一个空格,其他指

令相同

2002:MVRDR1,5555

2004:ADDRO,RI

2005:ANDRO,RI

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

2007:;直接敲回车键,结束A命令输入程序的

操作过程

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正

确的指令即可。

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

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

U2000/

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

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

后继续反汇编。

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

G2000/

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

R0=?

Rl=?

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

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

T2000/

寄存器R0=?

TZ

寄存器Rl=?

TZ

寄存器R0=?

T/

寄存器R0=?

用P命令执行过程同上。

注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调

用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存

器的内容,并反汇编出下一条将要执行的指令。

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

参见实验指导书P128的6.2“脱机运算器部件实验”,对其做如下修改

3.实验内容

1)拨动开关置为IxxOO

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

实验预习报告:

填表6-1的ALU控制信号

6.2脱机运算器部件实验

1.实验目的

深入了解Am2901运算器的功能与具体用法.掌握2片(16位为4片)Am2901的级

联方式•深入了解运算器部件的组成、设计、控制与使用等诸项知识.

2.实验说明

脱机运算器实验.是指让运算器从教学计算机整机中脱离出来.此时.它的全部控制

与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键

控制教学机的运算器完成指定的运算功能.并通过指示灯观察运算结果。

3.实验内容

<1)将教学机左下方的5个拨动开关置为1XX1O(单步、8位、脱机);先按一下

“RESET”按键.再按一下“START”按键.进行初始化。

(2)接下来.按表6-1所列的操作在8位机上进行运算器脱机实验.设计用到的24位

控制信号的取值,并将结果填入表中:其中D1取为Olh.D2取为10h;通过两个12位的

微型拨动开关向运算器提供控制信号.通过8位数据开关向运算器提供数据(高8位的数

据开关);通过指示灯观察运算结果及状态标志。

4.实验要求

<1)实验之前认真预习•写出预习报告,包括操作步骤.实验过程所用数据和运行结

果等•否则实验效率会很低,所学到的内容也会大受影响:

(2)实验过程当中.要仔细进行.防止损坏设备,分析可能遇到的各种现象,判断结果

是否正确.记录运行结果;

(3)实会之后,认真写出实验报告,包括对遇到的各种现象的分析.实验步骤和实验

结果•自己在这次实验中的心得体会与收获。

表6-1运算器实验控制信号与执行结果

压START前压START后

运算LTABSCISSHSST

ALU输出czvsALU输出czvs

*D1+O-R0

*D2+0fR1

RO+RjRO

RO-R1-RO

Rl-ROfRI

ROVR1-*RO

ROARI-RO

RO甘R—RO

(RoVR1)-*RO

2*ROfRO

RO/2-*RO

注:用v标记的运算,即表中前2行内容表示DI、D,的数据是由拨动开关SWH给出的.

操作参考

3.教学机下方中部的两个红色的12位微型拨动开关,在脱机运算器实验中,用来给运算器提

供24位控制信号,从左到右依次为18~10、SST,SCI,SSH、A3~A0、B3-B0;

4.教学机右下方的16个拨动开关SWH、SWL(8位机只用到了SWH),用来置指令或向内部数

据总线上置数据;

实验三、微程序控制器

实验目的

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

实验设备

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

实验内容

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

单元。

预习要求

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

令操作码相同)

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

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

实验参考:

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

在安装好TEC-2000教学计算机软件系统的PC机上,单击“开始”菜单,选择“程序”,

在弹出的列表中选择“TEC-2000教学软件”,在右边的菜单中选择“辅助设计与仿真”,然

后在列表中选择“仿真”,打开“16位机微程序”。计算机微程序仿真软件并启动运行,将

出现图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为文件后缀),按“打开”按钮,将装入用户

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

-!□!X|

UR

|-JM»S三]->saOb

«]MAPROM

jjjjroml

文件名OP|~

文件交Rc:kn*

ARHeid

yFc(

P-FRO0000RI40000SPR4)|00

温馨提示

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

评论

0/150

提交评论