微机.docx

上传人:b****7 文档编号:10137713 上传时间:2023-02-08 格式:DOCX 页数:60 大小:66.17KB
下载 相关 举报
微机.docx_第1页
第1页 / 共60页
微机.docx_第2页
第2页 / 共60页
微机.docx_第3页
第3页 / 共60页
微机.docx_第4页
第4页 / 共60页
微机.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

微机.docx

《微机.docx》由会员分享,可在线阅读,更多相关《微机.docx(60页珍藏版)》请在冰豆网上搜索。

微机.docx

微机

第一章答案

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有溢出

(2)

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

(4)+0.00834

(+0.00834)10=(0.000000100010001)2=(0.100010001)2x2-110

浮点规格数为101001000100

1-15

(1)(69.57)10=(1000101.10010001111010111)2

=(1.00010110010001111010111)2x2110

p=6+127=133=(10000101)2

单精度浮点数为01000010100010110010001111010111

(2)(-38.405)10=(-100110.011001111010111000)2

=-(1.00110011001111010111000)2x2101

p=5+127=132=(10000100)2

单精度浮点数为11000010000110011001111010111000

(3)(-0.3125)10=(-0.0101)2=(-1.01)2x2-10

p=-2+127=125=(1111101)2

单精度浮点数为010*********

2-3

D

读存储器00001

写存储器01010

2-17

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

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

2-19

78H-->A001H

56H-->A002H

34H-->A003H

12H-->A004H

2-20

1234ABCDH=00010010001101001010101111001101B

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

栈顶SP=0100H-4=00FCH

11001101

10101011

00110100

00010010

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完成独立操作所需时间。

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)源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方法

EA=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

(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]后)

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

PA=DS×16+BX+SI+20H=09226H

∴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=0006HBX=0004H

(2)SP=1FFEH[SP]=FEH

(3)CX=0004HBX=0004H

(4)AX=8094HCF=0

(5)AL=87H

(6)AL=CCHCF=0AL=32H

(7)SI=0009H

(8)DI=0009H

(9)[DI]=94H

(10)AX=17C6HDX=8094H

(11)AH=84HBL=04H

(12)IP=17C6H

3-23

(1)将FIRST为首地址的内存单元中的10个字节传送到SECOND为首地址的内存单元。

(2)将0404H到0503H的内存单元清0。

3-25

OF

SF

ZF

PF

CF

(1)

0

0

0

0

1

(2)

0

0

0

0

无影响

(3)

0

0

0

0

1

(4)

0

1

0

0

1

(5)

0

0

0

0

1

(6)

1

不定

不定

不定

1

(7)

0

0

0

1

0

(8)

0

不定

不定

不定

0

(9)

0

1

0

1

0

(10)

0

0

0

1

0

(11)

0

0

1

1

0

(12)

0

1

0

1

1

(13)

1

0

0

0

1

3-27

(1)IP=1256H

(2)IP=3280H

(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:

……

4-2

12

-12H

0

FFH

0

FFH

0

FFH

0

1

2

1

2

0

3

……

 

‘W’

‘E’

‘L’

‘C’

‘O’

‘M’

‘E’

‘‘

‘T’

‘O’

VAR3+6的

偏移地址

VAR3的偏移

地址

VAR3的段基

地址

VAR1

 

VAR2

 

重复大括号部分内容99次

 

VAR3

 

VAR4

 

4-3

(1)DATA1DB86H,27H,23H,00H,24H,1AH

(2)DATA2DW0B430H,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为源、目标数据块的首地址,Z为数据块的长度

MOVCX,Z

MOVSI,OFFSETX

MOVDI,OFFSETY

CLD

REPMOVSB

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,WORDPTRX

ADDAX,WORDPTRY

MOVWORDPTRZ,AX

MOVAX,WORDPTRX+2

ADCAX,WORDPTRY+2

MOVWORDPTRZ+2,AX

4-12

(1)DATASEGMENTDATAENDSCODESEGMENT…MOVAH,01H;从键盘输入一个字符,其ASC码值在AL中INT21HCMPAL,41HJZP0CMPAL,42HJZP1…CMPAL,4AHJZP9JMPEXITP1:

…RETP2:

…RET……P9:

…RETEXIT:

MOVAH,4CHINT21H….

(2)DATASEGMENTBASEDWP0,P1,……,P9DATAENDSCODESEGMENT…MOVAH,01H;从键盘输入一个字符,其ASC码值在AL中INT21HCMPAL,'A';判别字符是否位于‘A’到‘J’之间JBEXITCMPAL,'J'JAEXITSUBAL,'A';在正确范围之内,根据表内地址分支MOVBL,ALMOVBH,0SHLBX,1JMPBASE[BX]P1:

…RETP2:

…RET……P9:

…RETEXIT:

MOVAH,4CHINT21H….

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

MOVCOUNT1,BL

MOVCOUNT2,BH

MOVCOUNT3,DL

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]

JANEXT1

MOVAH,[BX]

JMPNEXT2

NEXT1:

CMPAL,[BX]

JBNEXT2

MOVAL,[BX]

NEXT2:

INCBX

LOOPLOP

MOVMAXAH

MOVMINAL

RET

STARTENDP

CODEENDS

ENDSTART

4-22

LEABX,STRING

MOVCX,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;未找到

FOUND:

DECDI

MOVBX,DI

MOVDL,01H;找到

(4)

LEASI,STRING1

LEADI,STRING2

MOVCX,20

CLD

REPCMPSB

JNZNEQ

MOVBL

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

当前位置:首页 > 职业教育 > 职高对口

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

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