8086微机原理第二次印刷习题答案.docx
《8086微机原理第二次印刷习题答案.docx》由会员分享,可在线阅读,更多相关《8086微机原理第二次印刷习题答案.docx(21页珍藏版)》请在冰豆网上搜索。
8086微机原理第二次印刷习题答案
《Intel8086/8088系列微型计算机原理及接口技术》
(第二次印刷)习题答案
第一章习题
1.
(1)(120)10=(1111000)2=(78)16
(2)(254)10=(11111110)2=(FE)16
(3)(1000)10=(1111101000)2=(3E8)16
(4)(4096)10=(1000000000000)2=(1000)16
2.
(1)(1110000)2=(70)16=(112)10
(2)(10010011)2=(93)16=(147)10
(3)(1101101011)2=(36B)16=(875)10
(4)(1100001010000)2=(1850)16=(6224)10
3.
(1)(34)10=(00110100)BCD
(2)(129)10=(000100101001)BCD
(3)(2048)10=(0010000001001000)BCD
(4)(5760)10=(010*********)BCD
4.
(1)8A+39=C3
(2)1234+A6=12DA
(3)ABCD-E5=AAE8
(4)7AB-F0=7BB
5.
(1)FF无符号数:
255有符号数:
-1
(2)6A无符号数:
106有符号数:
+106
(3)80无符号数:
128有符号数:
-128
(4)74无符号数:
112有符号数:
+112
(5)32无符号数:
50有符号数:
+50
6.
(1)4920616D20612073747564656E742E
(2)略
7.
[+120]原码=[+120]反码=[+120]补码=01111000
[-120]原码=11111000
[-120]反码=10000111
[-120]补码=10001000
8.
X=+72Y=-56
9.
(1)85+(-76)
[+85]补+[-76]补=00001001=[85-76]补无溢出
(2)85-76
[+85]补+[-76]补=00001001=[85-76]补无溢出
(3)85-(-76)
[+85]补+[+76]补=10100001≠[85+76]补有溢出
(4)(-85)-76
[-85]补+[-76]补=00001111≠[-85-76]补有溢出
(5)(-85)-(-76)
[-85]补+[+76]补=11110111=[-85+76]补无溢出
(6)(-85)+76
[-85]补+[+76]补=11110111=[-85+76]补无溢出
第二章习题
1.
EU的分工:
译指、执指、提供寻址内存单元时所需要的偏移地址。
BIU的分工:
取指、存/取操作数、提供寻址内存单元时所需要的20位地址。
2.见本章
3.见本章
4.实际地址:
468FAH
5.见本章
6.见本章
第三章习题
1.见本章
2.略
3.略
4.
(1)立即数不得作为目的操作数
(2)两个操作数不匹配
(3)方括号中不得同时出现BX和BP
(4)AH应改为AL或AX
(5)“256”应改为DX
(6)DX应改为AL或AX
(7)两个存储器之间不得直接传送
(8)两个操作数不匹配
(9)不得将立即数直接送段寄存器
(10)两个段寄存器之间不得直接传送
(11)CS不得作为目的操作数
(12)IP不得出现在指令中
(13)CS不得作为目的操作数
(14)立即数不得作为目的操作数
(15)立即数不得作为目的操作数
(16)“2”应改为CL
(17)“AL”应改为AX
(18)“ES:
”不得出现在操作符之前
5.见本章
6.
(1)(AX)=30F5H,(SS)=2000H,(SP)=000AH
(2)(AX)=4443H,(CF)=0
(3)(ZF)=1,(CF)=0,(SF)=0,(OF)=0,(PF)=1,(AF)=0
(4)(DX)=000AH
(5)(DX)=0000H,(AX)=0820H
(6)(AL)=35H,(CF)=1
(7)(AH)=2,(AL)=21,(CL)=4
(8)(SF)=0,(ZF)=0,(PF)=1,(AH)=31H
(9)(BH)=40H,(CF)=1
(10)(AX)=4043H,(CF)=0
(11)(DL)=E5H,(CF)=1
(12)(BX)=C143H,(CF)=0
(13)0000:
4×n
0000:
4×n+2
(14)返回地址为
2764:
8284
(SP)=300AH
(15)(IF)=1
(16)入口地址为
CS:
0832
(17)(2000:
0002)=704BH,(2000:
0004)=3000H,(SP)=0002H
(18)F0H
第四章习题
1.
可以作为标识符的有:
(1)、(5)、(7)
注:
本题中的(7)应该是A_4;
(2)应该是TA︺NE(空格“︺”不是标识符的组成元素)。
2.
XYZEQU2;XYZ与数值2等同
PS1EQUSI;PS1与SI等同
PS2=30;PS2与数值30等同
VARDWPS2,100H,XYZ*5-1;从变量VAR(字)单元开始,
;分别存放数值30、100H和9
PS3EQUBYTEPTRVAR;PS3与VAR的地址相同,但PS3
:
的类型为字节
N1EQUSBB;N1与SBB等同
N2EQUVAR+2;N2与VAR+2等同
3.
(1)
VARDW?
;定义变量VAR(字类型),其内容为任意值
P1DDVAR;定义变量P1(双字类型),其内容为变量VAR
;的偏址和段址
P2DWVAR+2;定义变量P2(字类型),其内容为变量VAR
;的偏址+2
(2)
XBEQUTHISBYTE;变量XB和XW具有相同的地址,它们的类型
XWDW100DUP(?
);属性分别为字节和字
(3)
YWLABELWORD;变量YW和YB具有相同的地址,它们的类型
YBDB10DUP(?
);属性分别为字和字节
4.
不合规定的有:
(2)寄存器之间不得用减号
(3)常数不得单独出现在方括号中
(4)BP与BX不得同时出现在方括号中
(6)SI与DI不得同时出现在方括号中
(9)寄存器与一个常量之间不得用乘号
5.
(1)从0100H到0106H单元,各单元的内容分别为:
‘A’、‘b’、‘︺’、‘4’、‘$’、03、01
(2)TOPDW3,3,3,3,3,3,3,3
(3)段基址属性、偏移量属性和类型属性(亦称距离属性)
(4)不!
指令性语句是发给CPU的命令
(5)
Y1LABELWORD;变量Y1和Y2具有相同的地址
Y2DB100DUP(?
);定义一个存储器区,该区的首址为Y2,
;共有100个字节单元
Y3EQULENGTHY2;定义符号常量Y3(Y3等同于100)
第五章习题
1.
(1)见本章
(2)见本章
(3)宏展开为:
MOVAX,CX
MULVAR
MOVXYZ[BX],AX
2.见本章
第六章习题
1.
DATASEGMENT
XDB30H
YDB67H
ZDB41H
WDW?
DATAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATA
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,X
ADDAL,Y
MOVAH,0
ADCAH,0
ADDAL,Z
ADCAH,0
MOVW,AX
RET
MAINENDP
CODEENDS
ENDSTART
2.
DATASEGMENT
TABLEDW0,1,8,27,64,125
DW216,343,512,729
YDW5
ZDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,TABLE
MOVAX,Y
SHLAX,1
ADDBX,AX
MOVAX,[BX]
MOVZ,AX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.
DATASEGMENT
XDB35H
YDB4DH
ZDB?
DATAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATA
GO:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,X
ANDAL,0F0H
MOVBL,Y
ANDBL,0FH
ADDAL,BL
MOVZ,AL
RET
MAINENDP
CODEENDS
ENDGO
4.
DATASEGMENT
XDB‘b’
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
GO:
MOVAX,DATA
MOVDS,AX
MOVAL,X
SUBAL,20H
MOVX,AL
MOVAH,4CH
INT21H
CODEENDS
ENDGO
5.
DATASEGMENT
ARRAYDB30H,-5,15H,0,134,-73H
VARDB0
DATAENDS
CODESEGMENT
MAINPROCFAR
PUSHDS
MOVAX,0
PUSHAX
LEABX,ARRAY
MOCCX,6
NEXT:
MOVAL,[BX]
CMPAL,0
JLEX1
INCVAR
X1:
INCBX
LOOPNEXT
RET
MAINENDP
CODEENDS
ENDMAIN
6.
DATASEGMENT
ARRAYDW100DPU(?
)
COUNTEQU$-ARRAY
MINDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START;MOVAX,DATA
MOVDS,AX
MOVAX,ARRAY
LEABX,ARRAY
MOVCX,COUNT-1
NEXT:
INCBX
INCBX
CMPAX,[BX]
JBEX1
XCHGAX,[BX]
X1:
LOOPNEXT
MOVMIN,AX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
7.
BCD_BINPROC
PUSHBX
PUSHCX
MOVAH,AL
ANDAH,0FH
MOVBL,AH
ANDAL,0F0H
MOVCL,4
RORAL,CL
MOVBH,10
MULBH
ADDAL,BL
POPCX
POPBX
RET
BCD_BINENDP
8.
DATASEGMENT
VARDW469EH
KIOKDW10000,1000,100,10,1
DATAENDS
STASEGMENTSTACK
DB20DUP(?
)
TOPLABELWORD
STAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STA
BEGIN:
MOVAX,DATA
MOVDS,AX
MOVAX,STA
MOVSS,AX
MOVSP,OFFSETTOP
MOVAX,VAR
MOVBX,OFFSETKIOK
MOVCX,5
BCVD:
MOVDL,30H
BCVD1:
SUBAX,[BX]
JBBCVD2
INCDL
JMPBCVD1
BCVD2:
ADDAX,[BX]
PUSHAX
MOVAH,2
INT21H
POPAX
INCBX
INCBX
LOOPBCVD
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
9.
DATASEGMENT
XDB86H,78H,91H
YDB30H,15H,32H
ZDB4DUP(0)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,3
LEASI,X
LEADI,Y
LEABX,Z
CLC
NEXT:
MOVAL,[SI]
ADCAL,[DI]
DAA
MOV[BX],AL
INCSI
INCDI
INCBX
LOOPNEXT
ADC[BX],0
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
10.
DATASEGMENT
SUMDW1
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
GO:
MOVAX,DATA
MOVDS,AX
MOVBL,2
X1:
MOVAL,BL
INCBL
MULBL
CMPAX,200
JAX2
ADDSUM,AX
JMPX1
X2:
MOVAH,4CH
INT21H
CODEENDS
ENDGO
11.
DATASEGMENT
X1DW39FCH
Y1DB4DUP(?
)
DATAENDS
STASEGMNT
DB20DUP(?
)
TOPLABELWORD
STAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STA
BEGIN:
MOVAX,DATA
MOVDS,AX
MOVAX,STA
MOVSS,AX
MOVSP,OFFSETTOP
LEABX,Y1
MOVDX,X1
MOVCX,4
NEXT:
MOVAX,DX
ANDAX,000FH
CALLP1
MOV[BX],AL
INCBX
PUSHCX
MOVCL,4
RORDX,CL
POPCX
LOOPNEXT
MOVAH,4CH
INT21H
P1PROC
PUSHBX
PUSHCX
CMPAL,0AH
JBX2
ADDAL,07H
X2:
ADDAL,30H
POPCX
POPBX
RET
P1ENDP
CODEENDS
ENDBEGIN
第七章习题
1.见本章
2.见本章
3.
(1)42141
(2)25632105
4.
0:
00000H~001FFH
1:
00200H~003FFH
2:
00400H~005FFH
3:
00600H~007FFH
4:
00800H~009FFH
5:
00A00H~00BFFH
6:
00C00H~00DFFH
7:
00E00H~00FFFH
注:
A19、A18、A17、A16未参加译码,均当作“0”。
第八章习题
1.
2.
3.
4.
5.
6.
7.
8.
9.
第九章习题
1.
2.
3.
4.
5.
6.
第一十章习题
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
第一十一章习题
1.
2.
3.
4.
第一十二章习题
(略)