• 1.00 MB
  • 2022-04-22 11:46:22 发布

微机原理与接口技术习题答案2-9(朱红_著)1.doc

  • 84页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'习题一、选择题1.8086/8088CPU内部有一个始终指示下条指令偏移地址的部件是_______。A.SPB.CSC.IPD.BP答案:C2.指令队列的作用是_________。A.暂存操作数地址B.暂存操作数C.暂存指令地址D.暂存预取指令答案:D3.8086/8088下列部件中与地址形成无关的是______。A.ALUB.通用寄存器C.指针寄存器D.段寄存器答案:A4.对于8086,下列说法错误的是_______。A.段寄存器位于BIU中B.20位的物理地址是在EU部件中形成的C.复位后CS的初值为FFFFHD.指令队列的长度为6个字节答案:B5.8086/8088中ES、DI分别属于_______。A.EU、BIUB.EU、EUC.BIU、BIUD.BIU、EU答案:D6.BIU与EU工作方式的正确说法是_______。A.并行但不同步工作B.同步工作C.各自独立工作D.指令队列满时异步工作,空时同步工作答案:A7.在执行转移、调用和返回指令时,指令队列中原有的内容_______。A.自动清除B.用软件清除C.不改变D.自动清除或用软件清除答案:A8.下列说法中,正确的一条是______A.8086/8088标志寄存器共有16位,每一位都有含义。B.8088/8086的数据总线都是16位。C.8086/8088的逻辑段不允许段的重叠和交叉D.8086/8088的逻辑段空间最大为64KB,实际应用中可能小于64KB。答案:D9.8086/8088工作于最大模式,是因为_____。A.可以扩展存储容量B.可以扩大I/O空间C.可以构成多处理器系统D.可以提高CPU主频答案:C10.8088/8086最大模式比最小模式在结构上至少应增加_____。A.中断优先级控制器B.总线控制器C.数据驱动器D.地址锁存器答案:B11.组成最大模式下的最小系统,除CPU、时钟电路,ROM,RAM及I/O接口外,至少需增加的芯片类型为______。 a.总线控制器b.总线裁决器c.地址锁存器d.总线驱动器A.b,dB.a,b,cC.a,dD.a,c,d答案C12.工作在最小模式时,对CPU而言,下列信号皆为输入信号的是______。A.HOLD、、READYB.、、READYC.、HOLD、D.、HOLD、READY答案:A13.在最小工作模式下,8088/8086CPU在每个时钟脉冲的______处,对HOLD引脚上的信号进行进行检测。A)上升沿B)下降沿C)结束位置D)中间位置答案:A14.LOCK引脚的功能是____。A.总线锁定B.地址锁定C.数据输入锁定D.数据输出锁定答案:A15.与存储器(或外设)同步以及与协处理器同步的引脚信号依次为_______。A.READY、B.READY、HOLDC.、RESETD.、答案:A16.工作在最大模式时,下列信号皆为输出信号的是_______。A.QS0、QS1、B.QS0、、C.QS1、、S0D.、QS1、答案:A17.8086/8088最大模式时,引脚有效时的正确含义是_____。A.能中断CPU的工作B.能进行DMA操作C.其它总线部件不能占有总线D.暂停CPU的工作答案:C18.工作在最大模式时,经总线控制器8288将对应CPU最小模式时的三个引脚状态进行组合,产生控制和命令信号,这三个引脚应为________。A.B.C.D.答案:C19.8088/8086中,关于总线周期叙述不正确的是_______。A.总线周期通常由连续的T1~T4组成B.在读写操作数时才执行总线周期 C.总线周期允许插入等待状态D.总线周期允许存在空闲状态答案:B20.在8086读总线周期中,进入T3后发现READY=0,需要插入等待状态,则在插入等待状态时其引脚的高地址A19~A16_______。A.表示读数据对应的高4位的地址B.表示CPU当前工作状态C.处于高阻状态D.处于不定状态答案:B21.设8086/8088工作于最小模式,在存储器读、写周期中,总线AD15~AD0上数据开始有效的时刻(不插入Tw)分别是______。A.T2、T2B.T2、T3C.T3、T4D.T3、T2答案:D二、填空题1.8086/8088CPU在结构上由两个独立的处理单元_______和_______构成,这两个单元可以_____工作,从而加快了程序的运行速度。答案:EUBIU并行2.8086是Intel系列的16位处理器,从功能上,它分为两个部分:即总线接口单元和执行单元。总线接口单元由_______、_______、_______、_______、_______等寄存器和20位地址加法器和6字节指令队列构成。执行单元有4个通用寄存器,即______;4个专用寄存器,即____、_____、_____、______等寄存器和算术逻辑单元组成。答案:AX、BX、CX、DXSP、BP、DI、SI3.任何CPU都有一个寄存器存放程序运行状态的标志信息,在8086中,该寄存器是_____。其中,根据运算结果是否为零,决定程序分支走向的标志位是____。答案:FRZF4.8086/8088CPU中标志寄存器的3个控制位是_____、_____、______。答案:DFIFTF5.逻辑地址9B50H:2C00H对应的物理地址是______。答案:9E100H6.在任何一个总线周期的T1状态,ALE输出_____。答案:高电平7.8086有两种工作模式,即最小模式和最大模式,它由______决定。最小模式的特点是_______,最大模式的特点是________。答案:CPU提供全部的控制信号需要总线控制器82888.8086CPU可访问的存储器的空间为1MB,实际上分奇数存储体和偶数存储体两部分,对于奇数存储体的选择信号是________,对于偶数存储体的选择信号是_______,对于每个存储体内的存储单元的选择信号是___________。答案:A0A19~A19.在8086的最小系统,当,,时,CPU完成的操作是_______。答案:I/O读 10.在最小模式下,执行“OUTDX,AL”指令时,、、、的状态分别是___。答案:0,0,1,111.8086CPU从偶地址读写两个字节时,需要_____个总线周期,从奇地址读取两个字节时,需要_____个总线周期。答案:1212.8086在存取存储器中以偶地址为起始地址的字时,,,A0的状态分别是____。答案:10013.8086向内存地址1200BH写一个字节数据时,需要一个总线周期,在该总线周期的T1状态,为______,A0为_____。答案:0,114.假设某个总线周期需插入两个Tw等待状态,则该总线周期内对READY信号检测的次数是_______。答案:315.8086CPU上电复位后,CS=_____,IP=_____,DS=_____,标志寄存器FR=_____。答案:0FFFFH,0,0,016.8088/8086的复位信号至少要维持______个时钟周期。答案:417.8086CPU工作在最小模式下,控制数据流方向的信号是____、____、____、____、____。答案:、、、、18.当存储器的读出时间大于CPU所要求的时间时,为了保证CPU与存储器的周期配合,就要利用______信号,使CPU插入一个_____状态。答案:准备好(READY)等待(Tw)状态19.当8086/8088工作于最大模式时,QS1=1,QS0=0,其表示指令队列的状态为______。答案:队列为空。20.在T2、T3、Tw、T4状态时,S6为_____,表示8086/8088当前连在总线上。答案:低电平21.8086/8088提供的能接受外中断请求信号的引脚是_____和_____。两种请求信号的主要不同处在于是否可______。答案:INTRNMI屏蔽22.一台微机的CPU,其晶振的主振频率为8MHz,二分频后作为CPU的时钟频率。如果该CPU的一个总线周期含有四个时钟周期,那么此总线周期是_____us。答案:0.12523.某微处理器的主频为20MHz,由2个时钟周期组成一个机器周期,设平均3个机器周期可完成一条指令,其时钟周期和平均运算速度分别为_____。答案:50ns,3.33MHz 三、问答题1.8086/8088CPU在结构上由哪两个独立的处理单元构成?这样的结构最主要的优点是什么?答案:在微机中,一条机器指令由操作数和操作码构成,再由若干指令构成程序。微处理器执行一条指令的完整步骤需要两个阶段:取指和执行。取指是从内存中取出指令,执行是分析指令要求实现的功能,读取所需的操作数,执行指令规定的操作。传统的8位处理器采用顺序执行的方式,各条指令的执行按以上两个阶段交替执行。也就是说,首先取一条指令,然后执行该指令,之后再取下一条指令,再执行,如此重复,直到整个程序执行完毕。在8086中,为了加快程序的执行速度,采用了重叠执行的方式,各条指令的执行过程是重叠进行的。每条指令的执行过程也包括取指和执行两个阶段,但是相邻两条指令的执行过程有一部分是同时进行的。在执行一条指令时,可以同时取出下一条指令。在当前指令执行完毕后,就可以立即执行下一条指令。显然,这种重叠执行的方式大大加快了程序的执行速度。为了实现指令的重叠执行方式,8086/8088微处理器内部分为两个独立的功能部件:执行单元EU和总线接口单元BIU,执行单元EU专门负责指令的执行,总线接口单元BIU是从内存指定区域取出指令送到指令队列缓冲器的。EU和BIU两个功能部件并行工作,EU执行的BIU在前一时刻取出的指令,与此同时,BIU又取出下一时刻要执行的指令,由此能使大部分取指令和执行指令的操作重叠进行,大大缩短了等待指令所需的时间,提高了微处理器的利用率和整个系统的执行速度。2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出。(1)00101101B+10011100B(2)01011101B-10111010B(3)876AH-0F32BH(4)10000000B+11111111B答案:(1)C9HSF=1ZF=0CF=0OF=0未溢出(2)01011101B-10111010B=01011101B+01000110BA3HSF=1ZF=0CF=1OF=1有溢出求-Y的补码,即正数-Y的真值(3)876AH-0F32BH=876AH+0CD5H943FHSF=1ZF=0CF=1OF=0未溢出(4)7FHSF=0ZF=0CF=1OF=1有溢出3.存储器采用分段方法进行组织有哪些好处?答案:8086微处理器CPU中寄存器都是16位,16位的地址只能访问大小为64KB以内的内存。8086系统的物理地址由20根地址线形成,怎样用16位数据处理能力实现20位地址的寻址呢?要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段地址和偏移地址组成的。而这两个地址都是16位,将这两个地址采用相加的方式组成20位地址去访问存储器。在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器的内容,可达到逻辑段在整个1MB空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。4.Intel8086/8088处理器芯片功能强大,但引脚数有限,为了建立其与外围丰富的信息联系,Intel8086/8088处理器引脚采用了复用方式,说明其采用了何种复用方式?答案: 8086CPU采用双列直插式的封装形式,具有40条引脚。由于受到引脚数量的限制,8086引脚安排采用了复用技术。它的复用方式有两种:一是采用分时复用技术,在不同的时刻通过相同的引脚传送不同的信息,从而减少了引脚的数量;二是采用了两种工作方式,在不同的工作方式下,部分引脚具有两种不同的引脚功能。5.8086CPU是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?答案:为解决引脚少的问题,8086CPU内部采用一个多路开关,使低16位地址线和16位数据线共用引脚。因为当CPU访问存储器或外设时,先要给出访问单元的地址,然后才是读写数据,因此在时间上是可以区分的。在总线周期的第一个时钟周期(T1状态),输出低16位地址(记为A15~A0),而在总线周期的其他时钟周期内传送数据。当CPU处于“保持响应”状态时,这些引脚处于高阻隔离状态(即悬浮状态)。ALE信号是地址锁存信号。8086在总线周期开始通过地址总线输出地址的同时,通过该引脚输出一个正脉冲,其下降沿用于将地址信息写入外部的地址锁存器中。在任何一个总线周期的第一个时钟周期时,ALE输出有效电平以表示在当前地址/数据复用总线上输出的是地址信息,ALE作为锁存信号,对地址进行锁存。ALE端不能被浮空。6.8086/8088系统用的时钟发生器会产生哪些信号?答案:8284A是一个专用的时钟发生器,产生4.77MHz的标准时钟信号CLK。此时钟信号作为系统时钟,并经CLK引脚直接送到8086,作为微处理器的时钟信号。同时8284A还对复位和就绪信号实现内部的时钟同步,然后再输出,实施对8086的控制。所以,8086/8088系统用的时钟发生器产生恒定的时钟信号CLK,复位信号RESET,准备就绪信号READY。7.说明8086CPU的READY输入信号和信号的作用是什么?答案:READY输入信号实际上是由访问的存储器或外设发出的响应信号,高电平有效。READY信号有效时,表示内存或外设准备就绪,马上就可以进行一次数据传输。CPU在每个总线周期的T3状态开始对READY信号开始进行采样。如果检测到READY信号为低电平,则在T3状态后插入等待状态Tw,在Tw状态CPU也对READY信号进行采用,若READY信号仍为低电平,则会继续插入等待状态Tw,所以Tw状态可以插入一个或多个,直到READY变为高电平,才进入T4状态,完成数据传输过程,从而结束当前总线周期。测试信号,低电平有效,信号是和指令WAIT结合起来使用的,在CPU执行WAIT指令时,CPU处于等待状态,当信号低电平时,等待状态结束,CPU继续往下执行被暂停的指令。习题一、选择题1.下列描述正确的是_______。A.汇编语言源程序可直接运行B.汇编语言属于低级语言C.汇编程序是用汇编语言编写的程序,运行速度高,阅读方便,属于面向用户的程序语言。D.汇编语言可以移植答案:B2.分析下面的程序,变量VAR2的偏移地址是______。DATASEGMENTORG2 VAR1DB2,3,4ORG$+3VAR2DW1234HDATAENDSA.02HB.04HC.05HD.08H答案:D3.为了使MOVAX,VAR指令执行后,AX寄存器中的内容为4142H,下面哪一种数据定义会产生不正确的结果?A.VARDW4142HB.VARDW16706C.VARDB42H,41HD.VARDW‘AB’答案:C4.下列伪指令中______是正确的。A.ERR1:DW99B.ERR2DB25*60C.COUNTEQU20D.ONEDBONE答案:C5.执行下列指令后,寄存器CL的值是_______。STR1DW‘AB’STR2DB16DUP(?)CNTEQU$-STR1MOVCX,CNTMOVAX,STR1HLTA.10HB.12HC.0EHD.0FH答案:B二、填空题1.汇编语言的调试过程如下:建立以______为扩展名的源文件;生成以______为扩展名的目标文件;生成以______为扩展名的可执行文件;使用DEBUG调试程序,调试可执行目标程序。答案:.asm.obj.exe2.执行下列指令后,(AX)=______,(BL)=_______。ADW‘EF’BDB‘ABCDEF’MOVAX,AMOVBL,B[3]HLT答案:4546H44H3.执行下面程序段后,AL中的内容是______。BUFDW1234H,5678H,0001HMOVBX,OFFSETBUFMOVAL,2XLAT答案:78H4.若符号定义语句如下,则L=_______。 BUF1DB1,2,‘12’BUF2DB0LEQUBUF2-BUF1答案:45.执行下列程序段后,BX寄存器间址单元的内容是______。ORG1FFFHDB4FH,50H,51HMOVBX,1FFFHINC[BX]INCBXDEC[BX]答案:4FH6.对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:TABLE1DB?TABLE2DW20DUP(?)TABLE3DB‘ABCD’......MOVAX,TYPETABLE1;(AX)=___MOVBX,TYPETABLE2;(BX)=____MOVCX,LENGTHTABLE2;(CX)=_____MOVDX,SIZETABLE2;(DX)=_____MOVSI,LENGTHTABLE3;(SI)=_______答案:12204017.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。DATASEGNEBTFIRSTDB_____,_____,0HSECONDDB_____,______DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,_____MOVSI,0_________NEXT:MOVAL,SECOND[SI]ADCFIRST[SI],ALINCSILOOPNEXTMOVAL,0ADCAL,______MOVFIRST[SI],AL MOVAH,4CHINT21HCODEENDSENDSTART答案:0BH8AH05HD7H2CLC08.下面程序的功能是求有符号数中绝对值最小的数,并将最小绝对值存放在DAT2字节中,填空使程序正确实现此功能。程序执行后,DAT2单元中的内容是______。DATASEGMENTDAT1DB65H,88H,20H,0F6HNEQU$-DAT1DAT2DB?DATAENDSCODESEGMENT_________________START:MOVAX,DATA__________LEASI,DAT1MOVCX,N-1MOVAL,[SI]TESTAL,80HJZLP0NEGALLP0:MOVDAT2,ALLP1:_________MOVBL,[SI]TESTBL,80HJZLP2NEGBLLP2:________JBLP3MOVDAT2,BLMOVAL,BLLP3:________MOVAH,4CHINT21HCODEENDSENDSTART答案:ASSUMEDS:DATA,SS:STACK,CS:CODEMOVDS,AXINCSICMPDAT2,BL LOOPLP1DAT2单元中的内容:0AH9.填空说明在下列程序段执行过程中相应寄存器中的值。假设程序执行前DS=3000H,SS=2000H,SP=3000H,AX=4567H,BX=1234H,CX=6789H。ANDBX,00FFHCALLMYSUBNOP;SP=________;AX=_______;BX=_______HLTMYSUBPROCPUSHAXPUSHBXPUSHCXSUBAX,BX;SP=______POPCXPOPAXPOPBXNOP;SP=______RETMYSUBENDP答案:3000H0034H4567H2FF8H2FFEH10.完善程序。BUFFER单元开始放置一个数据块,BUFFER单元存放预计数据块的长度为20H,BUFFER+1单元存放的是实际从键盘输入的字符串的长度,从BUFFER+2开始存放的是从键盘接收的字符,请将这些从键盘接收的字符再在屏幕上显示出来。MOVDX,OFFSETBUFFERMOVAH,_______INT21H;读入字符串LEADX,______MOVAL,______;实际读入的字符串的字符个数MOVAH,0ADDBX,AXMOVAL,____MOV[BX+1],ALMOVAH,_____INCDX;确定显示字符串的首址INT21HMOVAH,_____;系统返回DOSINT21H答案:0AHBUFFER+1[BX]"$"或24H94CH 三、问答题1.变量和标号有哪些属性?它们的区别是什么?答案:变量、标号还有常量是汇编语言中使用的操作数,是3种基本的数据项。变量和标号都有段属性、偏移属性和类型属性3种属性,但含义不同。变量通常指存放在存储单元中的值,在程序的运行中是可以修改的。所有的变量都具有3个属性。(1)段属性:指变量所在段的段基址,此值必须在一个段寄存器中。(2)偏移属性:指变量所在地址与所在段的段首地址之间的地址偏移字节数。(3)类型属性:指变量中每个元素所包含的字节数。标号是可执行指令语句的地址的符号表示,它可作为转移指令和调用指令CALL的目标操作数,以确定程序转向的目标地址,它也具有3个属性:(1)段属性:指标号所在段的段基址。标号的段是它所出现的那个代码段,由CS指示。(2)偏移属性:指标号所在地址与所在段的段首地址之间的地址偏移字节数。(3)类型属性:标号的类型属性指在转移指令中标号可转移的距离,也称距离属性。NEAR和FAR2.指出下列伪指令语句中的错误:(1)DATADB395(2)PRGMSEG……PRGMENDS(3)ALPHAEQUBETA(4)COUNTEQU100COUNTEQU65(5)GOONDW10DUP(?)……JMPGOON答案:(1)字节变量,范围在0~255(2)定义段的伪指令为SEGMENT(3)BETA必须先定义(4)EQU不能重复定义,在下一次定义前必须用PURGE撤消(5)转移指令必须转移到指令上,不允许转移到数据变量上。3.一数据段如下:DATASEGMENTPARA"DATA"AT46HQAEQU255QA1=QAGT3000QA2=0FFFHQA3EQUQA2XOR255QA4=88MOD5QA5=88HSHR2QA6EQUQA3/16+15ORG1060H G1DB32,QA,98/2,NOT25G2DW0FF6H,OFFSETG2G3DW3DUP(5)G4DWSEGG1SAEQULENGTHG3SBEQUSIZEG3SC=TYPEG3ORG1200HF1EQUTHISWORDF2DB11H,22H,33H,44HFFDD12345HDATAENDS(1)写出每个符号所对应的值(2)画出内存分配图(3)执行下列指令后,对应的寄存器的值为多少MOVAX,WOREPTRFFANDAX,0FFHMOVBX,WORDPTRG1MOVBX,255AND0FHADDAX,OFFSETF2MOVBX,F1答案:(1)DATASEGMENTPARA"DATA"AT46HQAEQU255;QA=255QA1=QAGT3000;255大于3000,命题假,QA1=0QA2=0FFFH;QA2=0FFFHQA3EQUQA2XOR255;QA3=0FFFH⊕0FFH=0F00HQA4=88MOD5;QA4=3QA5=88HSHR2;QA5=22HQA6EQUQA3/16+15;QA6=10FHORG1060HG1DB32,QA,98/2,NOT25G2DW0FF6H,OFFSETG2G3DW3DUP(5)G4DWSEGG1SAEQULENGTHG3;SA=3SBEQUSIZEG3;SB=3×2=6SC=TYPEG3;SC=2ORG1200HF1EQUTHISWORD;F1的偏移地址为1200H,类型为字F2DB11H,22H,33H,44H FFDD12345HDATAENDS(2)内存分配:DS:1060HG120HFFH31HE6HDS:1064HG2F6H0FH64H10HDS:1068HG305H00H05H00H05H00HDS:106EHG446H00H…………DS:1200HF211H22H33H44HDS:1204HFF45H23H01H00H(3)存储器的值:MOVAX,WOREPTRFF;AX=2345HANDAX,0FFH;AX=0045HMOVBX,WORDPTRG1;BX=0FF20HMOVBX,255AND0FH;BX=000FHADDAX,OFFSETF2;AX=1245HMOVBX,F1;BX=2211H4.以下程序的执行结果是_______。ADB‘1234’BDW5DUP(2,3DUP(0))CDW‘AB’,’C’,’D’L1:MOVAL,TYPEBMOVBL,LENGTHBMOVAH,SIZEA MOVBH,SIZECMOVCL,TYPEL1MOVCH,SIZEB答案:AX=0102H,BX=0205HCX=0AFFH5.有下列数据段,写出数据段中MAX、VAL1、VAL2、LEND符号所对应的值。DATASEGMENTMAXEQU0FFFHVAL1EQUMAXMOD10HVAL2EQUVAL1*2BUFFDB1,2,3,"123"EBUFFDB?LENDEQUEBUFF-BUFFDATAENDS答案:MAX=0FFFHVAL1=000FHVAL2=001EHLEND66.现有程序如下:DATASEGMENTADB23BDB0F0HCDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,ACMPAL,BJZLJGMMOVC,-1JMPEXITL:MOVC,0JMPEXITM:MOVC,1EXIT:MOVAH,4CHINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?(2)程序运行完后,C中的内容是什么?答案:判断两个有符号数,若A=B,则C=0;若A>B,则C=1;若AB,则C=1;若AB,则C=1;若AB,则C=1;若AB,则C=1;若AB,则C=1;若AB,则C=1;若A