1、(word完整版)微型计算机原理与接口技术第二版答案 微型计算机原理与接口技术第二版答案 张荣标 机械工业出版社第一章1。5 练习题1选择题(1)B C A (2) A (3) D A (4) C2填空(1)  
2、; 10, 12(2) 阶数(3) 10011100B,01000100B,1110000B,01000000(4) 3F7H,1C3H,243H,277H, 3简答题(1)微处理器,微型计算机和微型计算机系统三者有何联系与区别?微处理器是把原来的中央处理单元CPU的复杂电路(包括运算器和控制器)做在一片或几片大规模集成电路的芯片上。把这种微缩的CPU大规模集成电路称为微处理器。微型计算机是以微处理器为核心,再配备上用大规模集成电
3、路工艺制成的存储器和 I/O接口就构成了微型计算机。以微计算机为核心,再配备上系统软件、I/O设备、辅助电路和电源就构成了微机系统。微型计算机系统包括硬件和软件了两大部分。(2)计算机中为什么采用二进制数表示?(3)简述程序的运行过程。第2章2。10 练习题1. 选择题1. B 2.D 3。C 4。B 5.C 6.C 7。B 8.A 9。A2填空题(1) 地址总线的宽度,00000H0FFFFFH(2) 寄存器,运算器,控制器;运算和控制(3) SS,DS,CS,ES(
4、4) MN/MX(5) SS,DS(7) 奇区,偶区,高8位,低8位3简答题(1) 什么是指令周期?什么是总线周期?一个总线周期至少包括几个时钟周期?指令周期是一条指令执行所需的时钟周期,cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。(2) 8086CPU在最小模式下构成计
5、算机系统至少应该包括哪几个基本的部分?(3) 8086CPU中,标志寄存器包含哪些标志位?各标志位为0,1分别表示什么含义?(4) 8086CPU中有哪些通用寄存器和专用寄存器?说明他们的作用.(5) 在8086CPU中,已知CS寄存器和IP寄存器的内容分别如下所示,请确定其物理地址。1) CS=1000H ,IP=2000H 物理地址: CS*16+IP=10000H+2000H=12000H2) &
6、nbsp;CS=1234H ,IP=0C00H物理地址: CS16+IP=12340H+0C00H=12F40H(6)设(AX)=2345H,(DX)=5219H,请指出两个数据相加或相减后,FLAG中状态标志位的状态.相加 :CF=0,SF=0,ZF=0,AF=0,OF=0,PF=0相减: 0010 0011 0100 0101 1101001000011001 补 1010 1101 1
7、110 0111 1101 0001 0010 1110CF=0,SF=1,ZF=0,AF=0,OF=0,PF=0(7)8086CPU工作在最小模式下:访问存储器要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线.访问I/O要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线。当HOLD有效并得到响应时,CPU置高阻的信号有:数据/地址总线、数据状态总线及M/IO、BHE、RD、WR、DT/R、DEN、
8、INTA.第三章3.7练习题P1201选择题 (1)D (2)C (3)A (4)A2填空题 (1)递增 1A,3B,5C,8D (2)60H 0 (3)1F02CH4请指出下列指令中源操作数和目的操作数的寻址方式。 (1)源操作数为立即寻址,目的操作数为寄存器寻址 (2)源操作数为立即寻址,目的操作数为寄存器间接寻址 (3)源操作数为寄存器间接寻址,目的操作数为寄存器寻址 (4)源
9、操作数为寄存器寻址,目的操作数为寄存器寻址 (5)单一操作数(源操作数)为寄存器寻址 (6)单一操作数(目的操作数)为寄存器寻址 (7)源操作数为相对基址变址寻址,目的操作数为寄存器寻址 (8)源操作数为寄存器间接寻址,目的操作数为寄存器寻址 (9)源操作数为立即寻址和寄存器寻址,目的操作数寄存器寻址 (10)单一操作数为段间直接寻址(相对变址寻址)5请写出如下程序片段中每条逻辑运算指令执行后标志ZF、SF、和PF的状态:MOV AL, 0AH
10、 ; 各标志位保持不变AND AL, 0FH ; ZF=0 SF= 0 PF=1OR AL, 04BH ; ZF=0 SF= 0 PF=1XOR AL, AL ; ZF=1 SF= 0 &nb
11、sp;PF=16请写出如下程序片段中每条算术运算指令执行后标志CF、ZF、SF、OF、PF和AF的状态:MOV AL, 54H ; 各标志位保持不变ADD AL, 4FH ; CF=0 ZF=0 SF= 1 OF=1 AF=1 PF=1CMP AL, 0C1H CF=1 ZF=0 SF=1 OF=0 AF=0 PF=1SUB
12、 AL, AL ; CF=0 ZF=1 SF= 0 OF=0 AF=0 PF=1INC AL ; CF=0 ZF=0 SF= OF=0 AF=0 PF=07。(DS)=3000H,(SS)=1500H,(SI)=010CH,(BX)=0870H,(BP)=0500H,指出下列指令的目的操作数字段寻址方式,并计算目的操作数字段的物理地址。(1)  
13、;MOV BX, CX 目的操作数为寄存器间接寻址目的操作数的物理地址为:DS16+0870H=30870H (2) MOV 1000H, BX 目的操作数为直接寻址目的操作数的物理地址为:DS16+1000H=31000H(3) MOV BP, BX 目的操作数为寄存器间接寻址目的操作数的物理地址为:SS16+0500H=15500H(4) MOV BP+10
14、0, CX 目的操作数为寄存器相对寻址目的操作数的物理地址为:SS16+0500H+64H=15564H(5) MOV BX+100SI, CX 目的操作数为相对基址加变址寻址目的操作数的物理地址为:DS16+0870H+64H+010CH=309E0H8指出如下指令哪些是错误的,并说明原因:(1)MOV SP, BX错. (2)MOV CS, BX错。CS寄存器不能赋值,要由装入程序确定(3)POP CS错。CS寄存器不能赋值,要由装入
15、程序确定(4)JMP BX对。(5)SUB BP+DI-1000,AL错。偏移量不能为负。但编译能通过。(6)SHL AX,CX错.源操作数最大为255,只能是CL,不能是CX(7)XCHG ES:BX,AL对。(8)LEA AX,BX+DI对。9已知(SS)=2800H,(SP)=0010H,(AX)=0FA0H,(BX)=1002H,下列指令连续执行,请指出每条指令执行后SS、SP、AX、BX寄存器中的内容是多少?PUSH AX ;(SS)=2800
16、H,(SP)=000EH,(AX)=0FA0H,(BX)=1002HPUSH BX ;(SS)=2800H,(SP)=000CH,(AX)=0FA0H,(BX)=1002HPOP AX ;(SS)=2800H,(SP)=000EH,(AX)=1002H,(BX)=1002HPOP BX ;(SS)=2800H,(SP)=0010H,(AX)= 1002H,(BX)= 0FA0H10。阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。(1)MOV BL,26H MOV AL,95H &nbs
17、p; ADD AL,BLDAAAL= 21H BL= 26H CF=1(2)MOV AX,1E54H STC MOV DX,95 XOR DH,0FFHSBB AX,DX AX= 1EF5H &n
18、bsp;CF=111.已知程序段如下: CMP AX,BX JNC K1 JNO K2 JMP K3假设有以下三组AX、BX值,那么在程序执行后,分别转向哪里?(1)(AX)=0E301H,(BX)=8F50H转向K1(2)(
19、AX)=8F50H,(BX)=0E301H转向K2(1)(AX)=147BH,(BX)=80DCH转向K3第四章4。9练习题P1601选择题 (1)C B (2)B (3)B (4)D3(1) DATA1 EQU THIS BYTE DA1 DW 1234H,567H,89ABH(2) DATA2  
20、; DW 56H,0BCH,79H,14H(3) DATA3 DB 6DUP(c),2DUP(3,3,1), 20DUP(?)(4) STRING DB HELLO WORLD!4. DATA1 DB 00H,0AH,10H DATA2
21、DB 15 DUP(04H,3DUP(08H),09H) DATA3 DW 6577H,636CH,6D6FH5.LEA BX,TABLEMOV BX,OFFSET TABLE8. (1)宏展开: + PUSH AX + &
22、nbsp; MOV AX,AX + SUB AX,AX + CMP AX,0 + JGE
23、 NEXT(0014) + MOV BX,AX + POP AX (2)调用无效.语法错误(立即数的使用)。 (3) 宏展开:
24、+ PUSH AX + MOV AX,BX+SI + SUB AX, BX+SI+X + CMP &nb
25、sp; AX,0 + JGE NEXT(0025) + MOV CX,AX + POP AX调
26、用无效。相对基址加变址寻址方式形成的值在汇编时是不知道的.11.CMPN MACRO X,Y,SUM PUSH AX PUSH DXMOV AL,X &n
27、bsp; CMP AL,Y JNC K1 MOV DL,5 MUL &
28、nbsp; DL ADD AX,Y JMP K2K1: MOV AL,Y
29、 MOV DL,5 MUL DL ADD AX,XK2: MOV SUM,A
30、X POP AX ENDM12.DSEG SEGMENTCHAR DB 61 DUP(?)DSEG ENDSCSEG
31、 SEGMENT ASSUME CS:CSEG,DS:DSEGSTART PROC FAR MOV AX,DSEG
32、 MOV DS,AXMOV DX,OFFSET CHARMOV AH,0AHINT 21HMOV DX,OFFSET CHARMOV AH,09HINT 21HMOV  
33、; AH,4CHINT 21HSTART ENDP CSEG ENDS END START 第五章5。8练习题4、试编写一汇编程序,要求实现将ASCII码表示的两位十进制数
34、转换为一字节二进制数。DATA SEGMENT ASC DB 36H,35H ASCEND DB ?DATA ENDS CODE &nb
35、sp; SEGMENT ASSUME CS:CODE,DS:DATADECIBIN PROC FAR MOV AX,DATA &n
36、bsp; MOV DS,AX MOV BX,OFFSET ASC MOV AL,BX &
37、nbsp; CMP AL,30H JL EXIT CMP AL,39H &
38、nbsp;JG EXIT SUB AL,30H MOV DL,BX+1
39、 CMP DL,30H JL EXIT CMP DL,39H J
40、G EXIT SUB DL,30H MOV CL,10 MU
41、L CL ADD AL,DL MOV ASCEND,AL EXIT: MOV AH,4CH &nbs
42、p; INT 21H DECIBIN ENDP CODE ENDS END DECIBIN5.某存储区中存有20个单字节数,试编写
43、一汇编语言分别求出其绝对值并放回原处。DSEG SEGMENT MUM DB 1,2,3,-9,0,7,5,4,-7,11,34,67,44,51,1,3,6,8,9,3DSEG &nb
44、sp; ENDSCSEG SEGMENT ASSUME CS:CSEG, DS:DSEGSTART PROC FAR &
45、nbsp; PUSH DS XOR AX,AX PUSH AX MOV &nbs
46、p; AX,DSEG MOV DS,AX MOV CX,20 MOV SI,OFFSET
47、 MUMLP1: MOV AL,SI AND AL,AL JNS DONE
48、 NEG ALDONE: MOV SI,AL INC SI LOOP &nb
49、sp; LP1 MOV AH,4CH INT 21HSTART ENDPCSEG ENDS &
50、nbsp; END START6、试编写一汇编程序,将AX中的各位取反,然后统计出AX中“0”的个数,将结果保存到CL中。CODE SEGMENTMAIN PROC FAR  
51、; ASSUME CS:CODESTART: MOV AX,0E001H MOV DL,0
52、 MOV CL,16 NOT AXRETEST: AND AX,AX JS
53、 SKIP INC DLSKIP: SHL AX,1 LOOP RETEST
54、 MOV CL,DLEXIT: MOV AH,4CH INT 21HMAIN ENDPCODE &nbs
55、p; ENDS END START12 已知a1a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。试编程计算SUM=a1+a2+a3+.。+a20DATA SEGMENT
56、 DAT DW 0,1,8,27,64,-9,-5,6,77,5,55,88,99,33,55,1,3,5,6,87 SUM DW ?DATA
57、 ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATASTART: &
58、nbsp; MOV AX,DATA MOV DS,AX MOV AX,0
59、 MOV SUM,AX MOV SI,OFFSET DAT MOV CX,20LP1: ADD &nbs
60、p; AX,SI INC SI INC SI LOOP &nbs
61、p; LP1 MOV SUM,AX MOV AH,4CH INT  
62、; 21HMAIN ENDPCODE ENDS END START14 编一字程序,计算f(t)=at3+bt2+ct+d。设a,b,c,d,t均为一位十进制数,结果存入RESULT单元。DATA
63、 SEGMENT AA1 DB 8 BBB DB  
64、; 5 CCC DB 5 DDD DB &nbs
65、p;5 TTT DB 2 QQQ DW 3 D
66、UP(?) RESULT DW ?DATA ENDSCODE SEGMENTMAIN &
67、nbsp; PROC FAR ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA &nb
68、sp; MOV DS,AX MOV SI, OFFSET QQQ MOV BL,TTT
69、 MOV BH,0 MOV AX,BX MUL BX &nbs
70、p;MOV SI,AX ;存t2 MUL BX MOV SI+2,AX ; 存t3 MO
71、V AL,AA1 MOV AH,0 MUL WORD PTRSI+2 MOV  
72、; RESULT,AX MOV AL,BBB MOV AH,0 MUL WORD PTR
73、SI ADD RESULT,AX MOV AL,CCC MUL TTT &
74、nbsp; ADD RESULT,AX MOV AL,DDD MOV AH,0 &nbs
75、p; ADD RESULT,AX MOV CX,RESULT MOV AH,4CH &n
76、bsp; INT 21HMAIN ENDPCODE ENDS END START15 求出前20个Fibonacci
77、数,存入数据变量FN开始的区域中.Fibonacc数的定义为:f0=0,f1=1,fn+2=fn+fn+1DATA SEGMENT F1 DW 0 F2
78、 DW 1 FN DW 20 DUP(?) RESUL
79、T DW ?DATA ENDSCODE SEGMENTMAIN PROC FAR ASSUME &nbs
80、p;CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,18 &n
81、bsp; MOV AX,F1 MOV BX,F2 MOV SI,OFFSET FN MOV SI,AX
82、 INC SI INC SI MOV SI,BXLL: ADD AX,BX &nb
83、sp; ADD SI,2 MOV SI,AX MOV BX,SI-2 LOOP  
84、;LL MOV AH,4CHINT 21HMAIN ENDPCODE ENDS END &n
85、bsp; START第6章 (p231)6.8练习题1. 填空题(1) 随机存取存储器,消失,只读存储器,不会改变和消失(2) 8,13,8(3) 0.1452. 简答题(3)9,4,14,7(4)8,1288第七章7.6练习题1.选择题(1)B(2)C D(3) B2,(1)0100:48B0 0100:48B3 4(2)8 57 (3)中断请求、中断判优、中断响应、中断服务、中断返回4,PORT0 EQU 40HPORT1 EQU 41H;设置I/O地址号为40H
86、和41H MOV AL,13HMOV DX,PORT0OUT DX,AL ;设置ICW1命令字 边沿触发方式,单片无级联,需要设置ICW4 INC DX;DX增1,为设置下面的命令字做准备 MOV AL,08HOUT DX,AL;设置ICW2,中断类型号为从08H开始的8个 MOV AL,09HOUT DX,AL; 设置ICW4 一般EOI缓冲方式,全嵌套方式5,MOV DX,1207HIN
87、 AL,DXOR AL,0101 1000B(或者58H)OUT DX,AL7,(1)主片:08H0FH 从片:80H87H (2)译码器输入可任选6个地址信号,从片的INT输入可以任选主片除IR5的中断源,下面的程序中选的是IR2 (3)主片初始化程序:MOV AX,00HMOV DS,AXMOV BX,0DH4MOV AX,12
88、60HMOV DS:BX,AXMOV AX,4310HMOV DS:BX+2,AX MOV AL,11HOUT 30H,AL MOV AL, 08HOUT 31H, AL MOV AL,04HOUT 31H,A
89、LMOV AL,1DHOUT 31H,AL 从片初始化程序:MOV AX,00HMOV DS,AXMOV BX,85H4MOV AX,2340HMOV DS:BX,AXMOV AX,4310HMOV DS:BX+2,AX MOV AL,11HOUT 36H, ALMOV AL, 80HOUT 37H ,ALM