《微机原理与汇编语言》实验指导书_第1页
《微机原理与汇编语言》实验指导书_第2页
《微机原理与汇编语言》实验指导书_第3页
《微机原理与汇编语言》实验指导书_第4页
《微机原理与汇编语言》实验指导书_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、 微机原理与汇编语言实验指导书 (06、07通信)闽江学院计算机系 2009,9 目 录(组成部分)实验一 1.1运算器实验-11.2算术逻辑运算实验-11.3进位控制实验-51.4移位运算实验-8实验二 存储器实验-11实验三 微控制器实验-15实验四 基本模型机设计与实现-24实验五 带移位运算的模型机的设计与实现-33前 言本实验讲义为计算机组成与汇编语言课程的配套教材,安排的实验课时为10个学时。计算机组成与汇编语言实验课程是配合计算机组成与汇编语言课程教学的辅助课程。通过本课程的学习可进一步深化和掌握课堂理论教学内容,并为学生提供必要的实践机会,以增强其感性认识和实际动手能力。同时,

2、通过本实验课,使学生掌握构成一台计算机的物理实现方法和计算机系统结构的一些基本概念,为学习其它计算机专业课程打下基础。其它参考资料:cct-计算机组成原理实验指导书cct-计算机组成原理使用手册实验一 运算器实验 1实验目的 1.1掌握简单运算器的数据传送通路。1.2验证运算功能发生器(74lsl81)的组合功能。1.3验证带进位控制的算术运算功能发生器的功能。1.4按指定数据完成几种指定的算术运算。1.5验证移位控制的组合功能。 2实验设备 cctiv计算机组成原理教学实验系统一台,排线若干。3实验要求3.1 复习课本中有关算术逻辑运算单元(74lsl81)的内容,了解其它相关集成如电路锁存

3、器(74ls373)、三态门(74ls245)等的工作原理和引脚功能。3.2 熟悉cctiv计算机组成原理教学实验系统的布置与正确的使用方法,防止不正当的操作而造成实验仪器的损坏。3.3 实验结束后恢复实验仪器,并将所有排线和其它工具整理好。3.4 认真记录实验过程中的有关现象和实验结果,课后结合所学的知识加以分析并完成实验报告。3.5 掌握16位串/并运算器的工作原理和寄存器工作原理。4实验重点 向寄存器dr1和dr2置数时,需要一个脉冲信号,这是整个实验的关键所在。5实验内容5.1 算术逻辑运算实验 5.1.1 实验原理 实验中所用的运算器数据通路图11所示。其中运算器由两片74lsl81

4、以并串形成构成8位字长的alu。运算器的输出经过一个三态门(74ls245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74ls373)锁存,锁存器的输入连至数据总线,数据开并(“input device”)用来给出参与运算的数据,并经过三态门(74ls245)和数据总线相连,数据显示灯(“bus unit”)已与数据总线相连,用来显示数据总线内容。图中已将用户需要连接的控制信与用圆圈标明(其他实验相同,不再说明),其中除t4为脉冲信与,其它均为电平信号。由于电路中的时序信号均已连至“wr unit”的相应时序信号引出端,因此,在进行实验时,只需将“wr unit”的t4接至“st

5、ate unit”的微动开关kk2的输出端,按动微动开关,即可获得实验所需的单脉冲,而s3、s2、s1、s0、cn、m、lddrl、lddr2、alub、swb各电平控制信号用“switch unit”中的二进制数据开关来模拟,其中cn、 alub、swb为电低电平有效,lddrl、lddr2为高电子有效。图1-1运算器数据通路5.1.2 实验步骤(1) 按图1-2连接路线,仔细检查无误后,接通电源。(2) 用二进制数码开关dr1和dr2寄存器置数,具体操作步骤图示如下:检验drl和dr2中存的数是否正确,具体操作为:关闭数据输入三态门(swb=1),打开alu输出三态门(alub=0),当置

6、s3、s2、s1、s0、m为1 1 1 1 l时,总线指示灯显示drl中的数,而置成10101时总线指示灯显示dr2中的数。图 12 实验接线图(3)验证74lsl81的算术运算和逻辑运算功能 (采用正逻辑)在给定drl=65、dr2=a7的情况下,改变运算器的功能设置,观察运算器的输出,填入下表中,并和理论分析进行比较、验证。表1-15.2 进位控制实验5.2.1 实验原理进位控制运算器的实验原理如图13所示,在实验(1)的基础上增加进位控制部分,其中181的进位进入一个74锁存器,其写入是由t4和ar信号控制,t4是脉冲信号,实验时将t4连至“state unit”的微动开关kk2上。 a

7、r是电子控制信号(低电平有效),可用于实现带进位控制实验,而t4脉冲是将本次运算的进位结果锁存到进位锁存器中。图1-3进位控制实验原理图 5.2.2 实验步骤 (1)按图14连接实验线路,仔细查线无误后,接通电源。图14 实验接线图 (2)用二进制数码开关向drl和dr2寄存器置数,具体方法: 关闭alu输出三态门 (alub=1),开启输入三态门(sw-b=0),设置数据开关;例如向drl存入01010101,向dr2存入10101010。具体操作步骤如下:(3)进位标志清零具体操作方法如下: s3s2s1s0m的状态置为0 0 0 0 0,ar状态置为0(清零时drl寄存器中的数应不等于f

8、f) 按动微动开关kk2,观察进位标志指示灯并记录。 注:进位标志指示灯cy亮时表示进位标志为“0”,无进位;标志指示灯cy灭时表示进位为“1”,有进位。(4)更改存入dr1、dr2的数据(至少3组数据),重复步骤(2)、 (3)并记录。(5)验证带进位运算及进位锁存功能,使cn=l,ar=0,swb=1来进行带位算术运算。例如:做加法运算,首先向drl、dr2置数,然后使alub=0,s3s2s1s0m状态为1 0 0 1 0,此时数据总线上显示的数据为drl加dr2加当前进位标志,这个结果是否产生进位,则要按动微动开关kk2,若进位标志灯亮,表示无进位;反之,有进位。5.3 移位运算实验

9、5.3.1 实验原理图1-5移位运算原理图移位运算实验原理如图l一5所示,使用了一片74ls299作为移位发生器,其八个输入输出端以排针方式和总线单元连接。299-b信号控制其使能端,t4时序为其时钟脉冲,实验时将“wr unit”中的t4接至“state unit”中的kk2单脉冲发生器,由s0 s1 m控制信号控制其功能状态,其列表如下: 5.3.2 实验步骤 (1)按图16连接实验线路,仔细查线无误后接通电源。图16 实验接线图(2)移位操作: 置数,具体步骤如下: 移位,参照上表设置s0、s1、m、299-b的状态,每按动一次微动开关kk2,观察移位结果并记录,循环8次。改变s0、s1

10、、m、299-b的设置,重复步骤,观察移位结果并记录。6 问题与思考:本实验为验证实验,试分析如果在实验过程中出现结果不正确的情况,可能是由于什么原因引起的?实验二 存储器实验 1实验目的 掌握静态随机存储器ram工作特性及数据的读写方法。掌握计算机中ram存储器部分的硬件构成。 2实验设备 cctiv计算机组成原理教学实验系统一台,排线若干。3实验要求3.1 复习课本中有关ram存储器及其扩展的内容。3.2 熟悉ram存储器外围芯片74ls273、74ls245的功能及引脚。3.3 认真记录实验过程中的有关现象和实验结果,理解数据、地址和控制总线的作用。课后结合所学的知识加以分析并完成实验报

11、告。4实验重点4.1 由于ram存储器的地址和要写入该单元的数据是通过同一个拨动开关设置,要特别注意所设置的数是ram存储器的地址还是要写入该单元的数据。4.2 注意区分送数据和送地址时不同的片选信号。4.3 送数据和送地址时均需要一个正脉冲信号,这个信号在本实验中是同一个信号,而且是手动产生的。 5实验内容 5.1 实验原理实验所用的半导体静态存储器电路原理如图21所示,实验中的静态存储器由一片6116(2k x 8)构成,其数据线接至数据总线,地址线由地址锁存器(74ls273)给出。地址灯ado-ad7与地址线相连,显示地址线内容。数据开并经三态门 (74ls245)连至数据总线,分时给

12、出地址和数据。因地址寄存器为8位,接入6116的地址a7一a0,而高三位a8一a10接地,所以其实际容量为256字节。6116有三个控制线:ce(片选线)、oe(读线)、we(写线)。当片选有效(ce=0)时,oe=0时进行读操作,ce=0、we=1时进行写操作,其写时间与t3脉冲宽度一致。实验时将t3脉冲接至实验板上时序电路模块的ts3相应插孔中,其脉冲宽度可调,其它电平控制信号由“switch unit”单元的二进制开关模拟,其中swb为低电平有效,ldar为高电平有效。 5.2 实验步骤 (1)形成时钟脉信号t3,具体接线方法和操作步骤如下: 接通电源,用示波器接入方波信号源的输出插孔h

13、24,调节电位器w1,使h24端输出实验所期望的频率的方波。 将时序电路模块中的和h23排针相连,clr置“1”。 在时序电路模块中有两个二进制开关“stop和“step。将“stop”开关置为“run”状态、“step”开关置为“exec”状态时,按动微动开关start,则t3输出连续的方波信号,此时调节电位器w1,用示波器观察,使t3输出实验要求的脉冲信号。当“stop”开关置为“run”状态、“step”开关置为“step”状态时,每按动一次微动开关start,则t3输出一个单脉冲,其脉冲宽度与连续方式相同。 关闭电源。图2-l 存储器实验原理图(3) 按图22连接实验线路,仔细查线无误

14、后接通电源。由于存储器模块内部连线已经接好,因此只需完成实验电路的形成、控制信号模拟开关、时钟脉冲信号t3与存储模块的外部连接。(4) 给存储器的00、01、 02、 03、 04 地址单元中分别写入数据11、12、13、14、15,具体操作步骤如下:(以向0号单元写入11为例)依次读出第00、01、 02、 03、 04 地址单元中的内容,观察上述各单元中的内容是否与前面写入的一致。具体操作步骤如下:(以向0号读出11数据为例)6 问题与思考:6.1 结合本实验及所学知识,试分析对rom(如eerom)进行读写操作的过程。6.2 结合本实验,复习课本中有关ram存储器地址扩展的方法。实验三

15、微控制器实验 1. 实验目的 1.1 掌握时序产生器的组成原理。 1.2 掌握微程序控制器的组成原理。 1.3 掌握微程序的编制、写入,观察微程序的运行。1.4 掌握计算机中微指令的构成,控制字段和下址字段的含义。1.5 熟悉计算机的指令是如何通过微指令来执行的。 2实验设备 cctiv计算机组成,原理教学实验系统一台。 3实验要求3.1 复习课本中有关指令和微指令的的内容。3.2 复习课本中时序电路及脉冲发生器的内容。4实验重点本实验中微指令的下址是以八进制来表示的。5实验内容5.1 实验原理实验所用的时序电路原理如图3-1所示,可产生4个等间隔的时序信号tsl-ts4,其中为时钟信号,由实

16、验台左上方的方波信号源提供,可产生频率及脉宽可调的方波信号。学生可根据实验自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器cr,使tsl-ts4信号输出可控。图中step(单步)、stop(停机) 分别是来自实验板上方中部的两个二进制开关step、stop的模拟信号。当step开关为0时(exec),一旦按下启动键,运行触发器cr一直处于“1”状态,因此时序信号tsl-ts4将周而复始地发送出去。当step为1(step)时,一旦按下启动键,机器便处于单步运行状态,即此时只发送一个cpu周期的时序信号就停机。利用单步方式,每次只读一条微指令,可以观

17、察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果stop开关置“1”(stop),也会使机器停机。由于时序电路的内部线路已经连好,所以只需将时序电路与方波信号源连接(即将时序电路的时钟脉冲输入端接至方波信号发生器输出端h23),时序电路的clr已接至实验板左下方的clr模拟开关上。图3-1时序电路原理图 5.2 微程序控制电路与微指令格式 (1)微程序控制电路微程序控制器的组成见图3-2,其中控制存储器采用3片2816的e2prom,具有掉电保护功能,微命令寄存器18位,用两片8d触发器(273)和片4d(175)触发器组成。微地址寄存器6位,用三片正沿触发的双d触发器(74

18、)组成。它们带有清“0端和预置端。在不判别测试的情况下,t2时刻打入微地址寄存器的内容即为下一条微指令地址。当t4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:prom(编程)、read(校验)、run(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流

19、程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。图3-2微控器实验原理图(5) 微指令格式微指令长共24位,其控制位顺序如下: 表3-1 其中ua5-ua0为6位的后续微地址,a、b、c三个译码字段,分别由三个控制位译码出多位。c字段中的p(1)-p(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图3-3所示,图中17-12为指令寄存器的第7-2位输出,se5sel为微控器单元微地址锁存器的强置端输出。ar为算术运算是否影响进位

20、及判零标志控制位,其为零有效。b字段中的rdb、r0b、rib分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器0、r1及r2的选通译码,其原理如图3-4,图中10-14为指令寄存器的第0-4位,ldri打入工作寄存器信号的译码器使能控制位。图3-3图3-45.3 实验步骤(1) 图35为几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表32的二进制代码表。 图35微程序流程图表3-2 二进制代码表(2)按照图-连接线路,仔细检查线路后接通电源图3-6实验接线图(3)观测时序信号用双踪示波器(或用pc示波器

21、功能)观察方波信号源的输出,时序电路中的“stop”开关置为“run”、“step”开关置为“exec”。按动start按键,从示波器上可观察到tsl、ts2、ts3、ts4各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,见图37。图3-7 (4)观察微程序控制器的工作原理: 编程 a将编程开关置为prom(编程)状态。 b将实验板上“state unit”中的“step”置为“step”,“stop”置为“run”状态。 c用二进制模拟开关置微地址ma5ma0。 d在mk24-mkl开关止置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。

22、 e,启动时序电路(按动启动按钮“start”),即将微代码写入到e2prom 2816的相应地址对应的单元中。 f重复ce步骤,将表32的微代码写入2816。 校验a将编程开关设置为read(校验)状态。 b将实验板的step开关置为step状态,stop开关置为run状态。c用二进制开关置好微地址ma5-ma0。 d按动“start”键,启动时序电路,读出微代码,观察显示灯md24-mdl的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于prom编程状态,重新执行即可。 单步运行 a将编程开关置于“run(运行)”状态。 b,实验板的“step”及

23、“stop”开关保持原状。 c操作clr开关(拨动开关在实验板右下角)使clr信号1-0-l ;微地址寄存器ma5一ma0清零,从而明确本机的运行入口微地址为000000(二进制)。 d按动“start”键,启动时序电路。则每按动一次启动键,读出一条微指令后停机,此时实验台上的微地址显示灯和微命令显示灯将显示所读出行指令。 注意: 在当前条件下,可将micro-controller”单元的se6-se,接至switch unit”中的s3一cn对应二进制开关上, 可通过强置端se1一se6人为设置分支地址。将se1se6对应二进制开关量为“1”,当需要人为设置分支地址时,将某个或几个二进制开关

24、置为“0”, 相应的微地址位即被强置为“1”, 从而改变下一条微指令的地址。(二进制开关置为“0”, 相应的微地址位将被强置为“1”) 连续运行 a将编程开关置为“run(运行)”状态。 b将实验板的单步开关“step”置为“exec”状态。 c使clr从101, 此时微地址寄存器清“0”, 从而给出取指微指令的入 口地址为000000(二进制)。d启动时序电路, 则可连续读出微指令。6 问题与思考:6.1 结合本实验,试分析本实验中微指令是水平型微指令还是垂直型微指令?各有什么特点。6.2 结合本实验,试分析实验中的单步运行和连续运行各有什么特点?为什么可以实现连续运行。6.3 结合本实验及

25、所学知识,分析为什么单步运行时可以实现逐条读出微指令的功能。实验四 基本模型机设计与实现1实验目的 1.1 在掌握部件单元电路实验的基础上, 进一步将其组成系统构造一台基本模型计算机。 1.2 为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。1.3 进一步掌握计算机的指令是如何通过微指令来执行的,以及程序和微程序的运行过程。1.4 学会通过单步运行的方法找出错误的指令或微指令,从而实现对程序的调试。 2实验设备 cctiv计算机组成原理教学实验系统一台, 排线若干。3实验要求在实验三的基础上,利用控制台的功能校验用户指令输入的正确与否;通过本实验,能熟练掌握有关pc寄存器、

26、指令寄存器、指令译码器的概念以及微指令入口地址的实现和下址的形成等指令执行的内部过程。4实验重点本实验中微指令的下址是以八进制来表示的。注意区分指令和微指令及其各自的写入方法。5实验内容5.1 实验原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令: in(输入)、 add(二进制加法)、 sta(存数)、 out(输出)、

27、jmp(无条件转移)其指令格式如下(前4位为操作码): 其中in为单字长(8位), 其余为双字长指令, x x x xx x x x为addr对应的二进制地址码。为了向ram中装入程序和数据, 检查写入是否正确, 并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(krd):拨动总清开关clr后,控制台开关swb、swa为产0 0”时,按start微动开关,可对ram连续手动读操作。存储器写操作(kwe):拨动总清开关clr后, 控制台开关swb、swa置为“0 1”时, 按start微动开关可对ram进行连续手动写入。启动程序:拨动总清开关clr后,控制台开关swb、 swa置为

28、“1 1”时,按start微动开关, 即可转入到第0l号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关swb、swa的状态来设置, 其定义如下: 根据以上要求设计数据通路框图,如图41。微代码定-义如表41所示。图4-1数据通路框图 表4-1系统涉及到的微程序流程见图42, 当拟定“取指”微指令时,该微指令的判别测试字段为p(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此p(1)的测试结果出现多路分支。 本机用指令寄存器的前4位(1r7ir4)作为测试条件, 出现5路分支,占用5个固定微地址单元。控制台操作为p(4)测试,它以控制台开关swb、swa作为测试条件,

29、出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为8进制。当全部微程序设计完毕后,应将每条微指令代码化,表32即为将图33的微程序流程图按微指令格式转化而成的“二进制微代码表”。 图4-2微程序流程图表4-2 二进制代码表下面介绍指令寄存器(ir) :指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时, 先把它从内存取到缓冲寄存器中,然后再传送指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试p(1),通过节拍脉冲t4的控制以便

30、识别所要求的操作。“指令译码器”(实验板上标有“ins decode”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。 本系统有两种外部io设备, 一种是二进制代码开关,它作为输入设备(1nputdevice);另一种是数码块,它作为输出设备 (output device)。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当写信号(wr)有效时,将数据打入输出锁存器,驱动数码块显示。本实验设计机器指令程序如下: 5.2 实验步骤(1) 按图43连接实验线路。(2)

31、写程序 方法一:手动写入 先将机器指令对应的微代码正确地写入2816中,由于在实验(三)微程序控制实验中已将微代码写入e2prom芯片中,对照表42校验正确后就可使用。 使用控制台kwe和krd微程序进行机器指令程序的装入和检查。a 使编程开关处于“run”,step为“step”状态, stop为“run”状态。b 拨动总清开关clr(01),微地址寄存器清零, 程序计数器清零。然后使控制台swb、swa开关置为“0 l”,按动一次启动开关start,微地址显示灯显示“010001”,再按动一次start, 微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次sta

32、rt键, 即完成该条指令的写入。若仔细阅读kwe的流程,就不难发现,机器指令的首地址只要第一次给入即可,pc会自动加1,所以,每次按动start,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。 c写完程序后须进行检验。拨动总清开关clr(01)后,微地址清零,pc程序计数器清零,然后使控制台开关swb、swa为“0 0”,按动启动start,微地址灯将显示“010000”,再按start,微地址灯显示为“010010”,第三次按start,微地址灯显示为“010000”,此时总线单元的显示灯显示为该首地址的内容。不断按动start,可检查后续单元内容,注意:每次仅在微

33、地址灯显示为“010000”时,显示灯的内容才是相应地址中的机器指令内容。 方法二:联机读写程序 按照规定格式, 将机器指令及表32微指令二进制表编辑成十六进制的如下格式文件。程 序$p0000$p0110$p020a$p0320$p040b$p0530$p060b$p0740$p0800$poa01$m0010810l$m0182ed01$m0248c000$m0304e000$m0505b000$m0506a201$m06019a95$m070de000$m08011000$m0983ed01$moa87ed01$mob8eed01$moc96ed0l$mod018202$moeofe00

34、0$mofl5a000$m1092ed01$m1194ed01$m1217a000$m1301 8001$m141 82000$m15010a07$m1681d100$m17100a07$m18118a06用联机软件的传送文件功能 (f4)将该格式文件传入实验系统即可。 (3)运行程序 单步运行程序 a使编程开关处于run”状态,step为step状态,stop为run”状态。 b拨动总清开关clr(01), 微地址清零,pc计数器清零, 程序首地址为00h。 c单步运行一条微指令, 每按动一次start键, 即单步运行一条微指令。 对照微程序流程图, 观察微地址显示灯是否滞和流程一致。 d当

35、运行结束后,可检查存数单元(0b)中的结果是否和理论值一致。 连续运行程序 a 使“state unit”中的step开关置于“exec”状态。stop开关置为“run”状态。 b拨动clr开关,清微地址及pc计数器,按动start,系统连续运行程序,稍后将stop拨至“stop”时,系统停机。 c停机后,可检查存数单元(ob)结果是否正确,。 若联机运行程序时,进入debug调试界面,总清开关clr(0一1)清零后,程序首地址为00h,按相应功能键即可联机运行、调试程序。(软件使用说明请看使用手册)6. 问题与思考:6.1 结合本实验,试分析本实验中的程序在连续运行时,不断改变拨动开关的数据

36、,会出现什么现象?6.2 如何停止程序的运行?程序停止后,输出设备(本实验中为数码块)还有显示吗?显示的是什么数据?为什么?实验五 带移位运算的模型机的设计与实现1实验目的1.1 熟悉用微程序控制器控制模型机的数据通路。1.2 学习设计与调度计算机的基本步骤及方法。1.3 进一步掌握计算机的指令是如何通过微指令来执行的,以及程序和微程序的运行过程。1.4 学会通过单步运行的方法找出错误的指令或微指令,从而实现对程序的调试。1.5 提高对cpu中算术逻辑部件、程序计数器、指令寄存器、指令译码器、通用寄存器、移位电路和控制存储器等各个部件之间协调工作的认识。2实验设备cctiv计算机组成原理教学实

37、验系统台, 排线若于。3实验要求本实验连接线多,微指令长,要求能熟练接线和准确输入微指令;能够明确每条机器指令所对应的微指令以及微指令每个控制位的功能;通过程序的运行调试了解数据通道分时协调的工作过程,为基于可编程逻辑阵列芯片的算术逻辑单元、移位电路、控制器的设计作好准备。4实验难点4.1 微指令如何通过微操作实现对数据通道的控制。4.2 为了缩短微指令的宽度,对微指令控制字段的某一部分采用译码的方式,增加了微指令的调试难度。5实验内容5.1 实验原理本实验在实验四中的基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验中新增4条移位运算指令:rl(左环移)、rlc(带进位左环移)、rr

38、(右环移)、rrc(带进位右环移),其指令格式如下: 操作码 rr 01010000 rrc 01100000 rl 01110000 rlc 10000000以上4条指令都为单字长(8位)。rr为将r0寄存器的内容循环右移一位。rrc为将r0寄存器的内容带进位右移一位,它将r0寄存器中的数据右边第一位移入进位,同时将进位寄存器的数移至r0寄存器的最左位。rl为将r0寄存器的数据循环左移一位。rlc为将r0寄存器中的数据带进位循环左移一位。为了向ram中装入程序和数据, 检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序。存储器读操作(krd):拨动总清开关clr后,控制台开关s

39、wb、swa为 “00”时,按start启动钮,可对ram连续手动读操作。存储器写操作(kwe)拨动总清开关clr后,控制台开关swb、swa置为“0 1”时,按动start启动钮,可对ram进行连续手动写入。启动程序:拨动总清开关clr后,控制台开关swb,swa置为“1 1”时,按动启动钮,即可转入到第01号“取址”微指令。上述三条控制台指令用两个开关swb、 swa的状态来设置, 其定义如下: 实验数据通路框图如图51, 编写微程序流程图及确定微地址如图52。图5-1带移位运算的模型机的数据通路框图图5-2微程序流程图本实验设计机器指令程序如下: 将微代码流程图代码化, 本实验给出将微程

40、序二进制代码转化成十六进制格式文件,机器指令及微程序按照规定格式编写成十六进制格式文件, 具体内容如下:5.2 实验步骤(1) 按图53连接实验线路,仔细查线无误后接通电源。图5-3实验接线图(2)写微程序 与pc联机,将实验微程序装入cm机中或脱机时手动将本实验微程序写入cm中,手动写入的具体方法如下:(注意:手动输入时,请将十六进制微代码第1字节和第3字节的内容对换后写入) 编程 a将编程开关置为prom(编程)状态。 b将实验板上state unit中的“step置为“step”, stop”置为run”状态。 c用二进制模拟开关置微地址ma5ma0。 d在mk24一mkl开关上置微代码

41、,24位开关对应24位显示灯,开关量为“()”时灯亮,开关量为“1”时灯灭。 e启动时序电路(按动启动按钮start),即将微代码写入到eeprom2816的相应地址对应的单元中。 f 重复cb步骤,将本实验给出的十六进制格式文件转换的二进制代码写入2816。微指令格式如下: 校验 a将编程开关设置为read(校验)状态。 b将实验板的step开关置为step状态,stop开关置为run状态。 c用二进制开关置好微地址ma5一ma0。 d按动start”键,启动时序电路,读出微代码,观察显示灯md24mdl的状态(灯亮为“0”, 灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开

42、关置于eeprom编程状态,重新执行即可。 (3) 写程序 方法一:手动写入 使用控制台kwe和krd微程序进行机器指令程序的装入和检查。 a使编程开关处于run”,step为step状态,stop为run”状态。 b拨动总清clr(01),微地址寄存器清零,程序计数器清零,然后使控制台swb、 swa开关置为“0 1”,按动一次启动开关start,微地址显示灯显示“001001”,再挥动一次start, 微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动一次start键,即可完成该条指令的写入。若仔细阅读kwe的流程,就不难发现,机器指令的首地址只要第一次给入即可,p

43、c会自动加l,所以,每次按动start,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。 c写完程序后须进行校验。拨动总清开关clr(01)后,微地址清零, pc程序计数器清零,然后按动启动start,微地址灯将显示“001000”,再按start,微地址灯显示为“001010”,第三次按start,微地址显示为“001000”,此时总线单元的显示灯显示为该首地址的内容。不断按动start, 可检查后续单元内容,注意:每次仅在微地址灯显示为“001000”时,显示灯的内容才是相应地址中的机器指令内容。 方法二:联机读写程序 使用软件中的f4(load)功能装入机器指令格

44、式文件或f2(rw pr)功能逐条写入。 (4)运行程序 单步运行程序 a使编程开关处于run”状态,step为“step”状态,stop为run”状态。 b拨动总清开关clr(01),微地址清零,pc计数器清零,程序首地址为00h。 c单步运行一条微指令,每按动一次start键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。 d当运行结束后,可检查存数单元(0e)中的结果是否和理论值一致。 连续运行程序 a 使state unit 中的step开关置为exec”状态。stop开关置为“run”状态。 b 拨动clr开关,清微地址及pc计数器,然后按动start,系统

45、连续运行程序,稍后将stop拨至“stop”时,系统停机。 c停机后,可检查存数单元(0e)结果是否正确。 若联机运行程序时,进入debug调试界面,总清clr(01)清零后,程序相应首地址为00h, 按相应功能键即可联机运行、调试程序。(软件使用说明请看使用手册) 存放机器指令的ram中0d(十六进制)单元自定,0e(十六进制)单元存放结果。参照机器指令及微程序流程图,将实验结果与理论分析比较。6. 问题与思考:6.1 本实验与实验四相比,微指令的执行过程和实验结果有哪些不同?试分析。6.2 若实验结果与理论值不符,问题可能出在哪里?怎样才能找到出错的地方?6.3 若发现程序走不下去,问题可

46、能出在哪里?怎么解决?目 录(汇编语言部分)第一章 汇编语言程序设计实践操作软件简介11 汇编语言程序的上机操作过程212 编辑程序313 汇编程序1014 连接程序1315 调试程序1816 上机实践常用的系统功能调用3517 汇编语言和pc-dos(或ms-dos)操作系统的接口 38第二章 汇编语言程序设计实验指导及试验报告实验一 汇编语言编程的软件实训40实验二 与数据有关的寻址方式操作练习42实验三 加法运算编程实践44实验四 将ascii码表示的八位二进制数转换成一字节 二进制数并显示46实验五 二进制数与十六进制数间的转换程序设计48实验六 十进制数转换成十六进制数49实验七 循

47、环程序设计(一)49实验八 循环程序设计(二)51实验九 分支程序设计(一)52实验十 分支程序设计(二)53实验十一 子程序设计54实验十二十五 自选实验 55ascii码表56 第一章 汇编语言程序设计实践操作软件简介汇编语言程序设计是一门实践性很强的课程。编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。建立程序、调试程序需要一些相应软件的帮助。11 汇编语言程序的上机操作过程1.1.1 运行汇编语言程序所需的应用程序本课程的实验所用计算机为ibmpc及其兼容机。操作系统使用ms-dos20以上版本。目前计算机多采用dos60以上版本。编辑程序可用edit.com

48、、edlin、全屏幕编辑程序qe或其它可用于文件编辑的软件。汇编程序可用宏汇编程序masm 50以上版本,或汇编程序asm。连接程序使用link程序。调试程序使用debug程序,turbo debugge源代码调试器(td)上述软件可复制在一张软磁盘上。在对汇编语言源程序进行操作时,可调用盘上有关程序。也可以预先将它们复制到硬盘中,则使用起来就更方便。其中部分应用程序将在本章进行简要讲述。读者可根据需要阅读有关书籍。1.1.2 汇编语言源程序上机操作过程从编写汇编语言源程序到计算机可以运行该程序,中间要经历一些步骤。大体上可以归纳为如图51所示1 编辑源文件根据给定的任务可在计算机上通过编辑程序建立源程序。一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以至重新编辑,直到所编辑的源程序认为无错误为止。把它以一个源程序文件(asm文件)存盘。注意:这个源程序文件的扩展名一定要用.asm,否则汇编时,文件将打不开。2 汇编源程序文件由编辑程序所建立的源程序文件,只是个文本文件,计算机无法执行。需要经过汇编程序的汇编,使其转化为目标代码文件。它是通过调用宏汇编masm程序(或小汇编程序asm)完成这一汇编任务的。汇编程序还将对源程序文件进行语法检查,如发现有错,将给出错误信息。

温馨提示

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

评论

0/150

提交评论