微机原理复试试题复习资料(1)1.(1)把十进制数0.9375 转成二进制数。
解1:0.9375×2=1.8750……整数部分为1,即小数后第一位为10.875×2=1.750……整数部分为1,即小数后第二位为10.75×2=1.50……整数部分为1,即小数后第三位为10.5×2=1.0……整数部分为1,即小数后第四位为1所以结果为(0.1111)2(2)把二进制数0.101转成十进制。
解2:结果=0*2·0+1*2·-1+0*2·-2+1*2-2=(0.625)102.影响INRT 引脚的控制标志位是什么?还有其他控制位呢?解1:INRT引脚:可屏蔽中断请求输入引脚,其控制标志位为IF=1。
IF 中断允许标志,该标志用于允许或禁止CPU 响应外部可屏蔽中断,由程序控制。
若IF=1,则CPU 可以响应外部可屏蔽中断的中断请求;若IF=0,则禁止CPU 响应外部可屏蔽中断中断请求。
解2:8086第28脚为M/IO,存储器/输入输出信号,输出、三态。
当M/IO=1 时,表示访问存储器;当M/IO=0时,表示访问I/O端口。
3.写一条需要有BYTE PTR 的指令。
解:ARRAY1 DB 0,1,2,3,4 ;定义字节变量ARRAY2 DW 0,1,2,3,4 ;定义字变量MOV BX,WORD PTR ARRAY1[3] ;将0043H->BXMOV CL,BYTE PTR ARRAY2[6] ;将03H->CLMOV WORD PTR [SI],4 ;将0004H放入SI开始的一个字单元中4.哪些基寄存器寻址堆栈段数据。
解:用BP作为基址寄存器,寻址的是堆栈段数据指针寄存器,标志寄存器16 位寻址时,BP 和BX 作为基址寄存器。
在缺省段超越前缀时,BX 以DS 作为默认段寄存器,BP 以SS作为默认段寄存器。
32位寻址时,8个32位通用寄存器均可作为基址寄存器。
其中EBP、ESP 以SS 为默认段寄存器,其余6个寄存器均以DS为默认段寄存器。
5.MOV AL,12H 与IN AL,12H 指令的区别?解:MOV AL,12H ;表示将立即数12H传送给AL,用于给寄存器赋初值。
IN AL, 12H ; 表示从端口12H输入8位数到AL,6.指出指令的错误之处INC [BX].解:没有指定存储器操作数类型。
改为INC BX[BX]为寄存器间接寻址,而INC为寄存器直接寻址,应改为INC BX2【另附常见指令错误解决方案:】(1)IN AL,BX ;I/O指令端口地址表示错误,只能用8位立即数或DX间址(2)MOV DS, 2010H ;立即数不能传送到DS(3)PUSH AL ;栈操作,操作数类型必须为WORD类型(4)IN AL,0A00H ;I/O指令的直接寻址,地址只能为8 位(5)MOV DI,[AX] ;AX不能做为间址寄存器(6)OUT DX,CL ;I/O指令操作数只能用AX、AL提供,端口地址可以是8位的直接地址或用DX间址(7)LEA BX,1000H ;有效地址传送指令的源操作数不能为立即数,必须是存储器操作数(8)MOV AL,CX ;源、目的操作数的类型不一致(9)MOV CL,A8H;源操作数为16进制的立即数,16 进制数以字母开头时应在前面加“0”7. 16 位数除法,被除数放在哪个寄存器中?除数存放在哪里?解:(1)对字除法,高位存放在DX中,低位存放在AX中,除数及OPRD(字),商在AX 中,余数在DX中。
(2)被除数:默认放在AX或DX和AX中,如果除数为8 位,被除数为16位,默认在AX 中存放;如果除数为16位,被除数则为32位,在DX和AX中存放,DX存放高位16位,AX存放低位16位。
8. 解释LOOPE 指令操作。
解:循环控制指令,格式为:LOOP OPRDLOOPE/LOOPZ OPRDLOOPNE/LOOPNZ OPRDJCXZ OPRD用于控制程序的循环,它们以CX寄存器为递减计数器,在其中预置程序的循环次数,并根据对CX容的测试结果来决定程序是循环至目标地址OPRD,还是顺序执行循环控制指令的下一条指令。
除了JCXZ 指令外,其余的指令执行时先使CX容减1,然后依据CX 中的循环计数值是否为0 来决定是否终止循环。
LOOPE/LOOPZ 使用复合测试条件。
LOOPE/LOOPZ 指令使CX-1→CX,若CX≠0 且ZF=1(测试条件成立),则循环转移至目标标号;否则(CX=0或ZF=0),顺序执行LOOPE/LOOPZ后面的指令。
循环控制指令(短转移)LOOP CX≠0时循环.LOOPE/LOOPZ CX≠0且标志ZF=1时循环.LOOPNE/LOOPNZ CX≠0且标志ZF=0 时循环.JCXZ CX=0 时转移.JECXZ CX=0 时转移.9 说明8086 与8088 CPU 的区别。
解:8086CPU和8088CPU部结构基本相同,不同之处在于8088 有8 条外部数据总线,因此为准16位。
8086有16条外部数据总线。
两个CPU的软件完全兼容,程序的编制也相同。
10. 说明8086 中BHE 与AO 引脚的用途。
解1:BHE /S7(Bus High Enable/Status) :高8 位数据总线允许/状态复用引脚,三态输出,低电平有效。
BHE =0 表示数据总线高8 位AD15~AD8 有效,即8086 使用了16 根数据线。
若BHE =1,表示数据总线高8 位AD15~AD8 无效,即8086 使用了8 根数据线(AD7~AD0)。
读/写存储器或I/O 端口以及中断响应时,BHE 用作选体信号,与最低位地址线A0 配合,表示当前总线使用情况,如表5-2 所示。
表解2:它是高8位数据总线的允许和状态信息复用引脚。
BHE(上面有一横杠)可以看作一根附加的地址总线,用来访问存储器的高字节,而A0用来访问存储器的低字节。
所以BHE通常作为接在高8位数据总线上设备的片选信号,而A0作为接在低8位数据总线上设备的片选信号。
11. 什么是ICW?解:Initialization Command Word,的简称,初始化命令字。
在8259A 工作之前必须,必须写入初始化命令字使其处于准备就绪状态。
12. 什么是OCW?解:Operation Command word ,的简称,操作命令字,规定8259A 工作方式。
OCW 可在8259A 已经初始化以后的任何时间写入。
13. 中断向量号放在8259A 什么地方?解:放在数据总线缓冲器中,D0-D7中。
中断屏蔽寄存器(IMR)14. 什么是普通EOI? 什么是特殊EOI?什么是自动EOI?解:(1)普通EOI:普通中断结束标志(End of Interrupt)。
这种方式配合全套优先权工作方式使用。
当CPU用输出指令往5259A发出普通中断结束EOI命令时,8259A 就会把ISR(中断服务寄存器)中已置1的最高位复位。
(或者8259A就会把所有正在服务的中断中优先权最高的ISR位复位。
)(2)特殊EOI:(SEOI方式)所谓特殊EOI方式,就是中断服务程序向8259A发送一特殊EOI命令,该命令中指明将ISR中的哪一位清0。
(3)自动EOI(AEOI方式):当一个中断请求被响应后,在收到第一个INTA信号后,8259A 将ISR中的对应位置“1”,在收到第二个INTA信号后,8259A将ISR中的对应位清0。
(2)EOI(End Of Interrupt):中断结束命令。
若EOI=1 时,在中断服务子程序结束时向8259A 回送中断结束命令EOI,以便是中断服务寄存器(ISR)中当前最高优先权复位(普通EOI方式),或由L2—LO表示的优先权位复位(特殊EOI方式)。
15. 说明指令IN 和OUT 数据流动方向。
解:IN/OUT这组指令专门用于在AL或AX寄存器与I/O 端口之间传送数据。
IN AX, 21H ; 表示从端口地址21H 读取一字节数据到AL,从端口地址22H 读取一字节数据到AH (或表示从端口21H输入16位数到AX)MOV DX, 379HIN AL, DX ;从端口379H输入一字节数据到AL 数据流向是从外部I/O端口流向部寄存器(流进)OUT 21H,AL ;将8位数从AL输出到端口21H(或将AL的值输出到端口21H) OUT DX,AX ;将16位数从AX输出到DX指定的端口数据流向是从部寄存器流向外部I/O端口(流出)16. 固定I/O 端口号存储在何处?解1:DX寄存器中17. 比较存储器映像I/O 系统和独立编制I/O 系统。
解1:I/O 端口的编址方式及其特点:1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中(1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计(2)缺点:需要有专用的I/O指令,程序设计的灵活性较差2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间(1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是存空间的一部分,这样,I/O 端口的地址空间可大可小,从而使外设的数量几乎不受限制(2)缺点:I/O端口占用了存空间的一部分,影响了系统的存容量;访问I/O 端口也要同访问存一样,由于存地址较长,导致执行时间增加解2:【教材版】I/O端口独立编址,也称作直接I/O映射的I/O编址。
这时,存储器地址空间和I/O端口地址空间为两个不同的独立地址空间,如80X86系统就是采用的独立编址方式。
这种编址方式需要专门的I/O指令,在CPU的控制信号中,需专门的控制信号来确定是选择存储器空间还是选择I/O空间。
优点:由于使用了专门的I/O指令,容易分清指令是访问存储器还是访问外设,所以程序易读性较好;又因为I/O口的地址空间独立、且小于一般存储空间,所以其控制译码电路相对简单缺点:访问端口的手段没有访问存储器的手段多。
存储器映射的I/O 编址,I/O 端口与存储器统一编址。
这种I/O 寻址方式是把存储单元地址和外设端口地址进行统一编址,优点是无需专用I/O指令,端口寻址手段丰富,相互之间依靠地址的不同加以区分,缺点:但由于外设端口占用了一部分地址空间,使得存储器能够使用的空间减少,且在程序中不易分清哪些指令是访问存储器、哪些指令使访问外设,所以程序的易读性受到影响。