为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 微机原理习题答案

微机原理习题答案

2021-10-29 99页 ppt 406KB 24阅读

用户头像 个人认证

莉莉老师

暂无简介

举报
微机原理习题答案会计学1微机原理习题答案9、将下列二进制数转换为十进制数。(1)1101.01B1101.01B=23+22+20+2-2=13.25D(2)111001.0011B111001.0011B=25+24+23+20+2-3+2-4=57.1875D11、将下列十进制数转换为二进制、八进制和十六进制数。(2)107107D=1101011B=153O=6BH(3)12381238D=10011010110B=2326O=4D6H第1页/共99页12、将下列十进制数转换为8位有符号二进制数。(1)+32原码:00100000B补码...
微机原理习题答案
会计学1微机原理习9、将下列二进制数转换为十进制数。(1)1101.01B1101.01B=23+22+20+2-2=13.25D(2)111001.0011B111001.0011B=25+24+23+20+2-3+2-4=57.1875D11、将下列十进制数转换为二进制、八进制和十六进制数。(2)107107D=1101011B=153O=6BH(3)12381238D=10011010110B=2326O=4D6H第1页/共99页12、将下列十进制数转换为8位有符号二进制数。(1)+32原码:00100000B补码:00100000B(4)-92原码:11011100B补码:10100100B13、将下列十进制数转换为压缩和非压缩格式的BCD码。(2)44压缩BCD码:01000100B=44H非压缩BCD码:0000010000000100B=0404H(3)301压缩BCD码:0000001100000001=0301H非压缩BCD码:000000110000000000000001B=030001H第2页/共99页14、将下列二进制数转换为有符号十进制数。(1)10000000B10000000B=-0D15、将下列十进制数转换为单精度浮点数。单精度浮点数为32位二进制数:1位符号8位阶码23位尾数(1)+1.51.5D=1.1×20符号0阶码127+0=0111111尾数10000000000000000000000存储为:00111111110000000000000000000000B=3FC00000H(2)-10.625-10.625D=-1010.101B=-1.010101×23符号1阶码127+3=130D=10000010B尾数01010100000000000000000存储为:11000001001010100000000000000000B=C12A0000H第3页/共99页作业2P55~P565、要完成下述运算或控制,用什么标志位判别?其值是什么?(1)比较两数是否相等。假设两个数分别为A和B,进行A-B运算,若ZF=1A=B;若ZF=0A≠B(2)两数运算后结果是正数还是负数。若SF=1,结果为负数SF=0结果为正数(3)两数相加后是否溢出。若OF=1,结果溢出;OF=0无溢出。(5)两数相减后比较大小。(A-B)无符号数CF=1,A<B;CF=0,A>B;有符号数1.无溢出(O=0):S=0A>BS=1A<B2.有溢出(O=1):S=1A>BS=0A<B即 SF+OF=0时A>BSF+OF=1时A<B第4页/共99页9、段寄存器装入如下数据,写出每段的起始地址和结束地址。(要求:分别按逻辑地址与物理地址写出)(3)2300H解:逻辑地址2300H:0000H~2300:0FFFFH物理地址23000H~32FFFH10、根据下列CS:IP的组合,求出要执行的下一条指令的存储器地址(物理地址)。(1)CS:IP=1000H:2000H解:下一条指令的物理地址为12000H第5页/共99页12、若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP的内容是什么?若再出栈6个字节,SP为什么值?答:(1)堆栈段的物理地址范围:35000H~44FFFH;当前栈顶的物理地址为:35000H+0800H=35800H(2)入栈操作后SP的内容为:0800H-0AH=7F6H;(3)出栈操作后SP的内容为:7F6H+6=7FCH13、某程序数据段中存放了两个字,1EE5H和2A8CH,已知DS=7850H,数据存放的偏移地址为3121H和285AH。试画图说明它们在存储器中的存放情况。若要读取这两个字,需要对存储器进行几次操作?7850H:0000H7850H:285AH7850H:3121H8CH2AH…E5H1EH……7850H:FFFFH答:读字1EE5H需2次存储器操作读字2A8CH需1次存储器操作第6页/共99页14、存储器中每段的容量最多64K字节,若用debug调试程序中的r命令,在屏幕上有如下显示:C:>debug-rAX=0000BX=0000CX=0079DX=0000SP=FEEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC(1)试画出此时存储器分段示意图(2)写出状态标志OF、SF、ZF、CF的值。解:(1)分段示意图见后页(2)OF=0SF=0ZF=0CF=0第7页/共99页00000HDS:10E4HSS:21F0H0FFFFHES:10F4HCS:31FFH数据段附加段堆栈段程序段10E40H10F40H20E3FH20F3FH21F00H31EFFH31FF0H41FEFH第8页/共99页16、8086系统中为什么要用地址锁存器?8282地址锁存器与CPU如何连接?(画图说明)答:8086微处理器的数据线和地址线复用引脚AD0~AD15,状态和高4位地址线复用引脚A19~A15。在CPU与存储器(或IO)进行数据交换时,CPU先送地址信号然后再发出控制信号及传送数据。为使读/写总线周期内地址稳定,需要加地址锁存器,先将地址锁存。锁存器8282与CPU的连接如下图所示8086地址锁存器STB(8282*3)(8286*2)OE(选用)A19~A0D15~D0地址总线数据总线+5VMN/MXAD15~AD0A19~A16DENDT/RALETOE第9页/共99页作业3_1P120~P1212、已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别为10H,2AH,3CH,46H,59H,6BH。下列每条指令执行后AX寄存器的内容各是什么?(2)MOVAX,[200H]AX=2A10H(4)MOVAX,3[BX]AX=5946H(6)MOVAX,2[BX+SI]AX=6B59H18、什么叫总线周期?在CPU读/写总线周期中,数据在哪个状态出现在数据总线上?答:(1)8086微处理器执行一个总线操作所需要的时间称为总线周期,一个基本的总线周期通常包含4个T状态。(2)读总线周期:存储器(或I/O)一般在T3状态将数据送到数据总线上,8086在T4状态读信号的上升沿将数据读入。写总线周期:8086CPU在T2状态将数据送到数据总线,直到T4状态通过写信号的上升沿将数据写到存储器或I/O接口中。第10页/共99页3、设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为VAL的偏移地址为0030H,试说明下列源操作数字段的寻址方式是什么?物理地址是多少?(1)MOVAX,[100H]直接寻址,物理地址为:10100H(2)MOVAX,VAL直接寻址,物理地址为:10030H(4)MOVAX,ES:[BX]寄存器间接寻址,20100H(6)MOVAX,[BX+10H]寄存器相对寻址,10110H(8)MOVAX,VAL[BP][SI]相对基址变址,352D0H(10)MOVAX,[BP][DI]基址变址寻址,35224H第11页/共99页6、指出下列指令中哪些是错误的,错在什么地方?(1)MOVDL,AX指令错误,源操作数与目标操作数应为相同类型数据(2)MOV8650H,AX指令错误,目标操作数不能为立即数(3)MOVDS,0200H指令错误,不能直接对段寄存器DS直接赋值,需通过寄存器AX赋值。(5)MOVIP,0FFH指令错误,IP寄存器的值由微处理器内部控制,不能通过指令直接对其操作。第12页/共99页(7)MOVAX,[BX][BP]指令错误,不能同时使用基址寄存器BX和BP(11)MOVAL,OFFSETTABLE指令错误,OFFSETTABLE返回16位地址,而AL寄存器为8位,数据类型不同。(13)INBL,05H指令错误,IN指令必须使用AL寄存器读8位端口。(14)OUTAL,0FFEH指令错误,端口号应存入DX寄存器第13页/共99页7、已知当前数据段中有一个十进制数字0~9的7段代码,其数值依次为40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令将十进制数57转换成相应的7段代码值,存到BX寄存器中,试写出相应的程序段。SDATASEGMENTTABLE:DB40H,79H,24H,30H,19HDB12H,02H,78H,00H,18HSDATAENDSSCODESEGMENTASSUMECS:SCODE,DS:SDATASTART:MOVAX,SDATAMOVDS,AXMOVAL,5MOVBX,OFFSETTABLEXLATTABLEMOVAH,ALMOVAL,7XLATTABLEMOVBX,AXHLTSCODEENDSSTARTEND第14页/共99页作业3_2P121~P1238、已知当前SS=1050H,SP=0100H,AX=4860H,BX=1287H试用示意图表示执行下列指令的中,堆栈中的内容和堆栈指针SP怎样变化?PUSHAXPUSHBXPOPBXPOPAX1050:0100SP1050:00FCSP48H60H12H1050:00FESP48H60H1050:00FESP48H60H1050:0100SP48H60H87H12H87H12H87H(1)PUSHAX(2)PUSHBX(3)POPBX(4)POPAX第15页/共99页10、已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每条指令执行后的结果是什么?标志位CF等于什么?(2)ORBL,30HBL=36HCF=0(4)XORCX,0FFF0HCX=FFF4H,CF=0(6)CMPCX,00HCX值不变,CF=0(7)SHRDX,CLDX=0186HCF=0(9)SHLBH,CLBH=0F0HCF=0(11)RCLBX,1BX=000111100110110xB若执行指令前CF=0BX=0001111001101100B=1E6C若执行指令前CF=1BX=0001111001101101B=1E6D执行后CF=0第16页/共99页13、设CS=1200H,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,断点IP为0103H5000:03FESP01H03H5000:0400第17页/共99页(2)JMPBX程序转移到地址1200:0300H;改为CALL指令后,指令编码为FFD3,断点IP为0102H(3)JMP[BX]程序转移到地址1200:4800H;改为CALL指令后,指令编码为FF27,断点IP为0102H(4)JMPFARPROG_F程序转移到地址3400:0ABCH;改为CALL指令后,指令编码为EABC0A0034,断点地址为1200H:0105H。CS内容先入栈,然后是IP内容入栈。(5)JMPDWORDPTR[BX]程序转移到地址00FFH:4800H;改为CALL指令后,指令编码为FF1F,断点地址为1200:0102H,CS内容先入栈,然后是IP内容入栈。第18页/共99页16、中断向量表的作用是什么?它存放在内存的什么区域?中断向量表中的什么地址存放类型3的中断?答:中断向量表的作用:存储中断服务程序的入口地址(中断向量)。中断向量位于内存:00000H~03FFH,共1024字节中断类型3的中断向量存放于0000CH~0000FH。17、设类型2的中断服务程序的起始地址为0485:0016H,它在中断向量表中如何存放?(画图说明)答:85H00008H00H16H04H0000BH第19页/共99页作业4P198~P1991、2、3、4、51、下列变量各占多少字节?A1DW23H,5876HA2DB3DUP(?),0AH,0DH,’$’A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2,’ABC’))解:A1占4个字节A2占6个字节A3占5x8=40个字节A4占5x(3x(2+3))=60字节第20页/共99页23H00H76H58HA1xxHxxHxxH0AHA20DH24H‘$’34H12H00H00HA390H78H56H00H重复5次01H02H41H42HA443H重复3次……01H02H41H42H43H01H02H41H42H43H第21页/共99页2、下列指令完成什么功能?(1)MOVAX,00FFHAND1122H+3344H解:00FFHAND1122H+3344H=00FFHAND4466H=0066H,指令将立即数0066H送AX寄存器。(2)MOVAL,15GE1111B解:关系为真,表达式为0FFH,指令将立即数0FFH送AL寄存器,执行指令后AX=00FFH(3)MOVAX,00FFHLE255+6/5解:(00FFHLE(255+6/5))=00FFHLE256,(6/5=1),关系为真,表达式为0FFFFH,指令将立即数0FFFFH送寄存器AX。指令执行后AX=0FFFFH(4)ANDAL,50MOD4解:50MOD4=2,指令将立即数02H与AL内容相与,执行指令后AX=0FF02H第22页/共99页(5)ORAX,0F00FHAND1234HOR00FFH解:0F00FHAND1234HOR00FFH=1004HOR00FFH=10FFH,指令将AX的内容(0FF02H)与立即数10FFH相或,执行指令后AX=0FFFFH3、有符号定义语句如下:BUFDB3,4,5,‘123’ABUFDB0LEQUABUF–BUF求L的值为多少?解:L值的内容为6。4、假设程序中的数据定义如下:PARDW?PNAMEDB16DUP(?)COUNTDD?PLENTHEQU$-PAR求PLENTH的值为多少?表示什么意义?解:PLENTH的值为22,表示三个变量占用的字节数。第23页/共99页5、对于下面的数据定义,各条MOV指令执行后,有关寄存器的内容是什么?DA1DB?DA2DW10DUP(?)DA3DB‘ABCD’MOVAX,TYPEDA1MOVBX,SIZEDA2MOVCX,LENGTHDA3解:指令执行后AX=1BX=20CX=1第24页/共99页1静态RAM和动态RAM有何区别?解:SRAM集成度低于DRAM;SRAM功耗也比DRAM高;SRAM只要电源存在,内容就不会消失,不需要刷新,DRAM由于总是存在有泄漏电流,故要求刷新;SRAM存取速度较DRAM快;第25页/共99页3、DRAM的/CAS和/RAS输入的用途是什么?解:/RAS:行地址选通信号,把行地址送入行地址锁存器,/CAS:列地址选通信号,把列地址送入列地址锁存器。第26页/共99页7.用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?在地址线中有多少位参与片内寻址?多少位组合成片选信号?(设地址总线16位)解:(1)存储器总容量=16K×8bits=128kbits;每片存储芯片容量为:1kbits需要128/1=128个存储芯片(2)210=1024,每个存储芯片需要10位地址线参与片内寻址(3)由于每8个存储芯片生成一个字节宽度存储器,共用一个片选信号,需要片选信号数为128/8=16由于24=16,所以至少需要4位地址线生成片选信号。第27页/共99页8.现有一存储体芯片容量512×4位,若要用组成4KB的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线?解:(1)总存储容量为:4KB=32Kbits,每片存储芯片的容量为:512×4=2Kbits所以需要32/2=16片存储芯片。(2)512=29,所以每片芯片需要9根寻址线(3)由于2片4位芯片构成一个字节存储体,共用1个片选信号,因此需要16/2=8条片选信号。由于23=8,需要3根地址线生成片选信号。所以整个存储系统至少需要12根地址线。第28页/共99页11.当要将一个字写入到存储器奇地址开始的单元中去,列出存储器的控制信号和它们的有效逻辑电平信号(8086工作在最小模式)解:(参见课本P230页,图5.22)存储器写操作由两个总线周期组成,使用的控制信号为:/WE存储器信号,低电平有效/CE1存储器片选信号,低电平有效。(由高位地址线和M/IO信号经译码生成)CE2存储器片选信号,高电平有效奇存储体的CE2信号由/BHE反向后生成偶存储体的CE2信号由A0反向后生成第29页/共99页8086微处理器发起写操作总线周期控制信号(参见课本P53图2.53):ALE信号:高电平有效M/IO信号:高电平有效/WR信号:低电平有效DT/R信号:高电平有效/DEN信号:低电平有效第一个总线周期/BHE=0,A0=1读取奇地址字节第二个总线周期/BHE=1,A0=0读取偶地址字节第30页/共99页12.设计一个64K×8存储器系统,采用74LS138和EPROM2764器件,使其寻址范围为40000H~4FFFFH解:EPROM2764容量为8K×8=64kbits,存储系统容量为64K×8=512Kbits,故需要512/64=8片2764;8192=213,每片2764需要13根地址线。分两种情况分析:(1)采用8088微处理器的计算机系统:由于采用8位数据总线,A12~A0用于芯片内部存储字节寻址线。地址范围为:40000H~4FFFFH,A19~A16=0100,A15~A13作为74LS138译码输入产生片选信号。参考电路图如下:第31页/共99页A19A18A17A16G1G2AG2BCBA+5VM/IOA15A14A13…RDD7~D0A12~A0CEOED7~D0Y774LS138Y0A12~A0CEOED7~D0A12~A0……1#8#第32页/共99页(2)采用8088微处理器的计算机系统:由于采用16位数据总线,A13~A1用于芯片内部存储字节寻址线。地址范围为:40000H~4FFFFH,A19~A17=0100,A16~A14作为74LS138译码输入产生片选信号Y3~Y0。参考电路图如下:第33页/共99页A19A18A17G1G2AG2BCBA+5VM/IOA16A15A14…RDD7~D0Y374LS138Y0A12~A0CEOED7~D0A12~A0CEOED7~D0A13~A1。。。。。。。。。Y7A13~A1D15~D8第34页/共99页13.用8K×8位的EPROM2764、8K×8位的6264和译码器74LS138构成一个16K字ROM、16K字RAM的存储器子系统。8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286。画出存储器系统与CPU的连线图,写出各芯片的地址分配。解:(1)16K字ROM需要4片2764(8K×8)16K字RAM需要4片6264(8K×8)(2)对于8086系统存储子系统至少要包括的存储空间ROM:FFFF0H~FFFFFH(8086复位后,CS=0FFFFH,IP=0000H,因此微处理器每次上电都从地址0FFFF0H执行第一条指令),若各ROM地址连续分布,4片ROM实现的地址空间为:0F8000H~0FFFFFH(32KB)RAM:00000H~003FFH空间为存储中断向量表,要使微机系统能正常工作(处理各种中断),存储器子系统包括这段空间。4片RAM实现的地址空间为:00000H~07FFFH(32KB)第35页/共99页READYX1X2(8284A)8086地址锁存器STB(8282*3)(8286*2)OE(选用)BHEA19~A0D15~D0地址总线数据总线+5VMN/MXCLKRESETAD15~AD0A19~A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT存储器子系统系统连线分别参考课本P43图2.15和课本P230页图5.22。第36页/共99页G1G2AG2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12~A0CEOEA12~A0CE1OEA13~A1Y7A13~A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12~A0CEOED7~D02#1#A12~A0CEOED7~D02#1#DBA13~A1A13~A1RDRDD7~D0D15~D8D7~D0D15~D8Y6GND第37页/共99页5.说明查询式输入和输出接口电路的工作原理。略,见书P241-242.第38页/共99页6.简述在微机系统中,DMA控制器从外设提出请求到外设直接将数据传送到存储器的工作过程。答:当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对于总线的控制权。DMA临时接管总线,控制外设和存储器之间直接进行高速的数据传送。控制器给出访问内存所需要的地址信息,并且自动修改地址指针,设定和修改传送的字节数,向存储器和外设发出相应的读写控制信号。在DMA传送结束后,它能释放总线。用DMA方式读磁盘的过程分为以下几步:进行一次DMA传输前,首先对控制器进行初始化编程。CPU向磁盘控制器发出读盘命令,由磁盘控制器找到要读取的数据位置,并开始读出数据。当磁盘控制器准备好了第一个字节的数据后,就向DMA控制器发送一个DMA请求信号DREQ。DMA送一个请求保持信号HRQ到CPU。CPU将总线浮空。DMA通过地址总线向存储器发送地址信号,指示要被写入内存的第一个数据的地址。随后DMA向磁盘控制器发出确认信号,通知磁盘控制器准备好要输出地数据字节。DMA使控制总线上的I/O读信号和存储器写信号有效。每完成一个字节数据的传送,DMA会自动修改内部地址寄存器的内容,指向下一个字节的地址。传送结束后,DMA撤销保持信号,释放总线。第39页/共99页7.某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为300H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。解:每块芯片占有8个端口地址,故需要A2A1A0作为片内寻址线。要求地址连续分布,故需要A3A4A5作为片选信号,连接到74LS138的ABC。起始地址为0000,0011,0000,0000.故A8A9保持为1,其余为0端口地址为:#1:0000,0011,0000,0000~0000,0011,0000,0111即300H~307H#2:0000,0011,0000,1000~0000,0011,0000,1111即308H~30FH#3:310H~317H#4:318H~31FH#5:320H~327H#6:328H~32FH#7:330H~337H#8:338H~33FH第40页/共99页第41页/共99页下图为8086存储器的部分电路连线图。问:(1)M0和M1的寻址范围分别是什么?(2)存储总容量为多少?BHEM/IOA17A16~A1≥1≥1A0&M1CSD7~D0A15~A0M0CSD7~D0A15~A0D7~D0D15~D8A18A19第42页/共99页解:由图可知,此存储器系统采用双体存储器结构,其中:A0用于选偶存储体,BHE用于选奇存储体。存储芯片M0、M1的片选逻辑表达式为:当且仅当A19A18A17A0BHEM/IO=110011时,CSM0=0,选中M0;当A19A18A17A0BHEM/IO=110101时,CSM1=0,选中M1;当A19A18A17A0BHEM/IO=110001时,CSM0=0,CSM1=0,同时选中M0和M1;于是,由A16~A1用于片内地址选择可得:(1)M1的寻址范围为:C0000H~DFFFFH的奇地址;M2的寻址范围为:C0000H~DFFFFH的偶地址;(2)总存储容量217B第43页/共99页分析:存储器的地址空间关键是要搞清楚存储器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参与地址译码,哪些地址用于片内单元的选择,然后根据译码逻辑的输出,从而确定存储器的地址空间。如果对译码逻辑很熟悉,可直接根据连线情况,直接写出各存储器芯片的地址范围。第44页/共99页课堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采用全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3)画出其地址译码及连接电路图。(假设系统20位地址总线为A19~A0,16位数据总线为D15~D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择信号是A0)第45页/共99页(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围80000H~8FFFFH中奇地址偶存储体的地址范围80000H~8FFFFH中偶地址(3)电路连接图如下第46页/共99页BHEA15~1A0M2CSD7~D0A14~A0M1CSD7~D0A14~A0D7~D0D15~D8AG1G2AG2BCBA…74LS138Y7Y4…Y0……M/IOA19A18A17GNDA16第47页/共99页2.8255A有哪几种工作方式?各用于什么场合?端口A、端口B和端口C各可以工作于哪几种工作方式?8255A有三种工作方式:方式0:基本输入输出方式,适用于不需要用应答信号的简单输入输出场合;方式1:选通输入\输出方式,在这种方式下,A口和B口仍可作为数据的输入输出口,但是同时规定C口的某些位作为控制或状态信息。方式2:双向总线方式,使外设可以在单一的8位总线上,既能发送数据也能接受数据,工作时可用程序查询方式,也可工作在中断方式。端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C可工作于方式0。第48页/共99页4.若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的3个端口和控制寄存器的地址各是多少?已知CPU的系统总线为A0~A9,D15~D0,M/IO,/IOR,/IOW,RESET,试画出8255A的地址译码电路及它与CPU系统总线的连接图。A口:2F9HB口:2FBHC口:2FDH控制寄存器:2FFH第49页/共99页第50页/共99页7.8255A的端口地址为80H,82H,84H,86H,若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第51页/共99页B口工作在方式0输出,A口工作在方式1输入,C口各位的作用是:C口的PC4,PC5和PC3用作端口A的状态和控制线,其中PC4接/STB,输入选通信号,PC5接IBF向外设发出输入缓冲器满信号,PC3接INTE,中断允许信号,C口其余各位仍可做基本输入输出。INTEA用于允许与禁止A口中断,通过对PC4的置位和复位操作实现控制字为:1011X00X第52页/共99页读打印机状态建立指针延时20ms再读等待中断返回DOS是仍未就绪12.试画出打印机驱动程序的流程图:发送选通信号传送完成?中断返回是否主程序中断服务程序保护现场关中断允许8255中断发送字符修改地址指针结束中断恢复现场关闭8255中断初始化初始化各段寄存器建立服务程序的中断向量初始化8259初始化8255延时50us准备好否准备好否FIN允许8086中断初始化打印机第53页/共99页8255APA0PA1PA2PA3PC0PC2PC4PC5PB0PB1PB2PB3PB4PB5PB6PB7……到8259INTRACKBERRPESLCTBUSYACKSTROBEINITDATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8打印机插座第54页/共99页1、已知某指令的逻辑地址CS=0074HIP=5000H,求其物理地址。解:物理地址为0074H×10H+5000H=5740H2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是41020H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效地址是什么?解:(1)存储位置图右图(2)有效地址分别为0020H和1023H……7FH41020H80H41021H5FH41024HEFH41023H…第55页/共99页4、若已知当前DS=1230H,在偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期)解:由于访问非规则字,需要对存储器访问6次。3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段在存储器中的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值?解:堆栈段在存储器中的物理地址范围为12000H~21FFFH.当前堆栈区的范围:12000H~127FFH.SP的内容为800H-14H(20)=7ECH.33H123A4H11H123A1H22H123A2H55H123A5H44H123A4H66H123A6H第56页/共99页习题1、高速缓存的存取速度。A、比内存慢、比辅存快B、比内存慢,比内部寄存器快C、比内存慢,比内部寄存器慢2、下面的说法中,正确的是:。A、EPROM是不能改写的B、EPROM是可改写的,所以也使一种读写存储器C、EPRPM只能改写一次D、EPRPM是可改写的,它不能作为读写存储器3、若256KB的SRAM具有8条数据线,则它具有条地址线A、10B、15C、20D、32第57页/共99页下图为8086存储器的部分电路连线图。问:(1)M0和M1的寻址范围分别是什么?(2)存储总容量为多少?BHEM/IOA17A16~A1≥1≥1A0&M1CSD7~D0A15~A0M0CSD7~D0A15~A0D7~D0D15~D8A18A19第58页/共99页答案1、C2、DEPROM是紫外线擦除可编程ROM,可反复多次改写,所以A和C不正确;EPROM的编程需外加编程电压,不能在线随机改写,因此EPROM不是随机读写存储器。所以不正确。3、B256Kb=28x210b=215x(23)b=215B第59页/共99页解:由图可知,此存储器系统采用双体存储器结构,其中:A0用于选偶存储体,BHE用于选奇存储体。存储芯片M0、M1的片选逻辑表达式为:当且仅当A19A18A17A0BHEM/IO=110011时,CSM0=0,选中M0;当A19A18A17A0BHEM/IO=110101时,CSM1=0,选中M1;当A19A18A17A0BHEM/IO=110001时,CSM0=0,CSM1=0,同时选中M0和M1;于是,由A16~A1用于片内地址选择可得:(1)M1的寻址范围为:C0000H~DFFFFH的奇地址;M2的寻址范围为:C0000H~DFFFFH的偶地址;(2)总存储容量217B第60页/共99页分析:存储器的地址空间关键是要搞清楚存储器结构是单体(8位)还是双体(16位),以及CPU有哪些高端地址线用于参与地址译码,哪些地址用于片内单元的选择,然后根据译码逻辑的输出,从而确定存储器的地址空间。如果对译码逻辑很熟悉,可直接根据连线情况,直接写出各存储器芯片的地址范围。第61页/共99页课堂练习:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采用全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3)画出其地址译码及连接电路图。(假设系统20位地址总线为A19~A0,16位数据总线为D15~D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择信号是A0)第62页/共99页(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围80000H~8FFFFH中奇地址偶存储体的地址范围80000H~8FFFFH中偶地址(3)电路连接图如下第63页/共99页BHEA15~1A0M2CSD7~D0A14~A0M1CSD7~D0A14~A0D7~D0D15~D8AG1G2AG2BCBA…74LS138Y7Y4…Y0……M/IOA19A18A17GNDA16第64页/共99页1、已知某指令的逻辑地址CS=0074HIP=5000H,求其物理地址。解:物理地址为0074H×10H+5000H=5740H第65页/共99页2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是41020H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效地址是什么?……7FH41020H80H41021H5FH41024HEFH41023H…解:(1)存储位置图如下图(2)有效地址分别为0020H和1023H第66页/共99页3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段所在段的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值?解:堆栈段所在段的物理地址范围为12000H~21FFFH.当前堆栈段的范围:12000H~127FFH.SP的内容为800H-14H(20)=7ECH.第67页/共99页4、若已知当前DS=1230H,在偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期)33H123A4H11H123A1H22H123A2H55H123A5H44H123A4H66H123A6H解:由于访问非规则字,需要对存储器访问6次。第68页/共99页5、对于给定的数据定义,画图说明下列语句所分配的存储空间及初始化的数据,并写出变量R1的值。A1DW1,2,3,’AB’A2DB‘ABC’A3DB6DUP(?)R1EQUA3-A1第69页/共99页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第70页/共99页7、若十进制数字0~9的LED七段码对照下表,试用XLAT指令求数字5的七段码值:十进制数七段显示码十进制数七段显示码040H512H179H602H224H778H330H800H419H918HDPabcdefgDPgfedcba七段码位为0时发光,为1时熄灭。十进制数’0’,a、b、c、d、e、f均为0,发光。g、DP为1,七段显示码为40H第71页/共99页SDATASEGMENTTABLE:DB40H,79H,24H,30H,19H;七段码DB12H,02H,78H,00H,18HSDATAENDS…MOVAL,5;数字5的偏移量→ALMOVBX,OFFSETTABLE;表首地址→BXXLATTABLE;查表得到AL=12H实现以上操作的程序伪指令SEGMENT…ENDS定义数据段,段名为SDATADB在数据段中定义字节数据,建立七段码表TABLEOFFSET获取表TABLE相对于数据段基址的偏移第72页/共99页存储器BX=0000...301910006H10001H10004H10000H7940241202DS=100010002H10003H10005H第73页/共99页8、以下程序实现什么功能?若VAR1的内容为1234H,本段程序执行后,写出VAR2中的数值?画出程序流程图。DSEGSEGMENTVAR1DW?VAR2DB5DUP(?)DSEGENDSCSEGSEGMENT…BAPPROCFARPUSHAX…PUSHSIMOVAX,VAR1CMPAX,8000HJCDONEMOVSI,OFFSETVAR2MOVCX,LENGTHVAR2MOVBX,10ADDSI,CXDECSIAGAIN:XORDX,DXDIVBXADDDL,30HMOV[SI],DLDECSILOOPAGAINDONE:POPSI...POPAXRETBAPENDPCSEGENDSEND第74页/共99页答:(1)功能:将16位的二进制数变为ASCII码(2)VAR230H,34H,36H,36H,30H(3)流程图略第75页/共99页4、若已知当前DS=1230H,在偏移地址为00A1H开始的存储器中连续存放6个字节的数据分别为11H,22H,33H,44H,55H和66H.请指出这些数据在存储器中的物理地址。如果要从存储器中以字读取方式读出这些数据,需要访问几次存储器?(几个总线周期)1、已知某指令的逻辑地址CS=0074HIP=5000H,求其物理地址。2、有两个字807FH,5FEFH,它们在8086系统的存储器中的地址分别是41020H和41023H,请用图示它们在存储器中的位置。若它们的段地址是4000H,这两个字的有效地址是什么?3、在某系统中,已知当前SS=1200H,SP=0800H,请说明该堆栈段在存储器中的物理地址范围,若在当前堆栈段中存入20个字节数据,那么SP的内容为什么值?33H123A4H11H123A1H22H123A2H55H123A5H44H123A4H66H123A6H第76页/共99页第一章微型计算机概述了解微型计算机层次结构微处理器微型计算机和微型计算机系统微型计算机系统的硬件结构冯·诺依曼(vonNeuman)结构由运算器、控制器、存储器、输入设备和输出设备组成。程序指令和数据采用二进制表示实现程序存储和程序控制。早期微型计算机的三总线结构(总线的概念)数据总线,地址总线和控制总线个人计算机PC/XT&AT的扩展总线结构ISA总线,PCI总线,PCIExpress第77页/共99页微处理器的基本结构与指令执行过程基本组成累加器和算术逻辑单元(ALU)寄存器阵列控制部件执行过程取指令、分析指令、执行指令运算基础基本概念:原码、反码和补码,BCD码,ASCII码有符号数与无符号,符号数的表示与补码运算第78页/共99页若X=-107,Y=74为字节宽度的有符号数,那么[X]补为H,[Y]补为H,[X+Y]补为H,[X+Y]补为H,若将[X]补扩展到16位有符号数则为H。解:[X]补=10010101B=95H(107=01101011B)[Y]补=01001010B=4AH[X+Y]补=[X]补+[Y]补=10010101B+01001010B=11011111B=0DFH[-Y]补=[Y]补取反加1=10110110B=0B6H[X-Y]补=[X]补+[-Y]补=10010101B+10110110B=101001011B=4BH结果溢出[X]补16=0FF95H第79页/共99页第二章8086微型计算机体系结构8086微处理器的内部结构执行单元(EU)和总线接口单元(BIU)EU:完成算术逻辑运算,计算出要寻址的操作数地址BIU:完成取指令,操作数的存取,指令队列减少取指等待时间取指和执行指令分开完成,实现CPU并行工作—两级流水线。8086CPU寄存器基本寄存器:八个16位通用寄存器数据寄存器:AX(AHAL)、BX(BHBL)、CX(CHCL)、DX(DHDL)地址指针及变址寄存器:SPBPSIDI控制寄存器组指令指针IP标志寄存器FLAG四个段寄存器(四种类型的存储器段)CSDSSSES—实现存储器空间的分段管理各种寄存器的作用和在指令中的使用方法,标志寄存器各标志位的功能,常用指令对标志位的影响。复位后各寄存器状态.第80页/共99页8086CPU的引脚及功能主要引脚地址线数据线AD0~AD15分时复用,A16~A19高位地址或状态控制和状态线总线操作:RD,WR,READY,M/IO,ALE,BHE,HOLD,HOLDA,DEN,DT/R中断与复位:NMIINTRINTARESET工作方式与测试MN/MXTEST电源和定时线VCCGNDCLK各引脚功能功能问:8086CPU的ALE引脚的功能是什么?8086在最小模式下的典型配置锁存器缓冲器的工作原理最小模式下的典型配置图第81页/共99页X1X2(8284A)8086地址锁存器STB(8282*3)(8286*2)OE(选用)BHEA19~A0D15~D0地址总线数据总线+5VMN/MXCLKRESETREADY8086在最小模式下的典型配置AD15~AD0A19~A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT第82页/共99页8086的存储器管理字节(8位)和字(16位)单位的数据存储与处理,规则字和非规则字存储器空间的分段管理(存储器空间的大小,管理方式;段的大小)物理地址和逻辑地址,物理地址的产生问:已知一个字节数据存储的物理地址是12345H,数据在数据段的偏移地址为345H,求该数据存储地址的段地址。8086的堆栈操作操作原则:后进先出,向下生成问:已知当前SP=80H,CPU执行以下指令后,SP的值是什么?POPAXPOPBX第83页/共99页I/O端口组织基本概念:I/O接口—为某种外部设备服务的电路I/O端口—I/O接口中的数据通道编址方式:存储器映像编址方式和独立编址不同编址方式的特点:空间大小、访问指令等问:当CPU对存储器映像I/O端口执行读操作时,信号M/IO、/WR和/RD的有效状态是什么?8086总线操作及时序总线周期:执行一个总线操作所需要的时间。时序与时序图.问:基本的总线周期通常包含几个T状态,什么是等待状态,如何在总线周期中插入等待状态?第84页/共99页(DS)=3000H,(BX)=500CH,(3500CH)=9AH执行指令MOVAL,[BX]的时序图A19~A16T1T2T3T4A19~A16/S6~S3M/IOA19~A0RDDT/RDENCLKS6~S3D15~D0AD15~AD0ALEA15~A0第85页/共99页第三章8086指令系统8086指令系统基本概念指令指令系统汇编程序;指令格式操作数8086的寻址方式有效地址的概念及组成寻址方式:立即寻址MOVAL,80H寄存器寻址MOVAX,BX直接寻址MOVAX,[2000H]间接寻址MOVAX,[BX]基址寻址MOVAX,20H[BX]变址寻址MOVAX,20H[SI]基址变址寻址MOVAX,INF[BX][SI]输入输出端口寻址INAL,80H串操作指令寻址自动修改SI和DI的内容STOSBSTOSW问:指令MOVAX,20H[BX]的寻址方式是什么?该指令访问那个段?若DS=1000H,BX=200H,指令操作数的物理地址是什么?第86页/共99页8086指令分类数据传送指令、算术运算指令、逻辑运算指令、字符串操作指令、控制转移指令和处理器控制指令要求:熟悉各种指令的功能和指令格式,能指出指令出错原因;问:CBW指令的功能是什么?若AL=0A5H,执行CBW后,DX中的值是什么?控制转移指令程序调用和返回的过程(段内和段间调用与返回)程序转移指令无条件转移(段内和段间转移)条件转移(哪些条件)第87页/共99页第四章汇编语言程序设计汇编语言的格式伪指令和程序结构程序分段及存储器分配伪指令(SEGMENT和ENDSORGASSUME,PARABYTEWORDPAGE,)变量定义及存储器伪指令(DB/DW/DD)过程定义伪指令(PROC/ENDPFARNEAR)符号定义伪指令(EQULABEL)程序模块定义/连接伪指令(PUBLICEXTERN)汇编语言属性操作符修改属性的操作符(PTRTHISSHORT)数值返回操作符(SEGOFFSETTYPELENGTHSIZE)汇编语言程序设计要求:能阅读汇编程序,分析程序的功能,写出程序的注释,画出程序流程图(程序流程图要规范)。编写简单功能的汇编程序第88页/共99页数组ARRAY在数据段中已经定义为ORG100HARRAYDW2DUP(123H,3DUP(?)),1234H若已知DS=1000H,画出数组的内存分配图,并试指出下列指令执行后,有关寄存器的内容是多少?MOVBX,OFFSETARRAYMOVCX,LENGTHARRAYMOVSI,0ADDSI,TYPEARRAY(BX)=100H(CX)=2(SI)=2第89页/共99页ORG0900HBEING:MOVCX,00HMOVSI,0AFFHCYCLE:INCCXINCSICMPCX,0100HJEQUITCMP[SI],23HJNECYCLEQUIT:MOVAL,[SI]MOVDX,SIEND阅读以下程序,分析程序实现的功能,程序执行完成后,寄存器DX中的存放的是什么内容,写出程序的注释画出程序的流程图。第90页/共99页第五章存储器与存储器系统存储器概述存储器的结构:位结构方式和字结构方式字节、字和指针在存储器空间中的存放半导体存储器与存储器控制存储器分类与存储单元译码方式(单译码和双译码)问题:各种存储器用在计算机存储器分层结构中的那一层、功能如何?8086系统的存储器组织存储器的容量如何确定、译码电路分析与设计(片选信号的产生74LS138)如何确定存储器系统中存储芯片的地址空间。计算机存储器的分层结构计算机存储器的分层结构由那些类型的存储单元构成,各有什么特点?(速度、容量)问题:在计算机存储器的分层结构中那种存储单元的容量最大,那种存储单元的访问速度最快?第91页/共99页第六章输入与输出基本概念I/O接口与I/O端口的定义、组成与功能I/O端口的寻址方式与译码电路设计CPU与I/O数据传送方式CPU与I/O间的接口信号I/O控制方式程序控制传送方式无条件传送方式(同步方式)异步查询方式中断方式直接存储器存取方式(DMA)第92页/共99页第七章中断中断概念中断的定义与分类问:完整的中断过程包括那些部分,各实现什么功能?中断请求---中断排队---中断响应---中断处理---中断返回中断源的确定及接口(查询和外部中断矢量的确定)
/
本文档为【微机原理习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索