微机原理习题答案_第1页
微机原理习题答案_第2页
微机原理习题答案_第3页
微机原理习题答案_第4页
微机原理习题答案_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、作业14、(画一个计算机系统的方框图),简述各部分的主要功能。计算机系统框图见课本P7图1.3,各部分功能如下:1)微处理器:从存储器中取指,进行算术逻辑运算,与存储或I/O传送数据,程序流向控制等。2)存储器:由RAM和ROM组成,用来存储程序和数据。3)I/O接口:用于连接CPU与外部设备,当它们之间进行数据交换时,使之在信息的格式、电平、速度方面匹配。4)总线:将CPU与存储器和I/O接口相连,是传送地址、数据和控制信息的通道。可分为地址总线,数据总线和控制总线。5)I/O设备:输入数据及程序,输出或显示运算和程序执行结果。6)软件系统:可分为系统软件、支撑软件和应用软件,使计算机能完成

2、各种任务。9、将下列二进制数转换为十进制数。(1)1101.01B 1101.01B = 23+22+20+2-2=13.25D(2) 111001.0011B111001.0011B = 25+24+23+20+2-3+2-4=57.1875D11、将下列十进制数转换为二进制、八进制和十六进制数。(2)107107 D=1101011B = 153O = 6BH(3)12381238D=10011010110B = 2326O = 4D6H12、将下列十进制数转换为8位有符号二进制数。(1)+32原码:00100000B补码:00100000B(4)-92原码:11011100B补码:101

3、00100B13、将下列十进制数转换为压缩和非压缩格式的BCD码。(2)44压缩BCD码:01000100B = 44H非压缩BCD码:0000 0100 0000 0100B = 0404H(3)301压缩BCD码:00000011 00000001 = 0301H非压缩BCD码:00000011 00000000 00000001B = 030001H14、将下列二进制数转换为有符号十进制数。(1)10000000B 10000000B = -0D 15、将下列十进制数转换为单精度浮点数。单精度浮点数为32位二进制数: 1位符号 8位阶码 23位尾数(1)+1.51.5D = 1.120符

4、号 0 阶码 127+0 = 0111111 尾数 100 0000 0000 0000 0000 0000存储为: 0011 1111 1100 0000 0000 0000 0000 0000B = 3FC00000H(2)-10.625-10.625D = - 1010.101B = - 1.01010123符号 1 阶码 127+3 = 130D = 1000 0010B 尾数 010 1010 0000 0000 0000 0000存储为:1100 0001 0010 1010 0000 0000 0000 0000B = C12A0000H作业作业2 P55P565、要完成下述运算

5、或控制,用什么标志位判别?其值是什么?、要完成下述运算或控制,用什么标志位判别?其值是什么?(1)比较两数是否相等。)比较两数是否相等。 假设两个数分别为假设两个数分别为A和和B,进行,进行A-B运算,运算,若若ZF=1 A=B; 若若ZF =0 AB(2)两数运算后结果是正数还是负数。)两数运算后结果是正数还是负数。若若SF=1,结果为负数,结果为负数 SF=0结果为正数结果为正数(3)两数相加后是否溢出。)两数相加后是否溢出。若若OF = 1,结果溢出;,结果溢出;OF=0无溢出。无溢出。(5)两数相减后比较大小。()两数相减后比较大小。(A-B) 无符号数无符号数 CF=1, AB; 有

6、符号数有符号数 无溢出无溢出 (O = 0) : S=0 AB S=1 AB S=0 A B SF + OF= 1 时时 A debug-r AX= 0000 BX=0000 CX=0079 DX=0000 SP=FEEE BP =0000 SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC (1)试画出此时存储器分段示意图试画出此时存储器分段示意图(2)写出状态标志写出状态标志OF、SF、ZF、CF的值。的值。解:解:(1)分段示意图见后页)分段示意图见后页(2)OF =0 SF=0

7、ZF=0 CF=000000HDS:10E4HSS:21F0H0FFFFHES:10F4HCS:31FFH数据段数据段附加段附加段堆栈段堆栈段程序段程序段10E40H10F40H20E3FH20F3FH21F00H31EFFH31FF0H41FEFH16、8086系统中为什么要用地址锁存器?系统中为什么要用地址锁存器?8282地址锁存器与地址锁存器与CPU如何连接?(画图如何连接?(画图说明)说明)答:答:8086微处理器的数据线和地址线复用引脚微处理器的数据线和地址线复用引脚AD0AD15,状态和高,状态和高4位地址线复用位地址线复用引脚引脚A19A15。在。在CPU与存储器(或与存储器(或

8、IO)进行数据交换时,)进行数据交换时,CPU先送地址信号先送地址信号然后再发出控制信号及传送数据。为使读然后再发出控制信号及传送数据。为使读/写总线周期内地址稳定,需要加地址写总线周期内地址稳定,需要加地址锁存器,先将地址锁存。锁存器,先将地址锁存。锁存器锁存器8282与与CPU的连接如下图所示的连接如下图所示8086地址地址锁存器锁存器STB(8282*3)(8286*2)OE(选用)(选用)A19A0D15D0地址总线地址总线数据总线数据总线+5VMN/MXAD15AD0A19A16DENDT/RALETOE作业3_1 P120P121 2、已知:DS=1000H,BX=0200H,SI

9、=02H,内存10200H 10205H单元的内容分别为10H,2AH,3CH,46H,59H,6BH。下列每条指令执行后AX寄存器的内容各是什么?(2)MOVAX,200H AX = 2A10H(4)MOVAX,3BXAX = 5946H (6)MOVAX,2BX+SIAX = 6B59H18、什么叫总线周期?在、什么叫总线周期?在CPU读读/写总线周期中,数据在哪个状态出现在数据总线上?写总线周期中,数据在哪个状态出现在数据总线上?答:答:(1)8086微处理器执行一个总线操作所需要的时间称为总线周期,一个基本的总线微处理器执行一个总线操作所需要的时间称为总线周期,一个基本的总线周期通常包

10、含周期通常包含 4 个个T状态。状态。(2)读总线周期:存储器(或)读总线周期:存储器(或I/O)一般在)一般在T3状态将数据送到数据总线上,状态将数据送到数据总线上,8086在在T4状态读信号的上升沿将数据读入。状态读信号的上升沿将数据读入。写总线周期:写总线周期:8086CPU在在T2状态将数据送到数据总线,直到状态将数据送到数据总线,直到T4状态通过写信号的上状态通过写信号的上升沿将数据写到存储器或升沿将数据写到存储器或I/O接口中。接口中。3、设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为

11、VAL的偏移地址为0030H,试说明下列源操作数字段的寻址方式是什么?物理地址是多少?(1)MOVAX,100H直接寻址,物理地址为:10100H(2)MOVAX,VAL直接寻址,物理地址为:10030H (4)MOVAX,ES:BX寄存器间接寻址,20100H(6)MOVAX,BX+10H寄存器相对寻址,10110H(8)MOVAX,VALBPSI 相对基址变址,352D0H(10)MOVAX,BPDI基址变址寻址,35224H6、指出下列指令中哪些是错误的,错在什么地方?(1)MOVDL,AX指令错误,源操作数与目标操作数应为相同类型数据(2)MOV8650H,AX指令错误,目标操作数不能

12、为立即数(3)MOVDS,0200H指令错误,不能直接对段寄存器DS直接赋值,需通过寄存器AX赋值。(5)MOVIP,0FFH指令错误,IP寄存器的值由微处理器内部控制,不能通过指令直接对其操作。(7)MOVAX,BXBP指令错误,不能同时使用基址寄存器BX和BP (11)MOV AL,OFFSET TABLE指令错误,OFFSET TABLE返回16位地址,而AL寄存器为8位,数据类型不同。(13)INBL,05H指令错误,IN指令必须使用AL寄存器读8位端口。(14)OUTAL,0FFEH指令错误,端口号应存入DX寄存器7、已知当前数据段中有一个十进制数字09的7段代码表,其数值依次为40

13、H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令将十进制数57转换成相应的7段代码值,存到BX寄存器中,试写出相应的程序段。SDATA SEGMENTTABLE:DB 40H,79H,24H,30H,19H DB 12H,02H,78H,00H,18HSDATA ENDSSCODE SEGMENTASSUME CS:SCODE, DS:SDATASTART:MOV AX,SDATAMOVDS,AXMOV AL,5MOV BX,OFFSET TABLEXLAT TABLEMOVAH,ALMOV AL,7XLATTABLEMOVBX,AXHLTSCOD

14、E ENDSSTART END作业3_2 P121P123 8、已知当前SS=1050H,SP=0100H,AX=4860H,BX=1287H试用示意图表示执行下列指令的中,堆栈中的内容和堆栈指针SP怎样变化?PUSHAXPUSHBXPOPBXPOPAX1050:0100SP1050:00FCSP48H60H12H1050:00FESP48H60H1050:00FESP48H60H1050:0100SP48H60H87H12H87H12H87H(1) PUSH AX(2) PUSH BX(3) POP BX(4) POP AX10、已知AX=2508H,BX=0F36H,CX=0004H,DX

15、=1864H,求下列每条指令执行后的结果是什么?标志位CF等于什么?(2)ORBL,30HBL = 36H CF = 0(4)XORCX,0FFF0HCX = FFF4H, CF = 0(6)CMPCX,00HCX值不变,CF = 0(7)SHRDX,CLDX = 0186HCF= 0(9)SHLBH,CLBH = 0F0H CF=0(11)RCLBX,1BX = 000111100110110 xB若执行指令前 CF =0 BX = 0001111001101100B=1E6C若执行指令前 CF =1 BX = 0001111001101101B=1E6D执行后 CF = 013、设CS=1

16、200H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H,(20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N标号的地址为1200:0278H, PROG_F标号的地址为3400:0ABCH。说明下列每条指令执行完后,程序将分别转移到何处执行?如指令中的操作码JMP改为CALL,则每条指令执行后,程序转何处执行?并请画图说明堆栈中的内容和堆栈指针如何变化(1)JMPPROG_N程序转移到地址 1200:0278H ; 改为CALL指令后,disp = 0175H,指令编码为E97501,断点

17、IP为0103H 5000:03FESP01H03H5000:0400(2)JMPBX程序转移到地址 1200:0300H;改为CALL指令后,指令编码为FFD3,断点IP为0102H(3)JMPBX程序转移到地址 1200:4800H;改为CALL指令后,指令编码为FF27,断点IP为0102H(4)JMPFAR PROG_F程序转移到地址 3400:0ABCH;改为CALL指令后,指令编码为EABC0A0034,断点地址为1200H:0105H。CS内容先入栈,然后是IP内容入栈。(5)JMPDWORD PTRBX 程序转移到地址 00FFH:4800H;改为CALL指令后,指令编码为FF

18、1F,断点地址为1200:0102H,CS内容先入栈,然后是IP内容入栈。 16、中断向量表的作用是什么?它存放在内存的什么区域?中断向量表中的什么地址存放类型3的中断?答:中断向量表的作用:存储中断服务程序的入口地址(中断向量)。中断向量位于内存:00000H03FFH,共1024字节中断类型3的中断向量存放于0000CH0000FH。17、设类型2的中断服务程序的起始地址为0485:0016H,它在中断向量表中如何存放?(画图说明)答: 85H00008H00H16H04H0000BH作业作业4 P198P199 1、2、3、4、51、下列变量各占多少字节?、下列变量各占多少字节?A1DW

19、23H,5876H A2DB3 DUP (?), 0AH, 0DH,$A3DD5 DUP (1234H, 567890H)A4DB4 DUP (3 DUP (1, 2, ABC)解解:A1占占4个字节个字节A2占占6个字节个字节A3占占5 x 8 =40个字节个字节A4占占5 x (3x(2+3) =60字节字节23H00H76H58HA1xxHxxHxxH0AHA20DH24H$34H12H00H00HA390H78H56H00H重复5次01H02H41H42HA443H重复3次01H02H41H42H43H01H02H41H42H43H2、下列指令完成什么功能?、下列指令完成什么功能?(1

20、)MOVAX,00FFH AND 1122H + 3344H 解:解: 00FFH AND 1122H + 3344H = 00FFH AND 4466H = 0066H,指令将立即,指令将立即数数0066H送送AX寄存器。寄存器。(2)MOVAL,15 GE 1111B 解:关系为真,表达式为解:关系为真,表达式为0FFH,指令将立即数,指令将立即数0FFH送送AL寄存器,执行指令后寄存器,执行指令后AX = 00FFH(3)MOVAX,00FFH LE 255 + 6/5 解:解:( 00FFH LE ( 255 + 6/5)= 00FFH LE 256 ,(6/5=1),关系为真,表达式

21、为关系为真,表达式为0FFFFH,指令将立即数指令将立即数0FFFFH送寄存器送寄存器AX。指令执行后。指令执行后AX = 0FFFFH(4)ANDAL,50 MOD 4 解:解: 50 MOD 4 = 2,指令将立即数,指令将立即数02H与与AL内容相与,执行指令后内容相与,执行指令后 AX= 0FF02H(5)OR AX,0F00FH AND 1234H OR 00FFH 解:解: 0F00FH AND 1234H OR 00FFH = 1004H OR 00FFH = 10FFH,指令将,指令将AX的内容(的内容( 0FF02H )与立即数)与立即数10FFH相或,执行指令后相或,执行指

22、令后 AX= 0FFFFH3、有符号定义语句如下:、有符号定义语句如下:BUFDB3,4,5,123ABUFDB0LEQUABUF BUF求求L的值为多少?的值为多少?解:解:L值的内容为值的内容为6。4、假设程序中的数据定义如下:、假设程序中的数据定义如下:PARDW?PNAME DB16 DUP(?)COUNT DD?PLENTHEQU$ - PAR求求PLENTH的值为多少?表示什么意义?的值为多少?表示什么意义?解:解: PLENTH的值为的值为 22 ,表示三个变量占用的字节数。,表示三个变量占用的字节数。5、对于下面的数据定义,各条、对于下面的数据定义,各条MOV指令执行后,有关寄

23、存器的内容是什么?指令执行后,有关寄存器的内容是什么?DA1DB?DA2DW10 DUP(?)DA3DBABCDMOVAX, TYPE DA1MOVBX, SIZE DA2MOV CX,LENGTH DA3解:指令执行后解:指令执行后AX = 1BX =20CX = 11 静态RAM和动态RAM有何区别?解:SRAM集成度低于DRAM;SRAM功耗也比DRAM高;SRAM只要电源存在,内容就不会消失,不需要刷新,DRAM由于总是存在有泄漏电流,故要求刷新;SRAM存取速度较DRAM快;3、 DRAM的/CAS和/RAS输入的用途是什么?解:/RAS:行地址选通信号,把行地址送入行地址锁存器,/

24、CAS:列地址选通信号,把列地址送入列地址锁存器。7用10241位的RAM芯片组成16K8位的存储器,需要多少芯片?在地址线中有多少位参与片内寻址?多少位组合成片选信号?(设地址总线16位)解:(1)存储器总容量 = 16K8bits128kbits;每片存储芯片容量为:1kbits需要128/1 =128个存储芯片(2)210 = 1024,每个存储芯片需要10位地址线参与片内寻址(3)由于每8个存储芯片生成一个字节宽度存储器,共用一个片选信号,需要片选信号数为 128/8 = 16由于 24 = 16,所以至少需要4位地址线生成片选信号。8现有一存储体芯片容量5124位,若要用组成4KB的

25、存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线?解:(1)总存储容量为:4KB = 32Kbits, 每片存储芯片的容量为:5124 = 2Kbits 所以需要32/2 = 16片存储芯片。(2)512 = 29,所以每片芯片需要9根寻址线(3)由于2片4位芯片构成一个字节存储体,共用1个片选信号,因此需要16/2 = 8条片选信号。由于23 = 8,需要3根地址线生成片选信号。所以整个存储系统至少需要12根地址线。11当要将一个字写入到存储器奇地址开始的单元中去,列出存储器的控制信号和它们的有效逻辑电平信号(8086工作在最小模式)解:(参见课本P230页

26、,图5.22)存储器写操作由两个总线周期组成,使用的控制信号为:/WE 存储器信号,低电平有效 /CE1 存储器片选信号,低电平有效。(由高位地址线和M/IO信号经译码生成 )CE2 存储器片选信号,高电平有效 奇存储体的CE2信号由/BHE反向后生成 偶存储体的CE2信号由A0反向后生成 8086微处理器发起写操作总线周期控制信号(参见课本P53 图2.53):ALE信号:高电平有效M/IO信号:高电平有效/WR信号:低电平有效DT/R信号:高电平有效/DEN信号:低电平有效 第一个总线周期/BHE=0,A0=1读取奇地址字节 第二个总线周期/BHE=1,A0=0读取偶地址字节12设计一个6

27、4K8存储器系统,采用74LS138和EPROM2764器件,使其寻址范围为40000H4FFFFH 解:EPROM2764容量为8K8 = 64kbits,存储系统容量为64K8 = 512Kbits,故需要512 / 64 = 8片2764 ;8192 = 213 ,每片2764需要13根地址线。分两种情况分析:(1)采用8088微处理器的计算机系统:由于采用8位数据总线,A12 A0用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A16=0100,A15A13作为74LS138译码输入产生片选信号。参考电路图如下:A19A18A17A16G1G2AG2BCBA+5

28、VM/IOA15A14A13RDD7D0A12A0CEOED7D0Y774LS138Y0A12A0CEOED7D0A12A01#8# (2)采用8088微处理器的计算机系统:由于采用16位数据总线,A13 A1用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A17=0100,A16A14作为74LS138译码输入产生片选信号Y3Y0 。参考电路图如下:A19A18A17G1G2AG2BCBA+5VM/IOA16A15A14RDD7D0Y374LS138Y0A12A0CEOED7D0A12A0CEOED7D0A13A1。Y7A13A1D15D813用8K8位的EPROM2

29、764、 8K8位的6264和译码器74LS138构成一个16K字ROM、16K字RAM的存储器子系统。8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286。画出存储器系统与CPU的连线图,写出各芯片的地址分配。 解:(1) 16K字ROM需要4片2764(8K8) 16K字RAM需要4片6264 (8K8)(2) 对于8086系统存储子系统至少要包括的存储空间ROM:FFFF0HFFFFFH(8086复位后,CS=0FFFFH,IP = 0000H,因此微处理器每次上电都从地址0FFFF0H执行第一条指令),若各ROM地址连续分布,4片ROM实现的地址空间为:0F8000H

30、0FFFFFH(32KB)RAM: 00000H003FFH空间为存储中断向量表,要使微机系统能正常工作(处理各种中断),存储器子系统包括这段空间。 4片RAM实现的地址空间为:00000H07FFFH (32KB)READYX1 X2(8284A)8086地址锁存器STB(8282*3)(8286*2)OE(选用)BHEA19A0D15D0地址总线数据总线+5VMN/MXCLKRESETAD15AD0A19A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT存储器子系统系统连线分别参考课本P43图2.15和课本P230页图5.22。G1G2A

31、G2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12A0CEOEA12A0CE1OEA13A1Y7A13A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12A0CEOED7D02#1#A12A0CEOED7D02#1#DBA13A1A13A1RDRDD7D0D15D8D7D0D15D8Y6GND5.说明查询式输入和输出接口电路的工作原理。略,见书P241-242.6.简述在微机系统中,DMA控制器从外设提出请求到外设直接将数据传送到存储器的工作过程。答:当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对于总

32、线的控制权。DMA临时接管总线,控制外设和存储器之间直接进行高速的数据传送。控制器给出访问内存所需要的地址信息,并且自动修改地址指针,设定和修改传送的字节数,向存储器和外设发出相应的读写控制信号。在DMA传送结束后,它能释放总线。用DMA方式读磁盘的过程分为以下几步:进行一次DMA传输前,首先对控制器进行初始化编程。CPU向磁盘控制器发出读盘命令,由磁盘控制器找到要读取的数据位置,并开始读出数据。当磁盘控制器准备好了第一个字节的数据后,就向DMA控制器发送一个DMA请求信号DREQ。DMA送一个请求保持信号HRQ到CPU。CPU将总线浮空。DMA通过地址总线向存储器发送地址信号,指示要被写入内

33、存的第一个数据的地址。随后DMA向磁盘控制器发出确认信号,通知磁盘控制器准备好要输出地数据字节。DMA使控制总线上的I/O读信号和存储器写信号有效。每完成一个字节数据的传送,DMA会自动修改内部地址寄存器的内容,指向下一个字节的地址。传送结束后,DMA撤销保持信号,释放总线。7.某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为300H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。解:每块芯片占有8个端口地址,故需要A2 A1 A0 作为片内寻址线。要求地址连续分布,故需要A3 A4 A5作为片选信号,连接到7

34、4LS138的ABC。起始地址为0000,0011,0000,0000. 故A8 A9 保持为1,其余为0端口地址为:#1: 0000,0011,0000,0000 0000,0011,0000,0111 即300H307H#2:0000,0011,0000,1000 0000,0011,0000,1111 即308H30FH#3: 310H317H #4: 318H31FH#5: 320H327H#6: 328H32FH#7: 330H337H#8:338H33FH下图为8086存储器的部分电路连线图。问:( 1 )M0和M1的寻址范围分别是什么?(2)存储总容量为多少?BHE M/IOA1

35、7 A16 A111A0& M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19解:由图可知,此存储器系统采用双体存储器结构,其中:A0用于选偶存储体,BHE用于选奇存储体。存储芯片M0、M1的片选逻辑表达式为:当且仅当A19A18A17A0BHE M/IO=110011时,CSM0=0,选中M0; 当A19A18A17A0BHE M/IO=110101时,CSM1=0,选中M1; 当A19A18A17A0BHE M/IO=110001时,CSM0=0, CSM1=0, 同时选中M0和M1;于是,由A16A1用于片内地址选择可得:(1)M1的寻址范围为:C

36、0000HDFFFFH的奇地址; M2的寻址范围为:C0000HDFFFFH的偶地址;(2)总存储容量 217 B分析:存储器的地址空间关键是要搞清楚存储器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参与地址译码,哪些地址用于片内单元的选择,然后根据译码逻辑的输出,从而确定存储器的地址空间。如果对译码逻辑很熟悉,可直接根据连线情况,直接写出各存储器芯片的地址范围。课堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1) 需要几片S

37、RAM芯片,若采用全译码,需要多少位地址产生片选信号?(2) 每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3) 画出其地址译码及连接电路图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择信号是A0)(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围 80000H8FFFFH中奇地址偶存储体的地址范围 80000H8FFFFH中偶地址(3) 电路连接图如下BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG

38、1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA162.8255A有哪几种工作方式?各用于什么场合?端口A、端口B和端口C各可以工作于哪几种工作方式?8255A有三种工作方式:方式0:基本输入输出方式,适用于不需要用应答信号的简单输入输出场合;方式1:选通输入输出方式,在这种方式下,A口和B口仍可作为数据的输入输出口,但是同时规定C口的某些位作为控制或状态信息。方式2:双向总线方式,使外设可以在单一的8位总线上,既能发送数据也能接受数据,工作时可用程序查询方式,也可工作在中断方式。端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C可工作于

39、方式0。4若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的3个端口和控制寄存器的地址各是多少? 已知CPU的系统总线为A0A9,D15D0,M/IO, /IOR, /IOW, RESET,试画出8255A的地址译码电路及它与CPU系统总线的连接图。A口:2F9H B口:2FBH C口:2FDH 控制寄存器:2FFH78255A的端口地址为80H,82H,84H,86H, 若A口工作在方式0输入,B口工作在方式1输出,C口各位的作用是什么?控制字是什么?若B口工作在方式0输出,A口工作在方式1输入,C口各位的作用是什么?控制字是什么? A口工作在方式0输入,B口工作在方式1

40、输出,C口各位的作用是: PC0,PC1和PC2作为B口的联络控制信号,其中PC0连接INTR,中断请求信号,PC1连接/OBF,输出缓冲器满信号,PC2连接/ACK信号,外设的回答信号,C口的其余各位仍可做基本输入输出。 INTEB用于允许与禁止B口中断,通过对PC2的置位和复位操作实现 控制字为:1001X10X D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 控制字 端口 B 输出 B 组方式 1 PB7PB0 8 位 & 1NTEA PC2 PC1 PC0 ACKB INTRB WR WR OBFB B口工作在方式0输出,A口工作在方式1输入,C口各位的作用是: C

41、口的PC4,PC5和PC3用作端口A的状态和控制线,其中PC4接/STB,输入选通信号,PC5接IBF向外设发出输入缓冲器满信号,PC3接INTE,中断允许信号,C口其余各位仍可做基本输入输出。INTEA用于允许与禁止A口中断,通过对PC4的置位和复位操作实现 控制字为:1011X00X D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 1/0 控制字 1=PC6、PC7输入 0=PC6、PC7输出 端口 A 为输入 A 组方式 1 PA7PA0 8 位 & 1NTEA PC4 PC5 PC3 STBA IBFA INTRA RD RD I/O PC6、PC7 读打印机状

42、态 建立指针 延时20ms再读 等待中断 返回DOS 是 仍未就绪 12.试画出打印机驱动程序的流程图:发送选通信号 传送 完成? 中断返回 是 否 主程序中断服务程序保护现场关中断允许8255中断 发送字符 修改地址指针 结束中断 恢复现场 关闭8255中断 初始化 初始化各段寄存器 建立服务程序的中断向量 初始化8259 初始化8255延时50us 准备好否 准备好否 FIN允许8086中断 初始化打印机8255APA0PA1PA2PA3PC0PC2PC4PC5PB0PB1PB2PB3PB4PB5PB6PB7到8259INTRACKBERRPESLCTBUSYACKSTROBEINITDA

43、TA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8打印机插座1、已知某指令的逻辑地址CS=0074H IP=5000H,求其物理地址。解:物理地址为0074H10H+5000H = 5740H2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是41020H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效地址是什么? 解:(1)存储位置图右图 (2)有效地址分别为0020H和1023H 7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 4、若已知当前DS=1230H,在

44、偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期)解:由于访问非规则字,需要对存储器访问6次。3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段在存储器中的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值?解:堆栈段在存储器中的物理地址范围为12000H21FFFH. 当前堆栈区的范围:12000H127FFH. SP的内容为800H-14H(20) =7ECH. 33H 1

45、23A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H习题1、高速缓存的存取速度 。A、比内存慢、比辅存快B、比内存慢,比内部寄存器快C、比内存慢,比内部寄存器慢2、下面的说法中,正确的是: 。A、 EPROM是不能改写的B 、EPROM是可改写的,所以也使一种读写存储器C 、EPRPM只能改写一次D 、EPRPM是可改写的,它不能作为读写存储器3、若256KB的SRAM具有8条数据线,则它具有条 地址线A、10 B、15 C、20 D、32下图为8086存储器的部分电路连线图。问:( 1 )M0和M1的寻址范围分别是什么?(2

46、)存储总容量为多少?BHE M/IOA17 A16 A111A0& M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19答案1、C2、DEPROM是紫外线擦除可编程ROM,可反复多次改写,所以A和C不正确; EPROM的编程需外加编程电压,不能在线随机改写,因此EPROM不是随机读写存储器。所以不正确。3、B256Kb=28 x 210 b=215 x (23) b=215 B解:由图可知,此存储器系统采用双体存储器结构,其中:A0用于选偶存储体,BHE用于选奇存储体。存储芯片M0、M1的片选逻辑表达式为:当且仅当A19A18A17A0BHE M/IO=1

47、10011时,CSM0=0,选中M0; 当A19A18A17A0BHE M/IO=110101时,CSM1=0,选中M1; 当A19A18A17A0BHE M/IO=110001时,CSM0=0, CSM1=0, 同时选中M0和M1;于是,由A16A1用于片内地址选择可得:(1)M1的寻址范围为:C0000HDFFFFH的奇地址; M2的寻址范围为:C0000HDFFFFH的偶地址;(2)总存储容量 217 B分析:存储器的地址空间关键是要搞清楚存储器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参与地址译码,哪些地址用于片内单元的选择,然后根据译码逻辑的输出,从而确定存

48、储器的地址空间。如果对译码逻辑很熟悉,可直接根据连线情况,直接写出各存储器芯片的地址范围。课堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1) 需要几片SRAM芯片,若采用全译码,需要多少位地址产生片选信号?(2) 每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3) 画出其地址译码及连接电路图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择

49、信号是A0)(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围 80000H8FFFFH中奇地址偶存储体的地址范围 80000H8FFFFH中偶地址(3) 电路连接图如下BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA161、已知某指令的逻辑地址CS=0074H IP=5000H,求其物理地址。解:物理地址为0074H10H+5000H = 5740H2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是4102

50、0H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效地址是什么? 7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 解: (1)存储位置图如下图(2)有效地址分别为0020H和1023H3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段所在段的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值?解: 堆栈段所在段的物理地址范围为12000H21FFFH.当前堆栈段的范围:12000H127FFH.SP的内容为800H-14H(20) =7ECH.4、若已知当前DS=123

51、0H,在偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期) 33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H解:由于访问非规则字,需要对存储器访问6次。5、对于给定的数据定义,画图说明下列语句所分配的存储空间及初始化的数据,并写出变量R1的值。A1DW1,2,3,ABA2DBABCA3DB 6 DUP (?)R1EQUA3-A16、已知ORG

52、0200HARYDW-1,2,-3,4CNTDW $-ARYVARDWARY,$+4RSTDW?MOVAX, ARYMOVBP, OFFSETVARMOVBX, VARMOVCX, CNTMOVDX, VAR+2LEASI, RST 此程序执行后AX = ,BP = ,BX = ,CX = ,DX = ,SI= ? AX = 0FFFFH , BP = 020AH , BX = 0200H ,CX = 0008H ,DX = 0210H ,SI= 020EH7、若十进制数字、若十进制数字09的的LED七段码对照下表,试用七段码对照下表,试用XLAT指令求数字指令求数字5的七段码值:的七段码值:

53、十进制数十进制数七段显示码七段显示码十进制数十进制数七段显示码七段显示码040H512H179H602H224H778H330H800H419H918HDPabcdefgDPgfedcba七段码位为七段码位为0时发光,为时发光,为1时熄灭。时熄灭。十进制数十进制数0,a、b、c、d、e、f均为均为0,发光。,发光。g、DP为为1,七段显示码为,七段显示码为40HSDATA SEGMENTTABLE:DB 40H,79H,24H,30H,19H ;七段码表格七段码表格 DB 12H,02H,78H,00H,18HSDATA ENDS MOV AL,5;数字数字5的偏移量的偏移量AL MOV BX

54、,OFFSET TABLE ; 表首地址表首地址BX XLAT TABLE;查表得到查表得到AL=12H实现以上操作的程序实现以上操作的程序伪指令伪指令 SEGMENT ENDS 定义数据段,段名为定义数据段,段名为SDATA DB 在数据段中定义字节数据,建立七段码表在数据段中定义字节数据,建立七段码表TABLE OFFSET获取表获取表TABLE相对于数据段基址的偏移相对于数据段基址的偏移 存储器存储器 BX=0000.301910006H10001H10004H10000H7940241202 DS=100010002H10003H10005H8、以下程序实现什么功能?若VAR1的内容为

55、1234H,本段程序执行后,写出VAR2中的数值?画出程序流程图。DSEGSEGMENTVAR1DW?VAR2DB5 DUP (?)DSEGENDSCSEGSEGMENTBAPPROC FARPUSHAXPUSHSIMOV AX,VAR1CMP AX,8000HJCDONEMOVSI, OFFSET VAR2MOVCX, LENGTH VAR2MOV BX,10ADDSI,CXDECSIAGAIN: XORDX, DXDIVBXADDDL, 30HMOVSI,DLDECSILOOPAGAINDONE: POPSI.POPAXRETBAPENDPCSEG ENDSEND答:(1)功能:将16位的

56、二进制数变为ASCII码(2)VAR2 30H,34H,36H,36H,30H(3)流程图略4、若已知当前DS=1230H,在偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期)1、已知某指令的逻辑地址CS=0074H IP=5000H,求其物理地址。2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是41020H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效

57、地址是什么? 3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段在存储器中的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值? 33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H第一章 微型计算机概述了解微型计算机层次结构微处理器 微型计算机和微型计算机系统微型计算机系统的硬件结构冯诺依曼(von Neuman)结构 由运算器、控制器、存储器、输入设备和输出设备组成。 程序指令和数据采用二进制 表示 实现程序存储和程序控制。早期微型计算机的三总线结构(总线的概念)数据

58、总线,地址总线和控制总线个人计算机PC/XT&AT的扩展总线结构 ISA总线,PCI总线, PCI Express微处理器的基本结构与指令执行过程 基本组成 累加器和算术逻辑单元(ALU) 寄存器阵列 控制部件 执行过程 取指令、分析指令、执行指令运算基础 基本概念: 原码、反码和补码,BCD码 ,ASCII码 有符号数与无符号,符号数的表示与补码运算若X= -107,Y= 74为字节宽度的有符号数,那么X补为 H, Y补为 H,X+Y补为 H, X+Y补为 H ,若将X补扩展到16位有符号数则为 H。解:X补 = 10010101B = 95H (107 =01101011B)Y补

59、= 01001010B = 4AHX +Y补 = X补+ Y补 = 10010101B+ 01001010B = 11011111B = 0DFH-Y补 = Y补取反加1 = 10110110B = 0B6H X -Y补 = X补+ -Y补 = 10010101B+ 10110110B = 1 01001011B = 4BH 结果溢出X补16 = 0FF95H 第二章 8086微型计算机体系结构8086微处理器的内部结构执行单元(EU)和总线接口单元(BIU) EU: 完成算术逻辑运算, 计算出要寻址的操作数地址 BIU:完成取指令,操作数的存取,指令队列减少取指等待时间 取指和执行指令分开完

60、成,实现CPU并行工作两级流水线。8086CPU寄存器基本寄存器:八个16位通用寄存器 数据寄存器: AX(AH AL)、BX(BH BL)、 CX(CH CL)、DX(DH DL ) 地址指针及变址寄存器:SP BP SI DI 控制寄存器组指令指针IP 标志寄存器FLAG 四个段寄存器( 四种类型的存储器段) CS DS SS ES实现存储器空间的分段管理 各种寄存器的作用和在指令中的使用方法,标志寄存器各标志位的功能,常用指令对标志位的影响。复位后各寄存器状态.8086CPU的引脚及功能主要引脚 地址线数据线 AD0AD15分时复用, A16A19高位地址或状态 控制和状态线 总线操作: RD,WR,READY, M/IO

温馨提示

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

评论

0/150

提交评论