微机原理习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么叫做微处理器的并行操作方式?为什么说8086CPU具有并行操作的功能?在什么情况下8086的执行单元EU才需要等待总线接口单元BIU提取指令?
2.如果带符号数FFH和01H相加,会产生溢出吗?
3.某个数包含有5个1,它具有什么奇偶性?
4.某个数为全0,它的零标志为0吗?
5.用什么指令设置哪个标志位,就可以控制微处理器的INTR引脚?
6.微处理器在什么情况下才执行总线周期?一个基本的总线周期由几个状态组成?在什么情况下需要插入等待状态?
7.什么叫非规则字,微处理器对非规则字是怎样操作的
8.8086对1MB的存储空间是如何按高位库和低位库来进行选择和访问的?用什么控制信号来实现对两个库的选择
9.8086/8088 CPU的哪些引脚采用了分时复用技术?哪些引脚具有两种功能?
10.8086/8088 CPU的微机系统有哪两种方式?它们由什么引脚来实现控制?这两种工作方式的主要特点和区别如何?
11.指出下列指令中存储器操作数物理地址的计数表达式。
(1)MOV AL,[DI] (2)MOV AX,[BX+SI]
(3)MOV 8[BX+DI],AL (4)ADD AL,ES:[BX]
(5)SUB AX,[2400H] (6)ADC AX,[BX+DI+1200H]
(7)MOV CX,[BP+SI] (8)INC BYTE PTR[DI]
12.指出下列指令的错误何在?
(1)MOV CS,AX (2)MOV BL,SI+2
(3)MOV 60H,AL (4)PUSH 2400H
(5)MUL -60H (6)MOV [BX],[DI]
13.阅读下列程序段,指出每条指令执行后有关寄存器的内容是多少?
MOV AX,0ABCH
DEC AX
AND AX,00FFH
MOV CL,4
SAL AL,1
MOV CL,AL
ADD CL,78H
PUSH AX
POP BX
14.(1)指出RET和IRET两条指令的区别,并说明各用在什么场合?
(2)说明MOV BX,DA TA和MOV BX,OFFSET DATA指令之间的区别?
15.设SP=2000H,AX=3000H,BX=5000H,执行下列片段程序后,问SP=?,AX=?,BX=? PUSH AX
PUSH BX
POP AX
(AX)=5000H,(BX)=5000H,(SP)=1FFEH
16.若AX=5555H,BX=FF00H,试问在下列程序执行后,AX=?,BX=?,CF=?
AND AX,BX
XOR AX,AX
NOT BX
17.若CS=E000H,说明代码段可寻址物理存储地址空间的范围?(E0000H~EFFFFH)
18.选用最少的指令,实现下述要求的功能。
(1)AH的高4位清零。(AND AH,0FH)
(2)AL的高4位取反。(XOR AL,0F0H)
(3)AL的高4位移到低4位,高4位清零。(MOV CL,4 SHR AL,CL)
(4)AH的低4位移到高4位,低4位清零。(MOV CL,4
SHL AL,CL)
19.设BX=6D16H,AX=1100H,写出下列两条指令执行后BX寄存器中的内容。
MOV CL,06H
ROL AX,CL;(AX)=4004H
SHR BX,CL;(BX)=01B4H
20.设初值AX=0119H,执行下列程序段后AX=?
MOV CH,AH ;(CH)=01H DAA ;(AL)=35H
ADD AL,AH ;(AL)=1AH MOV AH,AL;(AH)=35H
DAA;(AL)=20H MOV AL,CH;(AL)=20H
XCHG AL,CH;(AL)=01H
ADC AL,34H;(AL)=35H (AX)=3520H
21.设初值AX=6264H,CX=0004H,执行下列程序段后AX=?
AND AX,AX;(AX)=6264,(ZF)=0
JZ DONE
SHL CX,1;(CX)=8
ROR AX,CL;(AX)=6462H
DONE: OR AX,1234H;(AX)=7676H
22.写出可使AX清零的几条指令。
22.什么叫堆栈?说明堆栈中数据进出的顺序以及压入堆栈和弹出堆栈的操作过程?PUSH和POP指令在堆栈与寄存器或存储单元之间总是传送多少位数字?哪个段寄存器不能从堆栈弹出?
23.写出程序段,实现:
(1)用CL中的数据除BL中的数据,然后将结果乘2,最后的结果是存入DX寄存器中的16位数。
MOV AL,CL
XOR AH,AH
DIV BL
MOV BL,2
MUL BL
MOV DX,AX
(2)将DH中的最左3位清0,而不改变DH中的其它位,结果存入BH中。
AND DH,00011111B
(3)将AX中的最右4位置1,将AX中的最左3位清0,并把AX中的7、8、9位取反OR AX,000 F H
AND AX,1FFFH
XOR AX,0000 0011 1000 0000B
(4)将DI中最右5位置1,而不改变DI中的其它位,结果存入SI中。
OR DI,001FH
MOV SI,DI
24.用串操作指令设计实现如下功能的程序段:先将100个数从6180H处搬移到2000H处;再从中检索出等于AL中字符的单元,并将此单元换成空格符。
MOV AX,DS
MOV ES,AX
MOV SI,6180H
MOV DI,2000H
MOV CX,100
CLD
REP MOVSB
MOV DI,2000H
MOV CX,100
MOV AL,’@’
AGAIN:REPNZ SCASB AGAIN:CMP AL,[DI]
JNZ EXIT JNE L1
MOV [DI-1],20H MOV [DI],20H
JMP AGAIN L1: INC DI
LOOP AGAIN EXIT:HLT HLT
第四章部分习题答案
6.MOV CX,128
MOV SI,4000H
MOV DI,0A000H
CLD
REP MOVSB
STD
DEC DI
DEC SI
REPE CMPSB
JNE ERROR
MOV BL,0FFH
JMP OUT
ERROR: MOV BL,00H
OUT:HLT