微机原理习题解答
(3)MOV CL,10[BX] (4)SUB ES:[BX+SI+10H],BL
(5)OR AL,[SI-80H] (6)PUSH AX
(7)MOV AX,[2020H] (8)JMP DWORD PTR ES:[SI]
3-3 指出下列指令的错误。
(1)MOV AL,BX (2)MOV CS,AX
1-4将下列十六进制数转换为二进制数、十进制数。
(1)8E6H (2)0A42H (3)7E.C5H (4)0F19.1DH
1-5将下列二进制数转换为BCD码。
(1)1011011.101 (2)1010110.001
1-6将下列BCD码转换为二进制数。
(1)(0010 0111 0011)BCD(2)(1001 0111.0010 0101)BCD
试画出存储器分段地址分配示意图,指出CS、DS、SS各段寄存器内容是什么?
2-23 解释什么是规则字、非规则字,8086 CPU对它们的存取各需要几个总线周期?
第三章 指令系统
3-1 指出下列指令的寻址方式。
(1)MOV BX,2000H (2)MOV BX,[2000H]
(3)MOV [BP],CX (4)MOV AL,[BX+SI+100H]
2-11 试画出在最小模式下,8086 CPU读、写总线周期时序图。
2-12 8086与8088相比有哪些不同?8086引脚BHE的作用是什么?其存储器组织为什么要由偶存
储体和奇存储体组成?
2-13 在最小模式下,8086的哪些引脚是分时复用的?哪些信号需要由系统进行锁存?
2-14 8086/8088内指令队列的作用是什么?其各自长度为多少?8086 CPU复位后,有哪些特
1-15已知补码如下,分别求出真值、原码、反码。
(1)[X]补=81H (2)[X]补=800H (3)[X]补=79H (4)[X]补=FFFEH
1-16写出下列补码的真值。
(1)[X]补=1000 0000 0000 0000 (2)[X]补=1111 1111 1111 1111
(3)[X]补=0111 1111 1111 1111 (4)[X]补=0101 0101 0101 0101
MOV AL,BL
NOT AL
XOR AL,BL
AND BL,AL
3-10 设AX=0119H,执行下面程序段后,AX=?
MOV CH,AH
ADD AL,AH
DAA
XCHG AL,CH
ADC AL,34H
DAA
MOV AH,AL
MOV AL,CH
HLT
3-11 指令SUB AL,9与CMP AL,9这两条指令的区别是什么?若AL=8,分别执行上述两条指令后,
(5)MOV DX,[BX+DI] (6)MOV AX,CX
(7)POP AX (8)MUL BL
(9)IN AL,80H (10)OUT DX,AX
(11)JMP SI (12)DEC WORD PTR [DI+1200H]
3-2 指出下列指令中存储器操作数实际地址的计算公式。
(1)ADD AL,[DI] (2)SHR BYTE PTR [BP+SI]
2-7 两个十六进制数7825H和5A1FH分别相加和相减后,求运算结果及各标志位的值。
2-8 简述8086/8088 CPU最大模式、最小模式,其关键区别是什么?
2-9 8086在最小模式下,访问存储器,哪些信号有效?访问I/O端口,哪些信号有效?
2-10 解释时钟周期、总线周期及指令周期。一个基本的总线周期包括几个时钟周期?
(1)HELLO (2)A8=
1-12若加上偶校验,下面字符的ASCII码是什么?加上奇校验呢?
(1)E (2)6
1-13用8位和16位二进制数,分别求下列十进制数的原码、反码、补码。
(1)-38 (2)125 (3)-128 (4)87
1-14用8位和16位二进制数,分别写出数字0的原码、反码、补码。
2-3 8086/8088微处理器由哪两大部分组成?各部分的功能是什么?这种结构与8位CPU相比,为什么
能提高其性能?
2-4 8086/8088 CPU内部有哪些寄存器?其主要作用是什么?
2-5 以8086/8088为CPU组成微机系统时,为什么要用地址锁存器和数据放大器?它们的主要功能是
什么?
2-6 8086/8088 CPU中有哪些标志位?试述它们的含义及作用。
1-7完成下列二进制数的运算。
(1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101
1-8完成下列十六进制数的运算。
(1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH
1-9已知X=01H,Y=0FFH,在下面的情况下比较两数的大小。
(1)无符号数(2)符号数(均为补码)
1-10计算下列各表达式。
(1)101+‘A’+01101001B+0D5H+57Q
(2)127.8125+10111101.101+375.63Q+1FC.8AH
1-11写出下列字符串的ASCII码。
SUB AX,BX
JNC L3
JNO L4
JMP L5
3-18 假定AX和BX内容为符号数,CX和DX内容为无符号数,请用比较和条件转移指令实现以下条件
转移。
(1)若DX的内容超过CX的内容,则转L1。
(2)若BX的内容大于AX的内容,则转L2。
(3)若CX的内容等于零,则转L3。
(4)BX的内容和AX的内容比较,若溢出则转L4。
的物理地址。
2-21 在存储器中存放的数据如题2-21图所示。试读出123D4H和123D6H字节单元的内容是什么?读出
123D4H和123D6H字单元的内容是什么?
题2-21图
2-22 如果从存储器的10000H地址开始分配段区,要求代码段占用4 K字节空间,数据段占
用2 K字节空间、堆栈段占用512个字节空间。按代码段、数据段和堆栈段的顺序连续分段,
(10050H)=( ),(10051H)=( ),ZF=( ),
SF=( ),CF=( ),OF=( )
(4)OR BYTE PTR [BX+SI],54H
(12AD0H)=( ),CF=( ),OF=( )
(5)MOV [BX+150H],CH
(12BD0H)=( ),CH=( )
(6)SUB BH,1200H[BX] [SI]
3-14 写出一条使地址1000H中的内容与CF标志位同时清0的指令。
3-15 8086/8088采用什么途径改变IP和CS内容,哪些指令可达到这个目的?
3-16 假设指令JMP SHORT NEXT存在代码段的2100H、2101H单元中,它的相对量为(1)38H (2)
0D8H,请写出每种相对量的转移地址是什么?写出计算过程。
第一章 微型计算机的基础知识
1-1将下列十进制数转换为二进制数、十六进制数。
(1)110 (2)1 039 (3)0.75 (4)0.156 25
1-2将下列十进制数转换为BCD码。
(1)129 (2)5 678 (3)0.984 (4)93.745
1-3将下列二进制数转换为十进制数、十六进制数。
(1)10101010 (2)10000000 (3)11000011.01 (4)01111110
3-17 分析下列程序段,如果AX和BX内容分别给出如下几种情况,问程序执行后分别转向何处?
(1)AX=1290H,BX=812FH (2)AX=45D2H,BX=6563H
(3)AX=95C5H,BX=0B469H (4)AX=0D056H,BX=9EF8H
ADD AX,BX
JNO L1
JNC L2
2-18 段地址和偏移地址为1000:117AH的存储单元的物理地址是什么?而1109:00EAH的存储单元的
物理地址又是什么?这说明什么问题?
2-19 若某条指令执行前,CS=0A7B0H,IP=2B50H,求该条指令存放第一个字节单元的物理地
址。
2-20 有一100个字的存储区域,其起始地址为6250:2300H。写出这个存储区域首末单元
(2)以BX的相对寄存器寻址。
(3)以BX、SI的基址变址寻址。
3-6 假设SP=1010H,AX=1357H,BX=2468H,请问:下列程序段执行后,SP=?AX=?BX=?
PUSH AX
PUSH BX
POP AX
3-7 写出使AX=0的单条指令,尽量多写几条。
3-8 分析下面程序段,指出每条指令执行后寄存器的内容。
MOV AX,0ABCH AX=?
DEC AX AX=?
AND AX,0FFFH AX=?
MOV CL,4 CL=?
SAL AX,CL AX=? CL=?
MOV CL,AL CL=?
ADD CL,78H CL=?
PUSH AX AX=?
POP AX AX=?
3-9 执行下面程序段后,AL=?BL=?CF=?
SF=?CF=?ZF=?OF=?
3-12 分别编写出实现下列各算式的程序段,其中A、B、C、D均为存放16位无符号数的单元符号地
址。若A、B、C、D均存放16位符号数的话,程序段如何改写?
(1)W←D-A*C
(2)W←((D+B)*A)/C
(3)W←D/A+B(余数省略)
3-13 检查CX中的D10位是否为“0”,写出完成该操作的指令。
(5)若BX的内容小于等于AX的内容,则转L5。
(6)若DX的内容低于等于CX的内容,则转L6。
3-19 若下列条件转移指令中的条件CC可以为B、BE、A、AE、L、LE、G、GE中的任一个,如果AX和