微机原理及应用习题答案.docx
- 文档编号:29081583
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:34
- 大小:60.21KB
微机原理及应用习题答案.docx
《微机原理及应用习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理及应用习题答案.docx(34页珍藏版)》请在冰豆网上搜索。
微机原理及应用习题答案
《微机原理及应用》习题答案
教材:
《80X86/Pentium微型计算机原理及应用》答案第一章计算机基础
1-3
(1)
01101110
真值=110
(2)
10001101
真值=-13
1-4
(1)
+010111
[+010111]原=[+010111]反=[+010111]补=00010111
(2)+101011
[+101011]原=[+101011]反=[+101011]补=00101011
(3)-101000
[-101000]原=10101000[-101000]反=
11010111
[-101000]补=11011000
(4)-111111
[-111111]原=10111111[-111111]反=
11000000
[-111111]补=11000001
1-6
(1)[x1+y1]补=[x1]补+[y1]补
=00010100+00100001=00110101
(2)[x2-y2]补=[x2]补+[-y2]补
=11101100+00100001=00001101
1-7
(1)85+60
解:
[-85]补=10101011[60]补=00111100
[-85]补+[60]补=10101011+00111100=11100111
(11100111)补=10011001真值=—25
CS=0,CP=0,CS®CP=0无溢出
(4)-85-60
[-85]补=10101011[-60]补=11000100
[-85]补+[-60]补=10101011+11000100=101101111
CS=1,CP=0CS®CP=1有溢出
1-8
(1)[x]补+[y]补=01001010+01100001=10101011
CS=0,CP=1CS®CP=1有溢出
⑵[X]补-[y]补=[x]补+[-y]补
=01001010-01100001=01001010+10101010
=100010110
CS=1,CP=1CS®CP=0无溢出
1-9
(1)(127)10=(000100100111)BCD
(2)(74)H=(116)10=(000100010110)BCD
(1)41H
代表A
(2)72H
代表r
(3)65H
代表e
(4)20H
代表SP
1-14
(1)69.57
(69.57)10=(1000101.100)B=0.1000101100X27
=0.1000101100X2+111
浮点规格数为011101000101
(2)-38.405
(-38.405)10=(-100110.011)B
-100110.011=-0.100110011x26=-0.100110011x
2110
浮点规格数为011011001100
(3)-0.3125
(-0.3125)10=(-0.0101)2=(-0.101)2x2-001
浮点规格数为111111010000
1.+0.00834
2.(+0.00834)10=(0.000000100010001)2=(0.100010
001)2x2-110
3.浮点规格数为101001000100
4.1-15
5.
(1)(69.57)10=(1000101.10010001111010111)2
6.=(1.00010110010001111010111)2x2110
7.p=6+127=133=(10000101)2
8.单精度浮点数为
010*********
9.
(2)
(-38.405)10=(-100110.011001111010111000)2
10.=-(1.00110011001111010111000)2x2101
11.p=5+127=132=(10000100)2
12.单精度浮点数为
11000010000110011001111010111000
13.(3)(-0.3125)10=(-0.0101)2=(-1.01)2x2-10
14.p=-2+127=125=(1111101)2
15.单精度浮点数为
10111110101000000000000000000000
第二章80X86/Pentium微处理器
2-3
IO/M
DT/R
DENRD
WR
读存储器
0
0
0
0
1
写存储器
0
1
0
1
0
2-17
PA=CSx16+IPIP的范围为OOOOH〜FFFFH而CS为
A000H
因此PA的范围即现行代码段可寻址的存储空间范围为
AOOOOH〜AFFFFH
2-2O
1234ABCDH=OOO1OO1OOO11O1OO1O1O1O1111OO11O1B
PA=SSx16+SP=AOOOOH+O1OOH=AO1OOH
栈顶SP=0100H-4=00FCH
11OO11O1AOOFCH
10101011
00110100
00010010A0100F
2-21
(1)1278H+3469H=0001001001111000+001101000110
1001
=0100011011100001
SF=0ZF=0AF=1PF=1CF=0OF=0
(2)54E3H-27A0H=0101010011100011+110110000110
0000
=10010110101000011
SF=0ZF=0AF=1PF=0CF=0OF=0
当进行16位或8位加或减运算时,若最高位产生进位或借位时,将CF置1,否则为0,当进行带符号数补码运算时,运算结果超出了机器所能表示的数值范围,就产生溢出,将
OF置1,否则OF置0,即OF用来表示有符号数运算的溢出,
而CF则用来表示无符号数运算的溢出。
2-29
答:
存储慢速设备(存储器或I/O设备)的数据时,必须插入等待周期TW来延长总线周期,插入TW侈少取决于CPU完成独立操作所需时间。
第三章80X86/Pentium指令系统
3-5
(1)源操作数为立即寻址方式;目标操作数为寄存器寻址方式
(2)源操作数为基址寻址方式;目标操作数为寄存器寻址方式
EA=BX+DISPPA=DS:
16+BX+DISP
(3)源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方式
EA=SIPA=DSX16+SI
(4)源操作数为基址加变址寻址方式;目标操作数为寄存器寻址方式
EA=BX+SIPA=DS<16+BX+SI
(5)源操作数、目标操作数都为寄存器寻址方式
(6)源操作数为基址寻址方式;目标操作数为寄存器寻址方式
EA=BX+10HPA=D (7)源操作数为寄存器间接寻址方式;目标操作数为寄存器寻址方式 EA=BXPA=ES<16+BX (8)源操作数为带位移量基址加变址寻址方式;目标操作数为寄存器寻址方式 EA=BX+SI+20HPA=D (9)源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方法 A=BPPA=SS<16+BP (10)源操作数为寄存器寻址方式 3-6 (1)源操作数为寄存器间接寻址方式 (2)源操作数为基址加变址寻址方式 (3)源操作数为基址加比例变址寻址方式 (4)源操作数为比例变址寻址方式 3-7 (1)有错。 没有两个基址寄存器相加的寻址方式 (2)有错。 两个操作数不能同时为存储器 (3)有错。 立即数不能直接送到段寄存器 (4)有错。 段寄存器CS不能作为目标操作数 (5)有错。 目标操作数不能为立即数 (6)正确。 (7)有错。 两段寄存器间不能传送数据 (8)有错。 不能直接用“3”表示移3位 (9)有错。 NOT指令中只有一个目标操作数 (10)正确。 (11)有错。 源操作数不能为立即数 (12)有错。 格式为INAL,I/O端口地址,且 100H>255,应放在DX中,DX在指令中出现 (13)有错。 源操作数应为存储器操作数 (14)有错。 对16位寻址时,存储器操作数应为SI、DI、 BP、BX,不能为CX 3-8 (1)AX=3355HSP=1FFEH (2)AX=3355HDX=4466HSP=1FFEH 3-9 PA=SS<16+BP+SI=2F000H+0200H+0046H=2F246H执行XCHGBX,[BP+SI]后 BX=4154H[2F246H]=6F30H 3-12 (1)PA=DS<16+BX+SI+20H=09226H /•CL=F6H ⑵PA=SSX16+BP+DI=1E4F6H [1E4F6H]=5678H (3)BX=BX+SI+20H=0056H PA=DSX16+BX+2=09228H /•AX=1E40H (4)PA=DSX16+BX+DI=09226H SI=00F6H [SI]=0024H (5)PA=DSX16+BX+32H=09226H CX=00F6H[09226]=5678H(执行XCHGCX,32H[BX后) E再执行XCHG20[BX][SI]AX后 PA=DSX16+BX+SI+20H=09226 /•AX=5678H[09226H]=1234H 3-14 (2)MOVCL,4 ROLBL,CL (4)ANDBX,0F7AFH (6)TESTDX,0201H 3-16 (2)端口,(580H)=60H(581H)=80H (4)寄存器,AL=4FHAH=(41H) (5)端口,(45H)=60H 3-17参考程序如下: (1) MOVAX,NUM2 ADDNUM1,AX (2) MOVAL,NUM1 ADDAL,NUM1+1 ADDAL,NUM1+2 ADDAL,NUM1+3 MOVRES,AL (3) MOVAL,NUM1 MOVAH,0 MOVCX,7 LEADI,NUM1 MOVDX,0 NEXT: INCDI MOVDL,[DI] ADDAX,DX DECCX JNZNEXT MOVRES,AX (4) MOVAX,NUM1 ADDAX,NUM2 MOVNUM2,AX MOVAX,NUM1+2 ADCAX,NUM2+2 MOVNUM2+2,AX 3-18参考程序如下: (1) MOVAL,NUM1 MOVAH,0 MOVCX,7 LEADI,NUM1 NEXT: INCDI MOVDL,[DI] ADDAL,DL DAA MOVDH,AL;DAA只能对AL中数加以调整,DH为暂存用 MOVAL,AH ADCAL,0 DAA;题目中只有8个数相加,所以这里也可以不作调整 MOVAH,AL MOVAL,DH DECCX JNZNEXT MOVRES,AX 3-21 (1) 009AH (2) 0061H (3) 8071H (4) 10F7H (5) FF1CH 3-22 (1) DX=0006H BX=0004H (2) SP=1FFEH [SP]=FEH (3) CX=0004H BX=0004H (4) AX=8094H CF=0 (5) AL=87H (6) AL=CCH CF=0AL=32H (7) SI=0009H (8) DI=0009H (9) [DI]=94H (10) AX=17C6H DX=8094H (11) AH=84H BL=04H (12) IP=17C6H 3-23 (1)将FIRST为首地址的内存单元中的10个字节传送到 VAR4 DB86H,27H,23H,00H,24H, DW0B430H,1062H SECONDS首地址的内存单元。 (2)将0404H到0503H的内存单元清0。 3-25 OFSFZFPFCF (1)00001 (2)0000无影响 (3)00001 (4)01001 (5)00001 (6)1不定不定不定1 (7)00010 (8)0不定不定不定0 (9)01010 (10)00010 (11)00110 (12)01011 (13)10001 3-27 (1)IP=1256H (2)IP=3208H (3)IP=2450H 3-28 IP=009AH,CS=2000H,SP=0F178H,[SP]=8FH, [SP+1]=3DH [SP+2]=50H,[SP+3]=40H 3-29 CMPAL,01H JZLAB1 CMPAL,02H JZLAB2 CMPAL,04H JZLAB3 TESTAL,07H JNZLAB4 LAB1: …… LAB2: …… LAB3: …… LAB4: …… 1.汇编语言程序设计 4-2 12VAR1 -12H 0 FFH 0 FFH 0 FFH 0 VAR2 1 2 1 2 0 3 重复上面"0"到"3"部分内容99次‘W' VAR3 ‘E' ‘L' ‘C' ‘O' ‘M' ‘E' CC ‘T' ‘O'VAR3+6的 偏移地址 VAR3的偏移地址 VAR3的段基地址 4-3 (1)DATA1 1AH (2)DATA2 或者 (1)DATA1LABELBYTE ARRAYDW2786H,23H,1A24H (2)DATA2LABELWORD ARRAYDB30H,0B4H,62H,10H 4-5 ⑴VAR1的偏移量是30H,VAR2的偏移量是3AH (2)CNT=10H (3)VAR2+2单元的内容为02H 4-6 AAAMACRO PUSHDS SUBAX,AX PUSHAX MOVAX,DATA MOVDS,AX ENDM 4-7 TRANMACROX,Y,Z;X,Y为源、目标数据块的首 地址,Z为数据块的长度 MOVCX,Z MOVSI,OFFSETX MOVDI,OFFSETY CLD;设置方向标志为0 REPMOVSB ENDM 4-8 (1)错源操作数和目标操作数长度不匹配 (2)对 (3)错两个存储器操作数之间不可直接传送 ⑷错CS不可作为MOV旨令的目标操作数 (3)对 (4)错没有[SI][DI]的寻址方式 (5)错[BX-SI]不是正确的寻址方式 (6)错操作数没指明类型 (7)错立即数不可作为MOV旨令的目标操作数 (8)错[8-BX]不是正确的寻址方式 4-9 MOVBX,OFFSETARRAY将ARRAY勺偏移地址传给BX MOVCX,LENGTHARRAY将ARRAY用DUP重复定义的数据项 总数传给CX MOVSI,0;将0传给SI ADDSI,TYPEARRAY将SI的内容与ARRAY勺类型值相加,返回给SI 指令执行后 BX: 数组ARRAY勺首地址 CX=100 Y X+2 SI=2 4-10 MOVAX,WORDPTRX ADDAX,WORDPTR MOVWORDPTRZ,AX MOVAX,WORDPTR ADCAX,WORDPTRY+2 MOVWORDPTRZ+2,AX 4-12 (1) DATASEGMENT DATAENDS CODESEGMENT MOVAH,01H 码值在AL中INT21H CMPAL,41H JZP0 CMPAL,42H JZP1 CMPAL,4AH JZP9 JMPEXIT P1: … RET P2: … RET P9: … RET EXIT: MOVAH,4CH INT21H (2) DATASEGMENT BASEDWP0,P1,……,P9 DATAENDS CODESEGMENT MOVAH,01H;从键盘输入一个字符,其ASC 码值在AL中INT21H CMPAL,'A';判别字符是否位 于‘A'到’J'之间 JBEXIT 从键盘输入一个字符,其ASC CMPAL,'J' JA EXIT JMPLOOP SUBAL,'A';在正确范围之内,根据表内地址分支MOVBL,AL MOVBH,0 SHLBX,1 JMPBASE[BX] P1: … RET P2: … RET P9: … RET EXIT: MOVAH,4CH INT21H 4-14 LEABX,x LEASI,y LEADI,sum ADDBX,7 ADDSI,7 ADDDI,8;和可能要9个字节 MOVCX,8 LOP: MOVAL,[BX] ADCAL,[SI] DAA MOV[DI],AL DECBX DECSI DECDI DECCX JNZLOP MOVAL,0 ADCAL,0 MOV[DI],AL 4-15 MOVSI,OFFSETFIRST MOVCX,0;CX中存放A的个数 LOOP: MOVAL,[SI] CMPAL,‘$' JZNEXT CMPAL,‘A' JNELP INCCX LP: INCSI NEXT: …… 4-16 MOVBX,0 MOVCX,16 NEXT: RCLAX,1 JCP1 INCBH JMPOK P1: INCBL OK: LOOPNEXT MOVCX,BX 4-17 DATASEGMENT DATA_WDW;若干个数 COUTEQU($-DATA_W)/2 COUT1DB0 COUT2DB0 COUT3DB0 DATAENDS STACKSEGMENTPARASTAC‘KSTACK' DB100DUP(0) STACKENDS CODESEGMENT ASSAUMCS: CODE,DS: DATA STARTPROCFAR PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX MOVDX,0;正数、负数、0暂时分别存在BL、BHDL中 MOVBX,0 LEASI,DATA_W MOVCX,COUT NEXT: MOVAX,[SI] CMPAX,0 JGLP1 JLLP2 INCDL JMPOK LP1: INCBL JMPOK LP2: INCBH OK: ADDSI,2 LOOPNEXT RET STARTENDPCODEENDSENDSTART 4-18DATASEGMENT ARRAYDW;若干个数 COUTEQU$-ARRAYMAXDBMINDB DATAENDS STACKSEGMENTPARASTAC‘KSTACK'DB100DUP(0) STACKENDSCODESEGMENT ASSAUMCS: CODE,DS: DATA STARTPROCFAR PUSHDS MOVAX,0 PUSHAX MOVAX,DATAMOVDS,AX LEABX,ARRAY MOVCX,COUT MOVAH,[BX] MOVAL,[BX]DECCXINCBX LOP: CMPAH,[BX] JANEXT1MOVAH,[BX] JMPNEXT2 NEXT1: CMPAL,[BX] JBNEXT2MOVAL,[BX] NEXT2: INCBX LOOPLOP MOVMAXAH MOVMINAL RET STARTENDPCODEENDSENDSTART 4-22 LEABX,STRINGMOVCX,80 NEXT: CMP[BX],20H JZOK INCBX LOOPNEXT MOVCL,-1 JMPFIN OK: NEGCX ADDCX,80 FIN: 4-24 (1)LEASI,STRING1 LEADI,STRING2 MOVCX,20 CLD REPMOVSB (2) LEASI,STRING1 LEADI,STRING2 ADDSI,19 ADDDI,19 MOVCX,20 STD REPMOVSB (3) MOVAL,20H LEADI,STRING1 MOVCX,20 CLD REPNZSCASB JZFOUND MOVDL,0;未找到 JMPEXIT FOUND: DECDI MOVBX,DI MOVDL,01H 找到 EXIT: (4)LEASI,STRING1 LEADI,STRING2 MOVCX,20 CLD REPCMPSB JNZNEQ MOVBL,0;相同 JMPEXIT NEQ: MOVBL,01H;不相同 4-27 EXIT: DS DISPLAY: FAR; 4-25 ;MODULE_1 EXTRNVAR3: DWORD PUBLICVAR1,LABEL_1 ;MODULE_2 EXTRNVAR1: WORD,LABEL_1: FAR,LABEL_3: FAR PUBLICVAR3,LABEL_2 ;MODULE_3 EXTRNVAR1: WORD,LABEL_1: FAR,LABEL_2: FAR PUBLICLABEL_3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 习题 答案