完整word版《微机原理及应用》习题答案.docx

上传人:b****0 文档编号:12487510 上传时间:2023-04-19 格式:DOCX 页数:33 大小:59.21KB
下载 相关 举报
完整word版《微机原理及应用》习题答案.docx_第1页
第1页 / 共33页
完整word版《微机原理及应用》习题答案.docx_第2页
第2页 / 共33页
完整word版《微机原理及应用》习题答案.docx_第3页
第3页 / 共33页
完整word版《微机原理及应用》习题答案.docx_第4页
第4页 / 共33页
完整word版《微机原理及应用》习题答案.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

完整word版《微机原理及应用》习题答案.docx

《完整word版《微机原理及应用》习题答案.docx》由会员分享,可在线阅读,更多相关《完整word版《微机原理及应用》习题答案.docx(33页珍藏版)》请在冰豆网上搜索。

完整word版《微机原理及应用》习题答案.docx

完整word版《微机原理及应用》习题答案

《微机原理及应用》习题答案

教材:

《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=0    CS⊕CP=1    有溢出

1-8

(1)[x]补+[y]补=01001010+01100001=10101011

CS=0,  CP=1    CS⊕CP=1    有溢出

(2)[x]补-[y]补=[x]补+[-y]补

=01001010-01100001=01001010+10101010

=100010110

CS=1,  CP=1    CS⊕CP=0    无溢出

1-9

(1)  (127)10=(000100100111)BCD

(2)  (74)H=(116)10=(000100010110)BCD

1-10

(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.100110011x2110

浮点规格数为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.100010001)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.单精度浮点数为01000010100010110010001111010111

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  DEN  RD  WR

读存储器  0    0    0   0    1

写存储器  0    1    0   1    0

2-17

PA=CSx16+IP   IP的范围为0000H~FFFFH而CS为A000H

因此PA的范围即现行代码段可寻址的存储空间范围为A0000H~AFFFFH

2-20

1234ABCDH=00010010001101001010101111001101B

PA=SSx16+SP=A0000H+0100H=A0100H

栈顶SP=0100H-4=00FCH

11001101    A00FCH

10101011

00110100

00010010    A0100F

2-21

(1)1278H+3469H=0001001001111000+0011010001101001

=0100011011100001

SF=0ZF=0AF=1PF=1CF=0OF=0

(2)54E3H-27A0H=0101010011100011+1101100001100000

   =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=DS×16+SI

(4)源操作数为基址加变址寻址方式;目标操作数为寄存器寻址方式

EA=BX+SIPA=DS×16+BX+SI

(5)源操作数、目标操作数都为寄存器寻址方式

(6)源操作数为基址寻址方式;目标操作数为寄存器寻址方式

EA=BX+10HPA=DS×16+BX+10H

(7)源操作数为寄存器间接寻址方式;目标操作数为寄存器寻址方式

EA=BXPA=ES×16+BX

(8)源操作数为带位移量基址加变址寻址方式;目标操作数为寄存器寻址方式

EA=BX+SI+20HPA=DS×16+BX+SI+20H

(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)有错。

格式为IN  AL,  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

(2)PA=SS×16+BP+DI=1E4F6H

∴[1E4F6H]=5678H

(3)BX=BX+SI+20H=0056H

PA=DS×16+BX+2=09228H

∴AX=1E40H

(4)PA=DS×16+BX+DI=09226H

SI=00F6H

[SI]=0024H

(5)PA=DS×16+BX+32H=09226H

CX=00F6H[09226]=5678H(执行XCHGCX,32H[BX]后)

E再执行XCHG20[BX][SI]AX后

PA=DS×16+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=0   AL=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个字节传送到SECOND为首地址的内存单元。

(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

12                            VAR1

-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’

‘  ‘

‘T’

‘O’

VAR3+6的                   VAR4                

偏移地址

VAR3的偏移

地址

VAR3的段基

地址

4-3

(1)  DATA1   DB   86H,27H,23H,00H,24H,1AH

(2)  DATA2   DW   0B430H,1062H

或者

(1)DATA1LABELBYTE

ARRAYDW2786H,23H,1A24H

(2)DATA2LABELWORD

ARRAYDB30H,0B4H,62H,10H

4-5

(1)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为数据块的长度

MOV   CX,Z

MOV   SI,OFFSETX

MOV   DI,OFFSETY

CLD      ;设置方向标志为0

REP   MOVSB

ENDM

4-8

(1)  错    源操作数和目标操作数长度不匹配

(2)对

(3)错    两个存储器操作数之间不可直接传送

(4)错    CS不可作为MOV指令的目标操作数

(5)对

(6)错    没有[SI][DI]的寻址方式

(7)错    [BX-SI]不是正确的寻址方式

(8)错    操作数没指明类型

(9)错    立即数不可作为MOV指令的目标操作数

(10)错    [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

SI=2

4-10

MOVAX,WORDPTR  X

ADD   AX,WORDPTR  Y

MOVWORDPTRZ,AX

MOV   AX,WORDPTR  X+2

ADCAX,WORDPTR  Y+2

MOVWORDPTRZ+2,  AX

4-12

(1)

DATASEGMENT  

DATA   ENDS

CODE   SEGMENT        

MOVAH,01H       ;从键盘输入一个字符,其ASC码值在AL中INT21H

CMPAL,41H

JZP0

CMPAL,42H

JZP1

CMP    AL,4AH

JZP9

JMPEXIT

P1:

    …        

        RET

P2:

    …        

        RET

…      …

P9:

    …

RET

EXIT:

   MOV  AH,4CH        

INT  21H        

….

(2)

DATASEGMENT  

BASE   DW  P0,P1,……,P9

DATA   ENDS

CODE   SEGMENT

        …        

MOVAH,01H       ;从键盘输入一个字符,其ASC码值在AL中INT21H        

CMP    AL,'A'        ;判别字符是否位于‘A’到‘J’之间     

JB      EXIT

CMPAL,'J'        

JA      EXIT

SUB    AL,'A'        ;在正确范围之内,根据表内地址分支MOV   BL,AL        

MOVBH,0

SHL  BX,1      

JMP   BASE[BX]

P1:

    …        

RET

P2:

    …        

RET

…      …

P9:

    …

RET

EXIT:

   MOV  AH,4CH        

INT  21H        

….

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

JMPLOOP

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

STACKSEGMENTPARASTACK‘STACK’

DB100DUP(0)

STACKENDS

CODESEGMENT

ASSAUMCS:

CODE,DS:

DATA

STARTPROCFAR

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVDX,0;正数、负数、0暂时分别存在BL、BH、DL中

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

STARTENDP

CODEENDS

ENDSTART

4-18

DATASEGMENT

ARRAYDW…………;若干个数

COUTEQU$-ARRAY

MAXDB  

MINDB  

DATAENDS

STACKSEGMENTPARASTACK‘STACK’

DB100DUP(0)

STACKENDS

CODESEGMENT

ASSAUMCS:

CODE,DS:

DATA

STARTPROCFAR

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

LEABX,ARRAY

MOVCX,COUT

MOVAH,[BX]

MOVAL,[BX]

DECCX

INCBX

LOP:

CMPAH,[BX]

J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1