当前位置:文档之家› 微机原理及应用习题答案

微机原理及应用习题答案

《微机原理及应用》习题答案教材:《80X86/Pentium 微型计算机原理及应用》答案第一章计算机基础1-3(1)01101110 真值=110(2)10001101 真值=-131-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]补=110000011- 6(1) [x1+y1] 补=[x1]补+ [y1]补=00010100+00100001=00110101(2) [x2-y2]补=[x2]补+ [-y2]补=11101100+00100001=000011011- 7(1) 85+60解:[-85] 补=10101011 [60] 补=00111100[-85] 补+[60] 补=10101011+00111100=11100111 (11100111)补=10011001 真值=—25CS= 0, CP=0, CS® CP= 0 无溢出(4)-85-60[-85] 补=10101011 [-60] 补=11000100 [-85] 补+[-60] 补=10101011+11000100=101101111 CS=1, CP=0 CS® CP=1 有溢出1- 8(1) [x] 补+ [y] 补=01001010+01100001=10101011 CS=0, CP=1 CS® CP=1 有溢出⑵[X] 补-[y]补=[x]补+ [-y]补=01001010- 01100001=01001010+10101010=100010110CS=1, CP=1 CS® 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 代表SP1-14(1) 69.57(69.57)10=(1000101.100)B=0.1000101100 X 27=0.1000101100 X 2+111浮点规格数为011101000101(2) -38.405(-38.405)10=(-100110.011)B-100110.011= -0.100110011 x 26 = - 0.100110011 x 2110浮点规格数为011011001100(3) - 0.3125(-0.3125)10=(-0.0101)2=(-0.101)2 x 2-001浮点规格数为1111110100001. +0.008342. (+0.00834)10=(0.000000100010001)2=(0.100010001)2 x 2-1103. 浮点规格数为1010010001004. 1-155. (1) (69.57)10=(1000101.10010001111010111)26. =(1.00010110010001111010111)2 x 21107. p=6+127=133=(10000101)28. 单精度浮点数为010000101000101100100011110101119. ( 2)(-38.405)10=(-100110.011001111010111000)210. = - (1.00110011001111010111000)2 x 210111. p=5+127=132=(10000100)212. 单精度浮点数为1100001000011001100111101011100013. (3) (-0.3125)10=(-0.0101)2=(-1.01)2 x 2-1014. p=-2+127=125=(1111101)215. 单精度浮点数为10111110101000000000000000000000第二章80X86/Pentium 微处理器2- 3IO/M DT/R DEN RD WR 读存储器0 0 0 0 1 写存储器0 1 0 1 0 2- 17PA=CS x 16+IP IP 的范围为OOOOH〜FFFFH而CS 为A000H因此PA的范围即现行代码段可寻址的存储空间范围为1-10AOOOOH〜AFFFFH2- 2O1234ABCDH=OOO1OO1OOO11O1OO1O1O1O1111OO11O1 BPA=SS x 16+SP=AOOOOH+O1OOH=AO1OOH栈顶SP= 0100H-4=00FCH11OO11O1 AOOFCH101010110011010000010010 A0100F2- 21(1) 1278H+3469H=0001 0010 0111 1000+0011 0100 0110 1001=0100 0110 1110 0001SF=0 ZF=0 AF=1 PF=1 CF=0 OF=0(2) 54E3H-27A0H=0101 0100 1110 0011+1101 1000 0110 0000=1 0010 1101 0100 0011SF=0 ZF=0 AF=1 PF=0 CF=0 OF=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+DISP PA=DS: 16+BX+DISP(3) 源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方式EA=SI PA=DSX 16+SI(4) 源操作数为基址加变址寻址方式;目标操作数为寄存器寻址方式EA=BX+SI PA=DS< 16+BX+SI(5) 源操作数、目标操作数都为寄存器寻址方式(6) 源操作数为基址寻址方式;目标操作数为寄存器寻址方式EA=BX+10H PA=D<S16+BX+10H(7) 源操作数为寄存器间接寻址方式;目标操作数为寄存器寻址方式EA=BX PA=ES<16+BX(8) 源操作数为带位移量基址加变址寻址方式;目标操作数为寄存器寻址方式EA=BX+SI+20H PA=D<S 16+BX+SI+20H(9) 源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方法A=BP PA=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) 有错。

格式为IN AL, I/O 端口地址,且100H>255,应放在DX中,DX在指令中出现(13) 有错。

源操作数应为存储器操作数(14) 有错。

对16 位寻址时,存储器操作数应为SI 、DI 、BP、BX,不能为CX3- 8(1) AX=3355H SP=1FFEH(2) AX=3355H DX=4466H SP=1FFEH3- 9PA=SS< 16+BP+SI=2F000H+0200H+0046H=2F246H 执行XCHG BX, [BP+SI] 后BX=4154H [2F246H]=6F30H3-12(1) PA=DS < 16+BX+SI+20H=09226H/• CL=F6H⑵ PA=SS X 16+BP+DI=1E4F6H[1E4F6H]=5678H(3)BX=BX+SI+20H=0056HPA=DS X 16+BX+2=09228H/• AX=1E40H(4)PA=DS X 16+BX+DI=09226HSI=00F6H[SI]=0024H(5)PA=DS X 16+BX+32H=09226HCX=00F6H [09226]=5678H(执行XCHG CX,32H[BX后) E 再执行XCHG 20[BX][SI] AX 后PA=DS X 16+BX+SI+20H=09226/• AX=5678H [09226H]=1234H3-14(2) MOV CL, 4ROL BL, CL( 4) AND BX, 0F7AFH(6)TEST DX, 0201H3-16( 2)端口,(580H)=60H (581H)=80H( 4)寄存器,AL=4FH AH=(41H)( 5)端口,(45H)=60H3-17 参考程序如下:(1)MOV AX, NUM2ADD NUM1, AX(2)MOV AL, NUM1ADD AL, NUM1+1ADD AL, NUM1+2ADD AL, NUM1+3MOV RES, AL(3)MOV AL, NUM1MOV AH, 0MOV CX, 7LEA DI, NUM1MOV DX, 0NEXT: INC DIMOV DL, [DI]ADD AX, DXDEC CXJNZ NEXTMOV RES, AX(4)MOV AX, NUM1ADD AX, NUM2MOV NUM2, AXMOV AX, NUM1+2ADC AX, NUM2+2 MOV NUM2+2, AX3-18 参考程序如下:(1)MOV AL, NUM1MOV AH, 0MOV CX, 7LEA DI, NUM1NEXT: INC DIMOV DL, [DI]ADD AL, DLDAAMOV DH, AL ;DAA只能对AL中数加以调整,DH为暂存用MOV AL, AHADC AL, 0DAA ;题目中只有8个数相加,所以这里也可以不作调整MOV AH, ALMOV AL, DHDEC CXJNZ NEXTMOV RES, AX3-21( 1)009AH( 2) 0061H( 3) 8071H( 4) 10F7H( 5) FF1CH3-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=0 AL=32H( 7) SI=0009H( 8) DI=0009H( 9)[DI]=94H( 10)AX=17C6H DX=8094H(11)AH=84H BL=04H( 12)IP=17C6H3-23(1)将FIRST为首地址的内存单元中的10个字节传送到SECONDS首地址的内存单元。

相关主题