• 78.15 KB
  • 2022-08-08 发布

微机原理_工学_高等教育_教育专区

  • 8页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
微机原理考试题型:1、填空2、简答3、程序分析4、读图分析5、程序设计复习题:第一章5.已知下列二进制数码,写出它们的原码、反码和补码。(1)()()()()()()()()(2)01111100(3)10000010(4)11111111答:(1)00000000的原码、反码和补码都为00000000(2)01111100的原码、反码和补码都为01111100(3)10000010的原码、反码和补码分别为10000010、11111101、11111110(4)11111111的原码、反码和补码分别为11111111、10000000、10000001第二章简述8086/8088CPU的内部结构:答:8086/8088CPU的内部结构基本相同,它们均由两个独立的工作部件组成,一个称为执行部件EU,—个称为总线接口部件BIUo(1)执行部件EU由算术逻辑单元ALU、暂存寄存器、标志寄存器、通用寄存器组和EU控制器构成。其任务只是执行指令,与外界的联系必须通过总线接口部件。(2)总线接口部件BIU包括4个段寄存器、指令指针IP寄存器、指令队列缓冲器、完成与EU通信的内部寄存器、20位的地址加法器以及总线控制电路等。它的任务是根据EU的请求,完成CPU与存储器、CPU与I/O设备之间的信息传送。4.对于8086CPU,己知(DS)=0150H,(CS)=0640H,(SS)=1200H,问:(1)在数据段屮可存放的数据最多为多少字节?首末地址各是什么?(2)堆栈段中可存放多少个16位的字?首末地址各是什么?(3)代码段最大可存放多少个字节的程序?首末地址各是什么?答:(1)在数据段中可存放的数据最多为64KB,首地址为01500H,末地址为114FFH。(2)在堆栈段中可存放32K个16位的字,首地址为12000H,末地址为21FFFH。(3)代码段中最大可存放64KB的程序,首地址为06400H,末地址为163FFH。5.冇一个由27个字节组成的数据区,其起始地址为BA00H:lBA0H,试写出该数据区的首末单元的实际地址。答:数据区的首地址为BA00H*10H+1BA0H=BBBA0H:数据区的末地址为BBBA0H+1BH-1二BBBBAH。6.若代码段寄存器(CS)=2()()()H,指令指针(IP)二2000H,试问指令的实际地址是什么?答:指令的实际地址为2000H*10H+2000H=22000Ho7.已知当前数据段位于存储器的A1000H~B0FFFH范围内,问DS等丁哆少?\n答:因为数据段的范围为A1000H〜B0FFFH,数据段貝-有64KB,且其末地址为B0FFFH,所以DS等于AlOOHo\n名称含义MOV传送PUSH入栈POP出栈IN输入OUT输出ADD加法TNC加1SUB减法CMP比较TEST测试JMP转移JNO单标志位条件转移JNC单标志位条件转移JNS单标志位条件转移JNZ单标志位条件转移第三章指令含义:TNT中断操作说明由源向止传送将源压入堆栈从堆栈弹出至止从端口输入至AX将AX输出到端口源+止二止止二止+1止二止-源止-源止Q源无条件转移不溢出进位为0符号标志位为0结果不为0NOP空操作HLT停机无操作,不影响标志位CPU暂停状态,不影响LOOP循环1.8086语言指令的寻址方式冇哪儿类?用哪一种寻址方式的指令执行速度最快?答:8086/8088提供了8种寻址方式对操作数寻址,它们是:隐含寻址、立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、奇存器和对寻址、基址变址寻址和和对基址变址寻址。寄存器寻址的指令执行速度最快。1&分析下列程序段:ADDAX,BXJNOLIJNCL2SUBAX,BXJNCL3JNOL4JMPSHORTL5如果AX和BX的内容(带符号数)给定如下:AXBX(3)D023H9FD0H(4)42C8H608DH(5)B568H94B7H问:该程序执行完后,程序转向哪里?答:(3)L5(4)L2(5)L5\n19.说明下列程序段执行后AX和CX的值是什么?SUBAX,AXSUBCX,CXLP:INCAXLOOP答:程序段执行后(AX)=0,(CX)=0o笫四章2.己知数据段定义如卜,假设该数据段从08000H始:DATASEGMENTVARIDB2DUP((),?)VAR2DW1234HORG8VAR3DB5VAR4DW'AB'DATAENDS用示意图说明各变最在内存屮的分配情况。答:各变量在内存中的分配情况如下:08000H00()80()1H08002H0()08003H08004H34H08005H12H08006H08007H08008H()5H08009H42H0801OH41H6•编写一程序,将键盘输入的人写字母转换为小写字母显示解:程序段如下:CODESEGMENTASSUMECS:CODESTART:MOVAH,1HINT21HCMPAL,60HJNSDISPADDAL,20HDISP:MOVDL,ALMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART第五章例5・1图5・16为某一8088系统的存储器连接图,试确定其中各芯片的地址空间。\n解:图中使用一片27128EPROM和两片6264SRAM芯片。6264芯片为28引脚:地址线13条,数据线8条还有输出允许信号、写选通信号和片选信号,其工作方式与6116札I似。首先先确定各芯片的基本地址。所谓基本地址是指CPU用作片选的高位地址信号全为0,用作字选的地址信号从全0变化至全1対应的地址区间。图中的27128EPROM芯片有地址线14条,则其基本地址为00000000000000000000〜00000011111111111111=0000H〜()3FFFHo同理,6264SRAM芯片的基木地址为OOOOOH〜01FFFH。再确定各芯片的片选,即CPU高位地址什么状态下选中芯片。由于地址总线的A】3〜Ao用于芯片的自选,A®〜Ag译码作片选,故图中译码器74LS138译码器的每个输出端选中16KB存储空间。译码器各输出端选屮的存储空间具体如表5-4所示。图中27128J丫选端与译码器的Yq端和连,则27128芯片的地址空间为20000H〜23FFFH。6264芯片容量为8KB,故两片一组组成16KB。译码器的Y4=0选屮6264芯片组,该芯片组再由A】3二次译码确定两片6264各自的地址空间。由图屮可见,在工尸()和A】3=0时,1#6264芯片的片选端低电平有效,则1#6264芯片的地址空间为30000H〜31FFFH;在工尸0和A13=l时,2#6264芯片的地址空间为32000H〜33FFFH。表5-4译码器各输出端选中的存储空间I0/M译码器输出端A]9a18AnA】6A15AmAi3A。存储区域0Y000100000——0至11——120000『23FFFH0Y100100100——0至11——124000H~27FFFH0Y200101000——0至11——128000H2BFFFH0Y300101100——0至11——12C000H~2FFFFH0Y400110000——0至11——130000『33FFFII0Y500110100——0至11——134000H~37FFFH0Y600111000——0至11——138000H~3BFFFH0Y700111100——0至11——13C000H3FFFFH此存储系统冇16KB的EPROM,地址空间为20000H〜23FFFH;冇16KB的SRAM,地址空间为30000H〜33FFFH,采用全译码方式,芯片地址唯一确定。1.半导体存储器分为哪儿类?试述它们的用途及主要区别。答:从应用角度来看半导体存储器可分为两人类:只读存储器ROM;随机存储器RAMo只读存储器在使用过程中,具有只读出存储的信息而不能写入信息或者可以写入信息但速度很慢的特点。断电后,其存储的信息仍保留不变,因而也称为非易失性存储器。由于ROM具冇非易失性,故通常用于存放固定程序,如监控程序、PC机中的BIOS程序等。随机存取存储器乂称为读写存储器。RAM是指在使川过程中利川程序可随时读写信息的存储器。断电示,其存储的信息会消失,也称为易失性存储器。RAM在线使用可读、可写,常用于存储用户调试程序和程序执行过程产生的中间数据、运算结果等。5.写出下列存储器芯片(非DRAM)的基本地址范围,这些芯片各需儿位地址线实现片内寻址?若耍组成64KB的存储器各需儿片?(1)4116芯片(16K*4位)(2)6116芯片(2K*8位)\n(3)27128芯片(16K*8位)(4)62256芯片(32*8位)解:基本地址范围是指CPU用作片选的高位地址信号全为0,用作字选的地址信号从全0变化至全1所对应的地址区间。这与芯片的地址线数目有关。(1)4416芯片地址单元数为16K=2",地址线数目14条,所以需14条地址线实现片内寻址,基本地址范围为00000〜03FFFH。组成64KB的存储器所需片数=64KB/16K*4二8片,故8片4416可组成64KB的存储器。(2)6116芯片地址单元数为2K=2n,地址线数目11条,所以需11条地址线实现片内寻址,基本地址范围为00000〜007FFH。组成64KB的存储器所需片数二64KB/2K*8=32片,故32片6116可组成64KB的存储器。(3)27128芯片地址单元数为16K=214,地址线数目14条,所以需14条地址线实现片内寻址,基木地址范用为00000~03FFFHo组成64KB的存储器所需片数二64KB/16K*8=4片,故4片27128可组成64KB的存储器。(4)62256芯片地址单元数为32K=215,地址线数目15条,所以需15条地址线实现片内寻址,基木地址范围为00000〜07FFFH。组成64KB的存储器所需片数=64KB/32K*8=2片,故2片62256可组成64KB的存储器。弟八早4.设状态端口地址为86H,数据端口地址为85H,外设忙碌D7=l,请用查询方式写;1|CPU从存储器缓冲区Buffer送出1KB的数据给外设的程序段(一次送一个字节数据)。解:程序如下:MOVSI,BUFFERMOVCX,400HINAL,86HTESTAL,80HJNZLP1MOVAL,[SI]OUT85H,ALINCSILOOPLP1HLTLP1:第七章1.微机的中断处理过程有哪儿步?中断过程和调丿IJ子程序过程有何异同?答:一个屮断过程应包含:屮断请求、屮断排队、屮断响应、屮断服务和屮断返回。中断过程和调用子程序过程相同Z处是:都是在主程序中调用了程序,Z后返回主程序。不同的是:进入子程序的时间和方法不同。调用子程序时,指令安排在主程序中,主程序主动,子程序的入口地址通过计算就知道。中断过程対于主程序是被动的,主程序中没有预先调用指令,中断是随机的,中断处理子程序的入口地址(中断向量)耍由中断类型码获得。4.小断服务程序一-般进行哪些例行操作?答:中断服务程序一般由6部分组成:(1)保护现场CPU响应中断时自动完成断点的保护,其余的寄存器则由程序员视使用情况决定,中断服务程序中使用到的某些寄存器可通过PUSH指令送入堆栈保护。(2)开屮断CPU响应中断吋,口动执行关中断操作。要实现中断嵌套,必须在中断服务\n程序中开中断。(3)屮断处理对屮断源作相应的处理,如输入/输出数据、掉电紧急保护等,这是屮断服务程序的核心。(4)关中断若中断服务程序设置了开中断,则此时应关中断,以保证下一步恢复现场的操作不被打断。(5)恢复现场按后进先出的原则,通过执行POP指令将送入堆栈保护的寄存器弹出,注意PUSH指令和POP指令应成对使用。(6)屮断返回屮断返I叫将从堆栈屮弹出断点,从而返冋到主程序。4.实现屮断嵌套的条件是什么?优先权高的屮断请求一定能打断正在进行的优先权低的中断服务程序吗?答:中断恢套是正在中断服务处理过程中,出现优先权更高的中断请求,则再次响应新的中断请求,转去为优先权更高的中断服务,处理完后再回到原來的屮断服务屮。因此,要实现中断嵌套,其必要条件是新的中断请求的优先权更髙。但是,并不是优先权高的中断请求一定能打断优先权低的中断服务。如果CPU在中断的处理过程时处于禁止中断状态,它是不响应新的中断请求的。5.简述8086/8088的可屏蔽中断和非屏蔽中断的区别。答:非屏蔽中断请求由NMI引脚送入,它不能被屏蔽,即不受标志IF状态的影响,在当前指令执行完后,CPU就响应。非屏蔽中断类型码固定为2。可屏紙屮断请求由INTR引脚送入,CPU是否响应,取决于标志寄存器屮的屮断允许标志IF的状态。若IF=0,则表示中断禁止,CPU不响应:若IFF,则表示中断允许,CPU可以响应,从而进入中断响应总线周期,CPU发岀中断响应信号INTA,并从数据总线获収中断源的中断类型码,进入中断服务程序。I2.8259A当前中断服务寄存器ISR的内容代表什么?在中断嵌套和单个中断情况下,ISR的内容有什么不同?答:中断服务寄存器1SR记录了正被CPU响应的中断°ISR是8位寄存器,8个位分别对应8个中断源IRi,若某个中断源的中断请求被CPU响应,则对应位置1。单个中断被响应吋,ISR中只有一•个位为1;中断嵌套吋ISR中有两个以上的位为1,表明一个中断未处理结束,又转入更高优先权的中断处理中。所以ISR表示当前冇哪些正在响应的中断存在。16.设口前系统的最高优先权为IR5,若执行0CW2命令,且命令中EOI=0,R=l,SL=1,bLiLo^Oll。请指出OCW2命令执行后,8259A的优先权顺序。解:因为OCW2命令中EOI=0,R=1,SL=1,因此该命令是设置优先权特殊循环,由LoL^o^Ol1确定最低优先权为IR3,该命令执行后,8259A的8个中断源的优先权从髙至低次序为IR,IR5>IR7、IR()、IR|、IR2、IR3。第八章例8-108253的计数器2用作分频器,将频率1.19MHz的输入脉冲转变成频率为500Hz的脉冲信号。8253的端口地址为70H〜73H。试编写初始化程序段。解:依题意,计算分频系数N=1.19*106/500=2380=094CH,则其初始化程序段为:MOVAL,0B4HOUT73H,ALMOVAL,4CH\nOUT72H,ALMOVAL,09HOUT72H,AL4.以8255A作为接口,采集8个开关状态,然后通过8个发光二极管显示出来(开关闭合,对应发光二极管亮;开关打开,对应发光二极管暗)。请画出电路连接图并编程实现。解:电路连接图如图示,从图中连接知,该8255A的端口地址为80H~83H。程序段如下:MOVAL,82HOUT83H,ALLP:INAL,81HNOPOUT80H,ALJMPLP

相关文档