微机原理复试题复习资料全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理复试试题复习资料(1)
1.(1)把十进制数0.9375 转成二进制数。
解1:0.9375×2=1.8750……整数部分为1,即小数后第一位为1
0.875×2=1.750……整数部分为1,即小数后第二位为1
0.75×2=1.50……整数部分为1,即小数后第三位为1
0.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)10
2.影响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->BX
MOV CL,BYTE PTR ARRAY2[6] ;将03H->CL
MOV 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 BX
2
【另附常见指令错误解决方案:】
(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 OPRD
LOOPE/LOOPZ OPRD
LOOPNE/LOOPNZ OPRD
JCXZ 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位数据总线上设备的片选信号。