1、作业14、(画一个计算机系统方框图),简述各部分主要功效。计算机系统框图见书本P7图1.3,各部分功效以下:1)微处理器:从存放器中取指,进行算术逻辑运算,与存放或I/O传送数据,程序流向控制等。2)存放器:由RAM和ROM组成,用来存放程序和数据。3)I/O接口:用于连接CPU与外部设备,当它们之间进行数据交换时,使之在信息格式、电平、速度方面匹配。4)总线:将CPU与存放器和I/O接口相连,是传送地址、数据和控制信息通道。可分为地址总线,数据总线和控制总线。5)I/O设备:输入数据及程序,输出或显示运算和程序执行结果。6)软件系统:可分为系统软件、支撑软件和应用软件,使计算机能完成各种任务
2、。第1页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=4D6H第2页12、将以下十进制数转换为8位有符号二进制数。(1)+32原码:00100000B补码:00100000B(4)-92原码:11011100B补码:10100100B13、将以
3、下十进制数转换为压缩和非压缩格式BCD码。(2)44压缩BCD码:01000100B=44H非压缩BCD码:0000 0100 0000 0100B=0404H(3)301压缩BCD码:00000011 00000001=0301H非压缩BCD码:00000011 00000000 00000001B=030001H第3页14、将以下二进制数转换为有符号十进制数。(1)10000000B 10000000B=-0D 15、将以下十进制数转换为单精度浮点数。单精度浮点数为32位二进制数:1位符号 8位阶码 23位尾数(1)+1.51.5D=1.120符号 0 阶码 127+0=0111111 尾
4、数 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第4页作业作业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;有符号数有符号数 无溢出无溢出 (O=0):S=0 AB S=1 AB S=0 A B S
6、F+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 ZF=0 CF=0第8页00000HDS:10E4HSS:21F0H0FFFFHES:10F4HCS:31FFH数
7、据段数据段附加段附加段堆栈段堆栈段程序段程序段10E40H10F40H20E3FH20F3FH21F00H31EFFH31FF0H41FEFH第9页16、8086系统中为何要用地址锁存器?系统中为何要用地址锁存器?8282地址锁存器与地址锁存器与CPU怎样连接?(画图说怎样连接?(画图说明)明)答:答:8086微处理器数据线和地址线复用引脚微处理器数据线和地址线复用引脚AD0AD15,状态和高,状态和高4位地址线复用引位地址线复用引脚脚A19A15。在。在CPU与存放器(或与存放器(或IO)进行数据交换时,)进行数据交换时,CPU先送地址信号然先送地址信号然后再发出控制信号及传送数据。为使读后
8、再发出控制信号及传送数据。为使读/写总线周期内地址稳定,需要加地址锁写总线周期内地址稳定,需要加地址锁存器,先将地址锁存。存器,先将地址锁存。锁存器锁存器8282与与CPU连接以下列图所表示连接以下列图所表示8086地址地址锁存器锁存器STB(8282*3)(8286*2)OE(选取)(选取)A19A0D15D0地址总线地址总线数据总线数据总线+5VMN/MXAD15AD0A19A16DENDT/RALETOE第10页作业3_1 P120P121 2、已知:DS=1000H,BX=0200H,SI=02H,内存10200H 10205H单元内容分别为10H,2AH,3CH,46H,59H,6B
9、H。以下每条指令执行后AX存放器内容各是什么?(2)MOVAX,200H AX=2A10H(4)MOVAX,3BXAX=5946H(6)MOVAX,2BX+SIAX=6B59H18、什么叫总线周期?在、什么叫总线周期?在CPU读读/写总线周期中,数据在哪个状态出现在数据总线上写总线周期中,数据在哪个状态出现在数据总线上?答:答:(1)8086微处理器执行一个总线操作所需要时间称为总线周期,一个基本总线周期微处理器执行一个总线操作所需要时间称为总线周期,一个基本总线周期通常包含通常包含 4 个个T状态。状态。(2)读总线周期:存放器(或)读总线周期:存放器(或I/O)普通在)普通在T3状态将数据
10、送到数据总线上,状态将数据送到数据总线上,8086在在T4状态读信号上升沿将数据读入。状态读信号上升沿将数据读入。写总线周期:写总线周期:8086CPU在在T2状态将数据送到数据总线,直到状态将数据送到数据总线,直到T4状态经过写信号上升状态经过写信号上升沿将数据写到存放器或沿将数据写到存放器或I/O接口中。接口中。第11页3、设DS=1000H,ES=H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为VAL偏移地址为0030H,试说明以下源操作数字段寻址方式是什么?物理地址是多少?(1)MOVAX,100H直接寻址,物理地址为:10
11、100H(2)MOVAX,VAL直接寻址,物理地址为:10030H(4)MOVAX,ES:BX存放器间接寻址,0H(6)MOVAX,BX+10H存放器相对寻址,10110H(8)MOVAX,VALBPSI 相对基址变址,352D0H(10)MOVAX,BPDI基址变址寻址,35224H第12页6、指出以下指令中哪些是错误,错在什么地方?(1)MOVDL,AX指令错误,源操作数与目标操作数应为相同类型数据(2)MOV8650H,AX指令错误,目标操作数不能为马上数(3)MOVDS,0200H指令错误,不能直接对段存放器DS直接赋值,需经过存放器AX赋值。(5)MOVIP,0FFH指令错误,IP存
12、放器值由微处理器内部控制,不能经过指令直接对其操作。第13页(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存放器第14页7、已知当前数据段中有一个十进制数字097段代码表,其数值依次为40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令将十进制数57转换成对应7段代码值
13、,存到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,AXHLTSCODE ENDSSTART END第15页作业3_2 P121P123 8、已知当前SS=1050H,SP=0100H,AX=4860H,
14、BX=1287H试用示意图表示执行以下指令中,堆栈中内容和堆栈指针SP怎样改变?PUSHAXPUSHBXPOPBXPOPAX1050:0100SP1050:00FCSP48H60H12H1050:00FESP48H60H1050:00FESP48H60H1050:0100SP48H60H87H12H87H12H87H(1)PUSH AX(2)PUSH BX(3)POP BX(4)POP AX第16页10、已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求以下每条指令执行后结果是什么?标志位CF等于什么?(2)ORBL,30HBL=36H CF=0(4)XORCX,0
15、FFF0HCX=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=0第17页13、设CS=1200H,IP=0100H,SS=5000H,SP=0400H,DS=H,SI=3000H,BX=0300H,(20300H)=4800H,(20302H)=00FFH,TAB
16、LE=0500H,PROG_N标号地址为1200:0278H,PROG_F标号地址为3400:0ABCH。说明以下每条指令执行完后,程序将分别转移到何处执行?如指令中操作码JMP改为CALL,则每条指令执行后,程序转何处执行?并请画图说明堆栈中内容和堆栈指针怎样改变(1)JMPPROG_N程序转移到地址 1200:0278H ;改为CALL指令后,disp=0175H,指令编码为E97501,断点IP为0103H 5000:03FESP01H03H5000:0400第18页(2)JMPBX程序转移到地址 1200:0300H;改为CALL指令后,指令编码为FFD3,断点IP为0102H(3)J
17、MPBX程序转移到地址 1200:4800H;改为CALL指令后,指令编码为FF27,断点IP为0102H(4)JMPFAR PROG_F程序转移到地址 3400:0ABCH;改为CALL指令后,指令编码为EABC0A0034,断点地址为1200H:0105H。CS内容先入栈,然后是IP内容入栈。(5)JMPDWORD PTRBX 程序转移到地址 00FFH:4800H;改为CALL指令后,指令编码为FF1F,断点地址为1200:0102H,CS内容先入栈,然后是IP内容入栈。第19页16、中止向量表作用是什么?它存放在内存什么区域?中止向量表中什么地址存放类型3中止?答:中止向量表作用:存放
18、中止服务程序入口地址(中止向量)。中止向量位于内存:00000H03FFH,共1024字节中止类型3中止向量存放于0000CH0000FH。17、设类型2中止服务程序起始地址为0485:0016H,它在中止向量表中怎样存放?(画图说明)答:85H00008H00H16H04H0000BH第20页作业作业4 P198P199 1、2、3、4、51、以下变量各占多少字节?、以下变量各占多少字节?A1DW23H,5876H A2DB3 DUP(?),0AH,0DH,$A3DD5 DUP(1234H,567890H)A4DB4 DUP(3 DUP(1,2,ABC)解解:A1占占4个字节个字节A2占占6
19、个字节个字节A3占占5 x 8=40个字节个字节A4占占5 x(3x(2+3)=60字节字节第21页23H00H76H58HA1xxHxxHxxH0AHA20DH24H$34H12H00H00HA390H78H56H00H重复5次01H02H41H42HA443H重复3次01H02H41H42H43H01H02H41H42H43H第22页2、以下指令完成什么功效?、以下指令完成什么功效?(1)MOVAX,00FFH AND 1122H+3344H 解:解:00FFH AND 1122H+3344H=00FFH AND 4466H=0066H,指令将马上,指令将马上数数0066H送送AX存放器。
20、存放器。(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),关系为真,表示式关系为真,表示式为为0FFFFH,指令将马上数指令将马上数0FFFFH送存放器送存放器AX。指令执行后。指令执行后AX=0FFFFH(4)ANDAL,50 MOD 4 解:解:50 MOD 4=2,指令将马上数,指令将马上数02H与与AL内容相与
21、,执行指令后内容相与,执行指令后 AX=0FF02H第23页(5)OR AX,0F00FH AND 1234H OR 00FFH 解:解:0F00FH AND 1234H OR 00FFH =1004H OR 00FFH=10FFH,指令将,指令将AX内容(内容(0FF02H)与马上数)与马上数10FFH相或,执行指令后相或,执行指令后 AX=0FFFFH3、有符号定义语句以下:、有符号定义语句以下:BUFDB3,4,5,123ABUFDB0LEQUABUF BUF求求L值为多少?值为多少?解:解:L值内容为值内容为6。4、假设程序中数据定义以下:、假设程序中数据定义以下:PARDW?PNAM
22、E DB16 DUP(?)COUNT DD?PLENTHEQU$-PAR求求PLENTH值为多少?表示什么意义?值为多少?表示什么意义?解:解:PLENTH值为值为 22,表示三个变量占用字节数。,表示三个变量占用字节数。第24页5、对于下面数据定义,各条、对于下面数据定义,各条MOV指令执行后,相关存放器内容是什么?指令执行后,相关存放器内容是什么?DA1DB?DA2DW10 DUP(?)DA3DBABCDMOVAX,TYPE DA1MOVBX,SIZE DA2MOV CX,LENGTH DA3解:指令执行后解:指令执行后AX=1BX=20CX=1第25页1 静态RAM和动态RAM有何区分?
23、解:SRAM集成度低于DRAM;SRAM功耗也比DRAM高;SRAM只要电源存在,内容就不会消失,不需要刷新,DRAM因为总是存在有泄漏电流,故要求刷新;SRAM存取速度较DRAM快;第26页3、DRAM/CAS和/RAS输入用途是什么?解:/RAS:行地址选通信号,把行地址送入行地址锁存器,/CAS:列地址选通信号,把列地址送入列地址锁存器。第27页7用10241位RAM芯片组成16K8位存放器,需要多少芯片?在地址线中有多少位参加片内寻址?多少位组合成片选信号?(设地址总线16位)解:(1)存放器总容量=16K8bits128kbits;每片存放芯片容量为:1kbits需要128/1=12
24、8个存放芯片(2)210=1024,每个存放芯片需要10位地址线参加片内寻址(3)因为每8个存放芯片生成一个字节宽度存放器,共用一个片选信号,需要片选信号数为 128/8=16因为 24=16,所以最少需要4位地址线生成片选信号。第28页8现有一存放体芯片容量5124位,若要用组成4KB存放器,需要多少这么芯片?每块芯片需要多少寻址线?整个存放系统最少需要多少寻址线?解:(1)总存放容量为:4KB=32Kbits,每片存放芯片容量为:5124=2Kbits 所以需要32/2=16片存放芯片。(2)512=29,所以每片芯片需要9根寻址线(3)因为2片4位芯片组成一个字节存放体,共用1个片选信号
25、,所以需要16/2=8条片选信号。因为23=8,需要3根地址线生成片选信号。所以整个存放系统最少需要12根地址线。第29页11当要将一个字写入到存放器奇地址开始单元中去,列出存放器控制信号和它们有效逻辑电平信号(8086工作在最小模式)解:(参见书本P230页,图5.22)存放器写操作由两个总线周期组成,使用控制信号为:/WE 存放器信号,低电平有效/CE1 存放器片选信号,低电平有效。(由高位地址线和M/IO信号经译码生成)CE2 存放器片选信号,高电平有效 奇存放体CE2信号由/BHE反向后生成 偶存放体CE2信号由A0反向后生成 第30页8086微处理器发起写操作总线周期控制信号(参见书
26、本P53 图2.53):ALE信号:高电平有效M/IO信号:高电平有效/WR信号:低电平有效DT/R信号:高电平有效/DEN信号:低电平有效 第一个总线周期/BHE=0,A0=1读取奇地址字节 第二个总线周期/BHE=1,A0=0读取偶地址字节第31页12设计一个64K8存放器系统,采取74LS138和EPROM2764器件,使其寻址范围为40000H4FFFFH 解:EPROM2764容量为8K8=64kbits,存放系统容量为64K8=512Kbits,故需要512/64=8片2764;8192=213,每片2764需要13根地址线。分两种情况分析:(1)采取8088微处理器计算机系统:因
27、为采取8位数据总线,A12 A0用于芯片内部存放字节寻址线。地址范围为:40000H4FFFFH,A19A16=0100,A15A13作为74LS138译码输入产生片选信号。参考电路图以下:第32页A19A18A17A16G1G2AG2BCBA+5VM/IOA15A14A13RDD7D0A12A0CEOED7D0Y774LS138Y0A12A0CEOED7D0A12A01#8#第33页(2)采取8088微处理器计算机系统:因为采取16位数据总线,A13 A1用于芯片内部存放字节寻址线。地址范围为:40000H4FFFFH,A19A17=0100,A16A14作为74LS138译码输入产生片选信
28、号Y3Y0。参考电路图以下:第34页A19A18A17G1G2AG2BCBA+5VM/IOA16A15A14RDD7D0Y374LS138Y0A12A0CEOED7D0A12A0CEOED7D0A13A1。Y7A13A1D15D8第35页13用8K8位EPROM2764、8K8位6264和译码器74LS138组成一个16K字ROM、16K字RAM存放器子系统。8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286。画出存放器系统与CPU连线图,写出各芯片地址分配。解:(1)16K字ROM需要4片2764(8K8)16K字RAM需要4片6264(8K8)(2)对于8086系统存放
29、子系统最少要包含存放空间ROM:FFFF0HFFFFFH(8086复位后,CS=0FFFFH,IP=0000H,所以微处理器每次上电都从地址0FFFF0H执行第一条指令),若各ROM地址连续分布,4片ROM实现地址空间为:0F8000H0FFFFFH(32KB)RAM:00000H003FFH空间为存放中止向量表,要使微机系统能正常工作(处理各种中止),存放器子系统包含这段空间。4片RAM实现地址空间为:00000H07FFFH(32KB)第36页READYX1 X2(8284A)8086地址锁存器STB(8282*3)(8286*2)OE(选取)BHEA19A0D15D0地址总线数据总线+5
30、VMN/MXCLKRESETAD15AD0A19A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT存放器子系统系统连线分别参考书本P43图2.15和书本P230页图5.22。第37页G1G2AG2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12A0CEOEA12A0CE1OEA13A1Y7A13A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12A0CEOED7D02#1#A12A0CEOED7D02#1#DBA13A1A13A1RDRDD7D0D15D8D7D0D15D8Y6GND第38页
31、5.说明查询式输入和输出接口电路工作原理。略,见书P241-242.第39页6.简述在微机系统中,DMA控制器从外设提出请求到外设直接将数据传送到存放器工作过程。答:当外设需要利用DMA方式进行数据传送时,接口电路能够向CPU提出请求,要求CPU让出对于总线控制权。DMA暂时接管总线,控制外设和存放器之间直接进行高速数据传送。控制器给出访问内存所需要地址信息,而且自动修改地址指针,设定和修改传送字节数,向存放器和外设发出对应读写控制信号。在DMA传送结束后,它能释放总线。用DMA方式读磁盘过程分为以下几步:进行一次DMA传输前,首先对控制器进行初始化编程。CPU向磁盘控制器发出读盘命令,由磁盘
32、控制器找到要读取数据位置,并开始读出数据。当磁盘控制器准备好了第一个字节数据后,就向DMA控制器发送一个DMA请求信号DREQ。DMA送一个请求保持信号HRQ到CPU。CPU将总线浮空。DMA经过地址总线向存放器发送地址信号,指示要被写入内存第一个数据地址。随即DMA向磁盘控制器发出确认信号,通知磁盘控制器准备好要输出地数据字节。DMA使控制总线上I/O读信号和存放器写信号有效。每完成一个字节数据传送,DMA会自动修改内部地址存放器内容,指向下一个字节地址。传送结束后,DMA撤消保持信号,释放总线。第40页7.某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为300
33、H,8块芯片地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片端口地址范围。解:每块芯片占有8个端口地址,故需要A2 A1 A0 作为片内寻址线。要求地址连续分布,故需要A3 A4 A5作为片选信号,连接到74LS138ABC。起始地址为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#
34、5:320H327H#6:328H32FH#7:330H337H#8:338H33FH第41页第42页下列图为8086存放器部分电路连线图。问:(1)M0和M1寻址范围分别是什么?(2)存放总容量为多少?BHE M/IOA17 A16 A111A0&M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19第43页解:由图可知,此存放器系统采取双体存放器结构,其中:A0用于选偶存放体,BHE用于选奇存放体。存放芯片M0、M1片选逻辑表示式为:当且仅当A19A18A17A0BHE M/IO=110011时,CSM0=0,选中M0;当A19A18A17A0BHE M/IO=
35、110101时,CSM1=0,选中M1;当A19A18A17A0BHE M/IO=110001时,CSM0=0,CSM1=0,同时选中M0和M1;于是,由A16A1用于片内地址选择可得:(1)M1寻址范围为:C0000HDFFFFH奇地址;M2寻址范围为:C0000HDFFFFH偶地址;(2)总存放容量 217 B第44页分析:存放器地址空间关键是要搞清楚存放器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参加地址译码,哪些地址用于片内单元选择,然后依据译码逻辑输出,从而确定存放器地址空间。假如对译码逻辑很熟悉,可直接依据连线情况,直接写出各存放器芯片地址范围。第45页课
36、堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB存放子系统。要求地址从8086存放器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采取全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存放单元地址线为多少条?写出每片SRAM地址范围。(3)画出其地址译码及连接电路图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存放体选择信号为/BHE,偶存放体选择信号是A0)第46页(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存放体地址范围 80
37、000H8FFFFH中奇地址偶存放体地址范围 80000H8FFFFH中偶地址(3)电路连接图以下第47页BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA16第48页2.8255A有哪几个工作方式?各用于什么场所?端口A、端口B和端口C各能够工作于哪几个工作方式?8255A有三种工作方式:方式0:基本输入输出方式,适合用于不需要用应答信号简单输入输出场所;方式1:选通输入输出方式,在这种方式下,A口和B口仍可作为数据输入输出口,不过同时要求C口一些位作为控制或状态信
38、息。方式2:双向总线方式,使外设能够在单一8位总线上,既能发送数据也能接收数据,工作时可用程序查询方式,也可工作在中止方式。端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C可工作于方式0。第49页4若8255A系统基地址为2F9H,且各端口都是奇地址,则8255A3个端口和控制存放器地址各是多少?已知CPU系统总线为A0A9,D15D0,M/IO,/IOR,/IOW,RESET,试画出8255A地址译码电路及它与CPU系统总线连接图。A口:2F9H B口:2FBH C口:2FDH 控制存放器:2FFH第50页第51页78255A端口地址为80H,82H,84H,86H
39、,若A口工作在方式0输入,B口工作在方式1输出,C口各位作用是什么?控制字是什么?若B口工作在方式0输出,A口工作在方式1输入,C口各位作用是什么?控制字是什么?A口工作在方式0输入,B口工作在方式1输出,C口各位作用是:PC0,PC1和PC2作为B口联络控制信号,其中PC0连接INTR,中止请求信号,PC1连接/OBF,输出缓冲器满信号,PC2连接/ACK信号,外设回答信号,C口其余各位仍可做基本输入输出。INTEB用于允许与禁止B口中止,经过对PC2置位和复位操作实现 控制字为:1001X10X 第52页 B口工作在方式0输出,A口工作在方式1输入,C口各位作用是:C口PC4,PC5和PC
40、3用作端口A状态和控制线,其中PC4接/STB,输入选通信号,PC5接IBF向外设发出输入缓冲器满信号,PC3接INTE,中止允许信号,C口其余各位仍可做基本输入输出。INTEA用于允许与禁止A口中止,经过对PC4置位和复位操作实现 控制字为:1011X00X第53页读打印机状态 建立指针 延时20ms再读 等候中止 返回DOS 是仍未就绪 12.试画出打印机驱动程序流程图:发送选通信号 传送 完成?中止返回 是 否主程序中止服务程序保护现场关中止允许8255中止 发送字符 修改地址指针 结束中止 恢复现场 关闭8255中止 初始化 初始化各段存放器 建立服务程序中止向量 初始化8259 初始
41、化8255延时50us 准备好否 准备好否 FIN允许8086中止 初始化打印机第54页8255APA0PA1PA2PA3PC0PC2PC4PC5PB0PB1PB2PB3PB4PB5PB6PB7到8259INTRACKBERRPESLCTBUSYACKSTROBEINITDATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8打印机插座第55页1、已知某指令逻辑地址CS=0074H IP=5000H,求其物理地址。解:物理地址为0074H10H+5000H=5740H2、有两个字807FH,5FEFH,它们在8086系统存放器中地址分别是41020H和41023H,请用
42、图示它们在存放器中位置。若它们段地址是4000H,这两个字有效地址是什么?解:(1)存放位置图右图 (2)有效地址分别为0020H和1023H 7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 第56页4、若已知当前DS=1230H,在偏移地址为00A1H开始存放器中连续存放6个字节数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存放器中物理地址。假如要从存放器中以字读取方式读出这些数据,需要访问几次存放器?(几个总线周期)解:因为访问非规则字,需要对存放器访问6次。3、在某系统中,已知当前SS=1200H,SP=0800H,请说
43、明该堆栈段在存放器中物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP内容为何值?解:堆栈段在存放器中物理地址范围为1H21FFFH.当前堆栈区范围:1H127FFH.SP内容为800H-14H(20)=7ECH.33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H第57页习题1、高速缓存存取速度 。A、比内存慢、比辅存快B、比内存慢,比内部存放器快C、比内存慢,比内部存放器慢2、下面说法中,正确是:。A、EPROM是不能改写B、EPROM是可改写,所以也使一个读写存放器C、EPRPM只能改写一次D、EPRP
44、M是可改写,它不能作为读写存放器3、若256KBSRAM含有8条数据线,则它含有条 地址线A、10 B、15 C、20 D、32第58页下列图为8086存放器部分电路连线图。问:(1)M0和M1寻址范围分别是什么?(2)存放总容量为多少?BHE M/IOA17 A16 A111A0&M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19第59页答案1、C2、DEPROM是紫外线擦除可编程ROM,可重复屡次改写,所以A和C不正确;EPROM编程需外加编程电压,不能在线随机改写,所以EPROM不是随机读写存放器。所以不正确。3、B256Kb=28 x 210 b=215
45、 x(23)b=215 B第60页解:由图可知,此存放器系统采取双体存放器结构,其中: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寻址范围为:C0000HDFFFFH奇地址;M2寻址范围为:C0000HDFFFFH偶地址;(2)总存放容量
46、217 B第61页分析:存放器地址空间关键是要搞清楚存放器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参加地址译码,哪些地址用于片内单元选择,然后依据译码逻辑输出,从而确定存放器地址空间。假如对译码逻辑很熟悉,可直接依据连线情况,直接写出各存放器芯片地址范围。第62页课堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB存放子系统。要求地址从8086存放器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采取全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存放单元地址线为多少条?
47、写出每片SRAM地址范围。(3)画出其地址译码及连接电路图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存放体选择信号为/BHE,偶存放体选择信号是A0)第63页(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存放体地址范围 80000H8FFFFH中奇地址偶存放体地址范围 80000H8FFFFH中偶地址(3)电路连接图以下第64页BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA16第65页1、已知某
48、指令逻辑地址CS=0074H IP=5000H,求其物理地址。解:物理地址为0074H10H+5000H=5740H第66页2、有两个字807FH,5FEFH,它们在8086系统存放器中地址分别是41020H和41023H,请用图示它们在存放器中位置。若它们段地址是4000H,这两个字有效地址是什么?7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 解:(1)存放位置图以下列图(2)有效地址分别为0020H和1023H第67页3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段所在段物理地址范围,若在当前堆栈段中存入20个字节数据,那
49、么SP内容为何值?解:堆栈段所在段物理地址范围为1H21FFFH.当前堆栈段范围:1H127FFH.SP内容为800H-14H(20)=7ECH.第68页4、若已知当前DS=1230H,在偏移地址为00A1H开始存放器中连续存放6个字节数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存放器中物理地址。假如要从存放器中以字读取方式读出这些数据,需要访问几次存放器?(几个总线周期)33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H解:因为访问非规则字,需要对存放器访问6次。第69页5、对于给定
50、数据定义,画图说明以下语句所分配存放空间及初始化数据,并写出变量R1值。A1DW1,2,3,ABA2DBABCA3DB 6 DUP(?)R1EQUA3-A1第70页6、已知ORG0200HARYDW-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=020EH第71页7、若十进制数字