计算机组成原理实验与学习指导(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-18 01:22:36

点击下载

作者:尹卓

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

计算机组成原理实验与学习指导

计算机组成原理实验与学习指导试读:

前言

“计算机组成原理”是高等院校计算机相关专业的核心课程。本书是课程的配套实验教材,本书的主要目的是:使学生在理解各模块功能的基础上,通过自己的设计实践,建立计算机系统的整体概念,培养独立分析和解决问题的能力。

计算机组成原理实验一般用实验箱完成。虽然实验箱功能完善,但通常受到场地和数量的制约、电路板的有限面积不能显示更多信息、数据传送过程无法直观体现等诸多局限。为此,开发了对应的模拟软件,软硬结合,突破了限制,提高了实验教学效率。对应不同系列的实验箱,模拟软件也开发了数款。

模拟软件是独立软件,可脱离实验箱在计算机上运行,支持WinXP/Win7/Win8等操作系统,能实现实验箱的所有功能,且在实验项目、显示状态、控制方式等各个方面都有质的飞跃。其界面不仅包括了实验箱的所有显示,还以直观的方式表现了更多的内部信息,便于掌握系统状态。拥有独特的“动画显示”能力,数据以动画方式进行移动和变化,可以精确观察每个节拍的实现过程,便于理解指令功能和设计新指令。软件集成了汇编器、调试器等,能直接编译新指令并验证其功能。模拟软件拥有多种运行方式,可以单节拍、单指令、连续运行,可以调节运行速度,适应不同要求。控制模式可选择手动、微程序、组合逻辑控制等,变换方便。模拟软件不仅能完成实验箱的所有实验项目,而且在具体的实验内容、方式、现象和教学效果上都有极大的改进。

全书分11章。第1~2章是硬件系统概述及模拟软件简介、软件系统及模拟软件开发环境使用;第3章是基础汇编语言程序设计实验;第4~6章是各功能部件实验;第7~8章是两种控制器实验;第9章是中断实验;第10章是综合设计;第11章是BASIC语言程序设计。

本书由尹卓主编,参与编写的还有王勇、赵毅、杜祥军、王霄鹏等多位教师,李建波老师对本书的编写提出了众多宝贵意见和建议,杨厚俊院长对全书进行了审阅。

本书提供配套电子课件,请登录华信教育资源网(http://www.hxedu.com.cn)注册下载,也可联系本书编辑(wangxq@phei.com.cn)进行索取。

由于时间仓促和作者水平所限,书中不足之处在所难免,对于本书内容和模拟软件的任何疑问与想法,都欢迎联系和探讨。

电子邮箱:zuchengbook@163.com

bluesky_bluesea@yeah.net

微博:http://weibo.com/u/1403786364作者2016年3月第1章硬件系统概述及模拟软件简介计算机组成原理实验系统配合计算机组成原理与结构课程,具有丰富的教学实验项目供学生学习与实践,有利于对理论教学知识的巩固,提高动手能力与创新能力。主要由硬件系统和模拟软件构成。1.1 实验箱硬件系统概述1.1.1 硬件系统的技术指标

计算机组成原理实验箱TEC-2000A是由清华大学科教仪器厂研制的,它的主要技术指标如下。(1)机器字长16位,即运算器、主存、数据总线、地址总线都是16位。(2)指令系统,基本指令系统支持多种基本寻址方式。其中一部分指令已实现,用于设计监控程序和用户的常规汇编程序,尚保留多条指令供实验者自己实现。(3)主存最大寻址空间是18K字,基本容量为8K(16位的字)容量的ROM和2K(16位的字)容量的RAM。还可以进一步扩展容量。(4)运算器由4片位片结构器件构成,片间用串行进位方式传递进位信号。ALU实现8种算术与逻辑运算功能,内部包括16个双端口读出、单端口写入的通用寄存器和一个能自行移位的乘商寄存器。设置C(进位)、Z(结果为0)、V(溢出)和S(符号位)4个状态位寄存器。(5)控制器采用微程序和硬布线(组合逻辑)两种可自由选择的控制方案实现。可方便地修改已有设计,或加进若干自己设计与实现的新指令,新老指令同时运行。(6)实验箱上有Intel8251串行接口,可直接接入一台计算机作为自己的仿真终端。在主板的右下角位置,设置了完成中断实验的全套线路。(7)主板上设置了扩展实验用的器件插座,提供扩展内存所需的地址、数据和控制等信号,以便支持完成多种扩展实验。(8)主板上设置有一些数据开关、微型开关、按键和指示灯,支持最低层的手动操作方式的运算和输入/输出。板上(主板和微程序小板)还有支持实验用的一定数量的跳线夹。板上安装了很多发光二极管指示灯,用于显示重要的数据或控制信号的状态。(9)实验箱硬件系统,主要功能部件在水平放置的一块印制电路板上(主板),微程序控制器的主要部分在垂直插接的一块电路板上,所有器件都用插座插接在印制板上,便于更换器件。(10)实验箱使用单一的5V、最大电流3A的直流模块电源,所耗电流范围为1.5~2A。电源模块安装在水平电路板右上角位置,220V交流电通过电源线插送到电源插座上,并用一个船型开关控制交流电源的接通或断开。1.1.2 硬件系统的构成

TEC-2000A实验箱硬件系统包括运算器、控制器、存储器、串行输入/输出I/O接口、中断模块及各类控制按键、开关及指示灯、总线,如图1-1-1所示。实验箱硬件系统主要在两块印制电路板上实现,其中,大印制电路板是TEC-2000A实验箱的主体,实现了除微程序控制器之外的全部硬件系统;小印制电路板实现了微程序控制器,直接插在大板左上方上的72芯插槽上,与大板相连,如图1-1-2所示。图1-1-1 实验箱硬件系统组成示意框图图1-1-2 实验箱实物布局图

硬件系统部分还可以参照“附录A 总体框图”,对照实验箱实物布局学习掌握。

实验箱各部分说明如下。(1)运算器:运算器部件主要包括两组独立的8位字长,各由两片位片结构的运算器AM2901器件组成,构成了16位的运算器,标注ALU L-0、ALU L-1、ALU H-0、ALU H-1;还有4位状态寄存器(CZVS)、移位进位信号和实验所需的相关逻辑部件。全部的算术与逻辑运算均在这里完成;还完成几种寻址方式的实际地址计算;它也是主要的数据、地址传送的通路。要特别说明的一点是:堆栈指针SP(R4)和控制器中的程序计数器PC(R5),各用16个通用寄存器中的一个来实现,以节省器件与简化实验箱的实现。(2)控制器:系统提供两种控制器方式,即微程序控制器和组合逻辑控制器。可以方便地选择使用其中任何一种,并且比较两种控制器各自的优缺点和设计过程的相同、不同的步骤与方法。

微程序控制器用一块小印制电路板实现,直接插在大板左上方上的72芯插槽上与大板相连,由一片微程序定序器AM2910、7片控存CM1~7、一片微程序入口地址映射表MAPROM、一片产生AM2910条件码GAL(General Array Logic)等芯片构成。需要注意的是,微程序控制器的大部分控制信号最终还要经过大板左上方的GAL1~GAL8才能作用到其他部件。

组合逻辑控制器节拍逻辑与时序控制信号形成部件(组合逻辑线路)选用了GAL20V8 现场可编程器件和MACH(Macro Array CMOS High density)器件,这对简化控制器的逻辑设计与实现至关重要,也有利于进一步掌握数字系统设计自动化和逻辑模拟的新知识。具体由一片MACH、8片GAL、一片节拍产生器GAL、两片74LS377和两片74LS244组成。

当实验箱工作在联机、微程序控制器方式时,全部的控制信号都由微程序控制器经GAL1~GAL8给出;当实验箱工作在联机、组合逻辑控制器方式时,全部的控制信号都由MACH或GAL1~GAL8给出,其中MACH给出基本指令和公共节拍所需要的控制信号,GAL1~GAL8给出扩展指令(不包括扩展指令的公共节拍)所需要的控制信号;当实验箱工作在脱机方式时,运算器部件所需的控制信号由两个12位的微型拨动开关给出。(3)存储器:6个存储器芯片插座被分成两组,下面一组为高8位,上面一组为低8位。芯片ROMH、ROML用来存放监控程序;芯片RAMH、RAML用来存放用户程序和数据及监控程序临时数据和堆栈;另外两个芯片ExtROMH、ExtROML(两片58C65)用来对存储器容量进行扩展。当然也要连接好它的CS片选,扩展的EEPROM才能正常工作。(4)串行输入/输出I/O接口:配置了两个串行接口COM1口和COM2口。这两个串口各使用一片串口接口芯片8251,公用一片MAX202进行电平转换,各通过一个D型9芯针与计算机的串口相连。一路串行接口,在仿真终端软件PCEC16(此软件在第2章中介绍)控制下接入计算机。这种方式下,通过计算机(作为仿真终端)操作实验箱方便直观,在屏幕上观察结果,不用直接在实验箱上操作。“输入/输出IO接口实验”中将一片8251放置COM2 8251插槽,连接好它的CS片选,可以进行相应实验。

对于扩展存储器和输入/输出IO接口插接芯片,相应地CS线也必须连接才能正常联机通信。(5)中断模块:支持中断实验,主要包括两片GAL块INTP、INTS,三个无锁按键INTSrce2,1,0、一个INT VECTOR的12组3针的中断向量等。(6)开关和指示灯:作为底层的输入/输出手段,开关拨数输入,指示灯显示输出的操作方式。具体可参照“附录B 各开关、指示灯说明”。(7)总线:使用两组总线,即地址总线、数据总线。

● 地址总线

地址总线宽度为16位;其中高8位地址总线记做AB15~AB8、低8位地址总线记做AB7~AB0。

地址总线的输入信号来自高8位和低8位地址寄存器ARH、ARL,而地址寄存器只接收运算器的结果输出信号。在16位机中,高、低8位运算器的16位结果输出信号一次送入16位地址寄存器;地址总线的输出信号,要送往主存储器、I/O接口。由于TEC-2000A实验箱只使用8位的I/O端口地址,因此在I/O读/写指令中,只用到地址总线的低8位。

● 数据总线

数据总线分为内部数据总线IB(在CPU一方)与外部数据总线DB(在主存与外设接口一方)。内、外部数据总线均为16位,分为高、低8位,依次记做IB15~IB8、IB7~IB0、DB15~DB8、DB7~DB0。内部数据总线与外部数据总线之间通过两片8位的双向三态门74LS245连接起来。

外部数据总线将内部数据总线与主存储器、I/O接口设备相连,可双向传送数据。1.1.3 硬件系统使用简要说明

本节对TEC-2000A实验箱的各类控制按键、开关、指示灯及插针、短路子的使用做简要说明。TEC-2000A实验箱设置了两个按键“RESET”和“START”,5个功能开关Step/Cntnu、HndIn/MEMIns、ComLog/MicroP、8Bit/16Bit、LinkMachi/LeaveMachi,16个数据开关SWH、SWL,两个12位的微型拨动开关,三个无锁按键INTSrce2,1,0和若干指示灯、插针、短路子。(1)实验箱左下方有两个按键“RESET”和“START”。每次在刚加电或需要重新复位时,应先选择工作方式(见以下(2)),再按一次【RESET】键,使实验箱处于复位状态;再按一次【START】键后,实验箱开始工作。(2)实验箱左下方的5个功能开关用来选择工作方式,从左到右依次如下。● 单步/连续(Step/Cntnu):单步时,每按一次【START】键,启停GAL产生一个单脉冲;连续时,在复位后,按一次【START】键后,启停GAL将产生连续脉冲。

● 手动置指令/从内存读指令(HndIns/MEMIns):通常情况下,在执行监控程序或用户程序时,应将其置为“从内存读指令”;只有在单独执行某一条指定的指令时,才置为“手动置指令”,这样,可以通过拨动开关SWH、SWL将指令码通过内部数据总线送到指令寄存器。

● 组合逻辑/微程序(ComLog/MicroP):开关置向上,为组合逻辑控制器;置向下,为微程序控制器。

● 8位/16位(8Bit/16Bit):开关置向上,为8位机;置向下,为16位机。本书所指都是16位机。

● 联机/脱机(LinkMachi/LeaveMachi):通常情况下,应将其置为“联机”;只有在做运算器脱机实验时,才置为“脱机”。

常用的几种工作方式,可以参照第2章2.1.2节中的联机通信的相关内容。(3)实验箱右下方的16个拨动开关SWH、SWL,用来置指令或向内部数据总线上置数据。(4)实验箱下方中部的两个红色的12位微型拨动开关,在脱机运算器实验中,用来给运算器提供24位控制信号,从左到右依次为I8~I0、SST;SCI、SSH、A PORT(A3~A0)、B PORT(B3~B0)。(5)实验箱右侧下方的三个无锁按键,在中断实验中作为三个中断源。(6)实验箱上的小发光二极管,用来指示全部的控制信号、地址总线(高8位标有“Address Bus15~8、低8位标有“Address Bus 7~0”)、内部数据总线(高8位标有“Inter Bus 15~8”、低8位标有“Inter Bus 7~0”)、指令寄存器(高8位标有“Isn.R IR15~IR8”、低8位标有“Isn.R IR7~IR0”)、运算器的输出(高8位标有“Y15~Y8”、低8位标有“Y7~Y0”),以及节拍(标有“T4 T3 T2 T1 T0”)。(7)实验箱上的插针,均有字符标识,用来指示组合逻辑控制器和微程序控制器状态工作时的连接关系。

● TIMING GAL左边的三个插针,在做中断实验时,应将上面的两个短接。

● 运算器处标有“OFF8BIT/ON16BIT”的插针,表示16位实验箱工作时,应将其短接。

● 运算器处标有“ON8Y0-Y7/OFF16Y0-Y15”的插针,表示16位实验箱工作时,应将其断开。

● 运算器处标有“CyL”、“CnL”等的7对插针,当16位实验箱工作时,其连接方式应为。● 存储器RAML和ROMH之间的插针,标有“ON8DB/OFF16DB”,16位实验箱工作时,应将其断开。

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

● COM1 8251左边的三个插针和右下方的两组三个插针,标有“16 8”,16位实验箱工作时,应将每组的上面两个短接。

● 每个ROM插座的两边都有5组插针。

左边有:①标有“VCC/MWR”的三个插针;②标有“ALL/MWR”的三个插针;③标有“2764”的两个插针;

右边有:④标有“/MRD GND”的三个插针;⑤标有“/CS”的两个插针和其下方的一个圆孔针。

● 实验箱右下方,标有“INT VECTOR”的12列三个一组的插针,用来确定中断向量的高12位(左为高位)。将每组上面两个短接,表示该位为1;下面两个短接,表示该位为0。(8)实验箱上的圆孔针,主要用来为存储器或COM2口的8251提供片选信号。

● 存储器ExtROMH右边的标有“/CS”的一个圆孔针,与该片存储器的片选端相连。实验箱右下方标有“MEM/CS”的6个圆孔针,对应的内存地址空间已标出,当要扩展存储器时,将对应地址的圆孔针中的一个与片选/CS用导线连接。

● COM2 8251(两片8251中上面一个)的左边标有“/CS”的一个圆孔针,与该片存储器的片选端相连。实验箱上方中部标有“I/O/CS”的7个圆孔针,对应的I/O口地址空间已标出,当要扩展COM2口时,将对应地址的圆孔针中的一个与COM2口的8251芯片的片选用导线连接。

注意:实验箱上的所有插针、短路子已设置好,不能乱动,以免造成实验箱不能正常联机运行。1.2 模拟软件简介

模拟软件是独立软件,不是实验箱的配套软件,在计算机上可脱离实验箱运行。该软件是16位计算机组成原理实验教学系统,不仅能完成TEC-2000A实验箱的所有实验,还以更直观的方式表现更多内部状态,便于理解计算机的运行原理,减少操作失误,提高设计能力。

模拟软件支持WinXP/Win7/Win8等操作系统,集成了汇编器、调试器,有独特的“动画显示”能力。可完全模拟实验箱的所有功能。拥有完善的控制功能,包括单节拍调试、单指令调试、连续运行。其中,单节拍调试可以精确观察计算机在每个节拍的运行过程,对复杂结构计算机的调试非常必要。数据在动画界面上的移动和变化对理解原理和设计指令非常便利。上述实验方式及功能使得实验过程更为形象直观,具有非常良好的教学效果。1.2.1 模拟软件的软硬件层次

模拟软件的软硬件层次如表1-2-1所示。表1-2-1 模拟软件的软硬件层次1.2.2 模拟软件的硬件子系统

硬件子系统组成如下。(1)运算器:4片AMD公司的AM2901并联,共16位。内部有16个寄存器。(2)控制器:第一种是微程序方式,使用AMD公司的AM2910微程序定序器;第二种是使用硬布线方式。(3)存储器:地址空间0~FFFFH,其中0~27FFH是 RAM,4000H~5FFFH是 EEPROM,其他地址分别映射到这两段。(4)I/O接口:两个,地址分别是80H/81H和A0H/A1H,独立使用。(5)手动开关:35个控制开关,16个数据开关,4个功能选择开关。(6)按键:【RESET】键,【START】键,单节拍,单指令按键,三个中断按键。1.2.3 模拟软件的文件组成

模拟软件由下列文件构成。(1)TECVM.exe:实验系统程序,运行时自动读取其他文件。(2)MicroIns.txt:微程序保存文件。(3)InsMap.txt:指令到微程序的入口地址映射文件。(4)HardWiredLogic.txt:硬布线逻辑保存文件。(5)EEPROM.txt:EEPROM的记录文件。(6)InsExt.txt:扩展指令格式记录文件,供汇编和反汇编使用。1.2.4 模拟软件的主要技术指标

模拟软件的主要技术指标如下。(1)机器字长16位,即运算器、主存、数据总线、地址总线均是16位。(2)指令系统支持多种基本寻址方式,可供实验者自己设计新指令。(3)存储器共18K字,由容量10K字的RAM和8K字的EEPROM组成。(4)主频可在1Hz~500kHz之间选择,可以手动暂停。(5)运算器由4片位片结构器件级联而成。其内部的ALU可实现8种算术逻辑运算功能,拥有16个双端口读出、单端口写入的通用寄存器和一个能自行移位的乘商寄存器Q。设置C(进位)、Z(结果为0)、V(溢出)和S(符号位)4个状态位寄存器。(6)控制器采用微程序和硬布线两种控制方案实现,可自由选择。实验人员可方便地修改现有设计,添加若干自己设计的新指令。(7)在主界面的右下角,设置了可完成中断实验的功能区。1.2.5 模拟软件主界面

模拟软件主界面如图1-2-1所示。图1-2-1 主界面

本界面是主界面,用来进行实验操作,控制实验运行,观察实验现象等。所有其他界面都由本窗口菜单调出。

动画界面如图1-2-2所示,能以动画形式表现数据的运算过程、数据在各部件之间的移动。图1-2-2 动画界面

终端界面如图1-2-3所示,进行程序编写、监控操作、调试程序、观察实验现象等。图1-2-3 终端界面第2章软件系统及模拟软件开发环境使用2.1 实验箱软件系统2.1.1 系统支持的实验项目

1.基础汇编语言程序设计

用基本指令和监控程序,编写、调试所要求的题目并运行各种汇编程序。

2.运算器实验

可在运算器完全脱离控制器控制的方式下(脱机方式),用主板上的微动开关直接提供控制运算器运行的控制信号,来使用运算器并观察运算结果;也可以在实验箱正常运行方式下(联机方式),由控制器给出实验者所设计的控制运算器运行的控制信号来使用运算器并观察运算结果。

3.存储器实验

可以设计并实现16位字长的主存储器(RAM芯片和ROM芯片)及容量扩展实验。在选用电擦除的58系列(如58C65)的存储器芯片时,可以进行该芯片的读(正常操作)/写(有特殊要求)操作,并检查断电后它的内容是否仍能保持。

4.输入/输出I/O接口实验

一路串行接口用于联机通信;另外一路串行接口由学生设计并调试出来:使用过程中的串行口初始化,用程序控制方式完成串行接口数据正常的输入/输出操作,还可以实现用两台实验箱的串行口完成双机双向通信等实验。

5.控制器实验

可以做微程序方式或组合逻辑方式的控制器实验。首先学懂已实现的指令的设计原理与实现技术,然后才是设计与实现多条自己定义的新指令,并把新老指令放在同一程序中运行,检查运行结果的正确性。在微程序方式下实现新指令,要把控制信号装入微程序小板上的控制存储器7片MPROM中。在组合逻辑方式中,要把新指令用到的控制逻辑编程到现场可编程的逻辑器件8片GAL20V8中,可能多次用到编程器设备。

6.中断实验

做多级中断、优先级排队及中断嵌套的实验。此时可用按键等作为中断请求信号来源。

最简单的中断处理功能,是实现在程序正常运行的同时,用不同优先级的中断的嵌套方式在计算机屏幕上显示与优先级相对应的不同字符,其实验效果简单明了。2.1.2 软件系统的组成

实验箱系统配置适当的软件支持,这些软件提供了控制和运行实验箱系统所必要的功能。

软件系统主要由监控程序、仿真终端程序、交叉汇编程序三部分组成。(1)监控程序CRT:固化在主存ROM存储区,实现的功能类似计算机的Debug,有8条监控命令,控制TEC-2000A实验箱正常运行,执行输入/输出等操作。其功能是:

① 控制计算机仿真终端与实验箱联机运行;

② 接收与执行实验箱监控命令;

③ 接收并汇编实验箱的单条汇编指令;

④ 提供实验箱汇编语言的可用子程序。(2)仿真终端程序PCEC:运行在计算机上,通过串行口使计算机作为TEC-2000A实验箱的输入/输出设备。解释执行TEC-2000A实验箱的各条指令。其功能是:

① 实现计算机的仿真终端功能;

② 实现计算机文件与实验箱内存之间的双向的信息传送。(3)交叉汇编程序ASEC:能对实验箱的汇编语言源程序进行汇编,并产生实验箱机器语言的执行代码。在设计较大规模的程序时,这是很有使用价值的一项功能。它提供了一定的伪指令支持。

1.监控程序的功能与用法

监控程序是最简单的操作系统的雏形。监控程序是用实验箱的汇编语言实现的,运行在实验箱上的硬件系统之上。它的主要功能是支持把计算机接入实验箱系统,使用这样的设备执行输入/输出操作,提供8个监控命令,以更方便直观的形式支持实验箱上的各项实验功能,提供实验箱汇编语言的可用子程序。存放在ROML/H插槽的MonitorL/H两个芯片当中。

有两种运行方式,监控程序运行方式和用户程序运行方式,这有点类似于操作系统中系统(管)态和用户态。

TEC-2000A实验箱的操作与使用方法,主要指通过由监控程序提供的监控命令控制实验箱的运行功能。实验箱处于正常运行状态时,它通过串行接口和计算机仿真终端(在计算机上运行PCEC)相连接,使用常用的D、A等监控命令可以进行联机操作。这些监控命令,实现类似于计算机DOS系统下的Debug程序的功能,包括A、U、G、T、P、R、D、E共8条命令,其格式为一个英文字母表示的命令名、一个空格跟命令参数,以下分别介绍。(1)单条汇编命令A

格式:A adr

这里的 adr 表示此处的地址参数,由4位十六进制的数组成(下同);无此参数时,系统将取默认值。需要注意的是:命令用大、小写字母均可,命令和地址之间可以没有空格,其他命令用法也是如此。

功能:完成单条指令的汇编操作,把产生出来的实验箱的执行代码放入对应的内存单元中。命令名后的地址将是上一条汇编语句的执行码的内存单元地址。每条语句汇编完成之后,系统将相应修改地址值,以便正确处理下一条汇编语句。在应该输入汇编语句时,如果不给出汇编语句而直接回车,则结束A命令的运行过程。(2)反汇编命令U

格式:U adr

功能:每次从指定的(或默认的)地址反汇编15条指令。反汇编完成之后,已将该命令的默认地址修改好。接下来输入不带参数的U命令时,将从上一次反汇编的最后一条语句之后继续反汇编。(3)执行程序命令G

格式:G adr

功能:从指定的(或默认的)地址连续运行一个用户程序。为了使程序执行后能返回监控程序,要求每个用户程序的最后一条指令一定为RET指令。(4)单指令执行程序命令T和P

格式:T[adr]或 P[adr]

功能:从指定的(或PC中的当前地址)开始,单条指令方式执行用户程序。通常情况下,每按一次T或P将执行一条指令。它们的区别是:T总是执行单条指令;但执行P命令时,则把每个CALA语句连同被调用的子程序一次执行完成。每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。(5)显示/修改寄存器内容命令R

格式:R 寄存器名

功能:不带参数时,是显示全部寄存器及状态寄存器的值,并反汇编当前PC所指的一条指令,其中状态的显示格式为:“F=8位二进制数”,其前6位分别对应于C、Z、V、S、P1、P0的值。带参数时,是修改相应寄存器的值,如R R0↙,再输入36,表示把十六进制的值36赋给R0。(6)显示存储器内容命令D

格式:D adr

功能:从指定(或默认的)地址开始显示内存120个存储字的内容。连续的D命令,保证显示内容前后正确的连续关系,即每次执行D命令,会将地址值加上120。(7)修改存储器内容命令E

格式:E adr

功能:从指定(或默认的)地址逐字节修改每个内存单元的内容,要求输入一个新的值。如果要连续修改下面的单元的内容,则应在输入新值后按空格键。若按了回车键,则会结束E命令的执行过程。

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

2.仿真终端程序

仿真终端程序PCEC16是用计算机的汇编语言编制而成的,它可把计算机作为实验箱的终端完成数据的输入及显示,更重要的是,它能实现计算机与实验箱之间的文件传送,支持交叉汇编程序的使用。(1)PCEC16的运行过程

在计算机上输入PCEC16并回车,接下来按程序的提示分别选择连接实验箱的计算机的串行接口号(1或2)和通信参数。程序中默认的通信参数为:波特率9600,8位字长,无奇偶校验和一位停止位,没有特殊要求时一般无须修改这些参数。计算机作为实验箱的终端,可以执行实验箱监控程序的各种命令。(2)文件传送过程

计算机作为实验箱的控制台之后,按F10键,显示菜单:

选择 0:不执行任何操作,直接返回实验箱的监控状态。

选择 1:将执行往实验箱发送文件,即把指定的文件从磁盘中取出,通过串行口传送给实验箱并存储于主存中。要求:被发送的文件一定是经交叉汇编程序ASEC16汇编后生成的.COD 文件,该文件包含由ORG定义的程序或数据的首地址,传送时就以此地址作为目标地址;目标地址指向的主存应为RAM区。

选择 2:将执行从实验箱接收文件,并作为文件存于计算机的磁盘中。选择2之后,首先输入计算机中将用的文件名,就可以把实验箱主存中某一区域中的数据传送给计算机。要求:在执行文件传送之前,必须先用监控命令E在实验箱主存2600H单元输入被传数据在实验箱内存区的起始地址,在2601H单元输入被传数据的字长度。

选择 3:退出通信程序,返回操作系统。

3.交叉汇编程序

在计算机上运行的一个交叉汇编程序ASEC,它用计算机指令设计,能对实验箱的汇编语言的程序完成汇编,并生成指令代码。当把汇编生成的代码.COD 传送到实验箱指定内存后,就可以予以执行。

这种编程方法的好处主要体现在两个方面:一是充分利用了计算机的已有功能,如较强的编辑功能,好用的文件系统和磁盘设备等;二是ASEC是一个符号汇编程序,不仅能对已实现的指令进行汇编,而且还提供了非常有用的伪指令,并允许在汇编语句中使用语句标号,这就能有效地避免直接使用绝对地址值(在监控程序的方式下是不支持的)。这对在实验箱上开发运行较大的汇编程序是很必要的。最明显的例子就是开发实验箱系统本身的监控程序,若没有在计算机上实现的交叉汇编程序的支持,将是很困难的。

交叉汇编程序使用说明如下。(1)ASEC提供的功能

① 交叉汇编程序支持如下伪指令。

写在程序中的、指示汇编程序如何对该程序执行汇编操作的命令,叫做伪指令。

以address为首地址在存储器中存储expression指定的值,这里的expression还包括用单引号括起来的字符串,如:lab DW 3,5,‘String’,‘China’。

② 交叉汇编程序支持使用数值的十进制、十六进制表示,默认为十进制,如30、30D、30d均表示是十进制整数 30,而 30h、30H、A1h 则表示十六进制整数。对于表达式,可以支持+、−、*、/等四则运算,但表达式中不能含有括号,运算次序一律从左至右,不支持运算符的优先级。

③ 相对转移指令的转移范围为−128~+127字节,即转移目标地址与当前地址之差应在这个范围,否则要使用绝对转移指令。(2)源程序

源程序必须以ORG开始,以END 结尾。地址范围是0~65535(字节单位)。用户也可以在程序内部插入多个ORG,用来指定下面新程序段的起始地址,而中间的空余存储单元将在汇编过程中自动填FF。(3)ASEC的运行过程

① 在DOS命令行提示符下输入“ASEC16 源程序文件名{机器码文件名}”。

其中,源程序文件保存的是根据16位机指令编写的源程序,该文件可以取任意的扩展名,默认的扩展名是.ASM,即没有输入文件的扩展名时,程序会使用.ASM作为文件的扩展名。

机器码文件指的是交叉汇编程序对源程序汇编后,生成的机器代码存入的二进制文件。这一输入参数是可选的,当没有输入机器码文件名时,该文件将与源程序文件同名,它的扩展名固定为.COD。

② 如果输入的上述文件名合法,接下来将要求输入扩展指令表所在的文件名。在输入该文件名时,需要给出完整的名字。如果没有扩展指令,则可以直接按下回车键。

③ 交叉汇编程序在执行的过程中,对可能遇到的各种情况进行了详细的判断和检查,对各种错误情况都能给出提示信息,帮助用户顺利完成源程序的汇编工作。

4.联机通信的相关内容(1)联机通信的硬件操作

计算机与TEC-2000A实验箱相连如下。

① 将通信线的9芯插头接在TEC-2000A实验箱水平板的串口“COM1”,另一端接到计算机的串口;

② 将黑色的电源线一端接220V交流电源,另一端插在TEC-2000A实验箱水平板的插座中;

③ 将TEC-2000A实验箱左下方的5个黑色的控制机器运行状态的开关置于正确的位置,在联机操作时,连接方式为00X01,其中X由用户根据自己的控制器方案(组合逻辑还是微程序控制器)确定,控制开关的功能在开关上、下方有标识;

④ 打开船型电源开关,5V电源指示灯亮。(2)硬件操作的注意事项

① 连接电源线和通信线前,TEC-2000A实验箱的电源开关一定要处于断开状态,否则可能会对TEC-2000A实验箱上的芯片和计算机的串口造成损害。

② 5个黑色控制开关的示意图如下,具体见1.1.3节实物图。

③ 几种常用的工作方式(开关拨到上方表示为1,拨到下方为0)如表2-1-1所示。表2-1-1 常用的工作方式(3)应用软件的操作

① 在计算机的硬盘上(如D盘)可以自建一个文件夹TEC-2000A。

② 将已有的软件(如C盘中)的TEC-2000A文件夹下的应用程序PCEC16、ASEC16、EDIT或者其他编辑软件如FlexEdit复制到该文件夹中,如图2-1-1所示。

③ 双击PCEC16图标或者用DOS命令运行程序,出现如图2-1-2和图2-1-3所示的界面。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载