文档微机原理+部分作业答案2.docx

上传人:b****6 文档编号:5899215 上传时间:2023-01-02 格式:DOCX 页数:31 大小:252.66KB
下载 相关 举报
文档微机原理+部分作业答案2.docx_第1页
第1页 / 共31页
文档微机原理+部分作业答案2.docx_第2页
第2页 / 共31页
文档微机原理+部分作业答案2.docx_第3页
第3页 / 共31页
文档微机原理+部分作业答案2.docx_第4页
第4页 / 共31页
文档微机原理+部分作业答案2.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

文档微机原理+部分作业答案2.docx

《文档微机原理+部分作业答案2.docx》由会员分享,可在线阅读,更多相关《文档微机原理+部分作业答案2.docx(31页珍藏版)》请在冰豆网上搜索。

文档微机原理+部分作业答案2.docx

文档微机原理+部分作业答案2

P1914,16,17,19,21,24,25

P60:

14,15,16,1718,19,22

P122:

6,7,8,9,21(单数),24,25(1-4)

P123:

17,19,20

P184:

4,5,6,8

P185:

9,10,11,12

P224:

6,7,8,10,15,16,19

P249:

4,12,13

P350:

23,24,27,31,32,34

实验:

自学P237-247预习P259实验2

P278实验3:

8253

P280实验4:

8255A

 

错误答案:

P17,:

56应为A

第1章部分答案

14.将下面的无符号二进制数转换成十进制数。

(1)10001101.01B

(2)00111001.0011B

答案:

(1)141.25

(2)57.1875

16.下面各数的8位二进制补码是什么?

(1)-89

(2)123

答案:

(1)10100111B=A7H

(2)01111011B

17.当下面各数被看作是用补码表示的有符号数时,它们所表示的十进制数是什么?

(1)D8H

(2)2FH

答案:

(1)-40

(2)+47

19.将下面的有符号十六进制原码数转换成十进制数。

(1)A3.03H

(2)79.C2H

答案:

(1)-35.0.0117

(2)+121.7578

21.将下面压缩型BCD码所表示的十进制数,用十进制数和十六进制数表示。

(1)10001001B

(2)01010111B

答案:

(1)89=59H

(2)57=39H

24.下列为2个十六进制有符号数的补码运算表达式,试完成运算,判断运算结果是否溢出,说明判断依据,并转换为十进制数计算进行验证。

(1)3AH+B7H

(2)58H-AFH

答案:

(1)无溢出,双进位均无

(2)有溢出,有单借位

 

25.下列各数均为十进制数,请用8位二进制补码计算下列各题,判断是否有溢出,并说明判断依据,如果有溢出请给出正确的计算方法。

(1)(-85)+76

(2)85+(-76)(3)(-85)-76

答案:

(1)(-85)+76,无溢出,双进位均无

 

(2)85+(-76),无溢出,双进位均有

 

(3)(-85)-76,有溢出,有单借位。

用双字节运算将无溢出。

第1次作业第2章答案P6014,15,16,17,18,19,22

14.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址是多少?

指向这一物理地址的CS值和IP值是唯一的吗?

15.如果CS=A7F0H,IP=2B40H指向某程序的开始处,试问该程序的第一个字节的物理地址是多少?

16.段地址和偏移地址为3017H:

000AH的存储单元的物理地址是什么?

如果段地址和偏移地址是3015H:

002AH和3010H:

007AH呢?

试总结一下逻辑地址和物理地址各自的特点。

17.有两个16位字1EE5H和2A3CH分别存放在存储器的200B0H和200B2H单元中,请用图表示出它们在存储器中的存放格式。

18.如果SS=2000H,SP=0100H,在从栈区中弹出4个字节再压入10个字节后,SS和SP的值是多少?

此时栈顶的物理地址是多少?

19.某微处理器地址总线有16条,问该微处理器所能够直接访问的存储空间为多少KB?

若该存储空间的起始地址为0000H,则其最高地址为多少?

22.至少用两种方法实现补码运算,并写出对标志寄存器FR中6个状态位的影响。

(1)20-23=?

(2)-120-23=?

答案:

14.物理地址=1200H*16+FF00H=21F00H,指向这一物理地址的CS值和IP值是不唯一

15.物理地址=A7F0H*16+2B40H=AAA40H

16.物理地址=3017H*16+000AH=3017AH,

物理地址=3015H*16+002AH=3017AH,

物理地址=3010H*16+007AH=3017AH。

逻辑地址不唯一,物理地址唯一

17.如右图:

18.SS=2000H,SP=0100H+4-10=00FAH,物理地址=2000H*16+00FAH=200FAH

19.216=65536=64K,最高地址为FFFFH

22.

 

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

 

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

第2次作业第3章作业P1226,7,89,10,14,17,19,20,21(单),24,25(1-4)

6.分别指出下列各指令中的源操作数和目的操作数的寻址方式。

(1)MOVSI,200

(2)MOVCX,DATA[SI]

(3)MOV[SI],AX(4)ANDAX,BX

7.写出以下各指令中内存操作数对应的物理地址描述。

(1)MOVBX,[BX+SI+2]

(2)MOV5[BP],AX

(3)INC[2000H](4)MOVDL,ES:

[BX][DI]

8.段基值为5080H的段起始物理地址和最大物理地址各是多少?

9.判断下列各指令书写是否正确,如有错误请说明原因。

(1)MOVAL,BX

(2)MOVBL,[SI][DI]

(3)MOVAL,CH(4)MOVDX,20H

(5)INC[BX](6)POPCS

(7)ADD5,AL(8)PUSHES

(9)AND[BX],[SI](10)MOVCL,100

(11)MOVSS,2400H(12)XCHGAH,[BX]

(13)XCHGAL,200(14)OUT21H,AX

(15)INAX,260H(16)ADDCH,[DX]

10.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问:

(1)执行指令PUSHAX后SP=?

(2)再执行PUSHBX及POPAX后SP=?

AX=?

BX=?

11.已知DS=2000H,(21000H)=2233H,(21002H)=4455H,试问执行下列指令后SI=?

(1)MOVSI,[1000H]

(2)LEASI,[1000H]

(3)LDSSI,[1000H]

14.设BX=637DH,SI=2A9BH,位移量=7237H,求下列各寻址的有效地址EA。

(1)基址变址寻址

(2)直接寻址

(3)基址寻址(4)使用SI的寄存器间接寻址

17.设BX=0400H,SI=003CH,执行LEABX,[BX+SI+0F62H]后,BX=?

SI=?

19.已知:

DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,SI=0012H,DI=0032H,BP=0024H,(09224H)=7922H,(09226H)=38F6H,(09228H)=1E40H,(0922AH)=2A5DH,(1E4F6H)=091DH,试求下列各题中指令执行后的结果。

(1)MOVCL,20H[BX+SI];CL=?

(2)MOVCX,[BP][DI];CX=?

_

(3)LEABX,[BX+SI+20H];BX=?

MOVAX,2[BX];AX=?

(4)LDSSI,[BX+DI];SI=?

MOV[SI],SI;[SI]=?

20.若CPU中各寄存器及RAM参数如图3-59所示,试问执行下列各题中的指令后,相应寄存器和内存单元的内容应为多少?

(1)MOVDX,2[BX];DX=?

BX=?

(2)PUSHCX;SP=?

[SP]=?

(3)SUBCX,BX;CX=?

BX=?

(4)TESTAX,01;AX=?

ZF=?

(5)MOV[SI],DL;SI=?

[SI]=?

(6)XORAH,AH;AH=?

CF=?

ADCAL,[DI];AL=?

CF=?

AF=?

DAA;AL=?

AH=?

CF=?

AF=?

ADCAH,0;AL=?

AH=?

CF=?

AF=?

(7)INCSI;SI=?

21.若AL=FFH,BL=03H,指出下列指令执行后标志OF、SF、ZF、PF、CF、AF的状态。

(1)ADDBL,AL

(2)INCBL

(3)SUBBL,AL(4)NEGBL

(4)CMPBL,AL(6)MULBL

(7)ANDBL,AL(8)IMULBL

(9)ORBL,AL(10)XORBL,BL

(11)SHLBL,1(12)SARAL,1

(13)SHRAL,1

24.读下列程序段,指出完成什么功能?

BEGIN:

MOVAL,ADR1

TESTAL,1

JZBRCH

MOVBL,80H

JMPSTOP

BRCH:

MOVBL,0H

STOP:

MOVADR2,BL

HLT

25.试编制程序段,实现下列各小题要求:

(1)将AL中的内容高4位与低4位交换一下位置,结果存入AH中;

(2)将AL中的补码转换成原码,其符号存入BH中,绝对值存入BL中;

(3)将AL中的压缩型BCD码转换成十六进制数,并存入AH;

(4)将内存DA1中的1字节十六进制数转换成十进制数,并存入DA2开始的内存中;

第3章部分答案P1226,7,89,10,14,17,19,20,21(单),24,25(1-4)

6.目标操作数寻址方式源操作数寻址方式

(1)寄存器寻址立即数寻址

(2)寄存器寻址变址寻址

(3)寄存器间接寻址寄存器寻址

(4)寄存器寻址寄存器寻址

7.

(1)DS*16+BX+SI+2

(2)DS*16+BP+5

(3)DS*16+2000H(4)ES*16+BX+DI

8.段起始物理地址=5080H*16+0000H=50800H,

最大物理地址=5080H*16+FFFFH=607FFH

9.

9.判断下列各指令书写是否正确,如有错误请说明原因。

(1)MOVAL,BX;×操作数尺寸不一致

(2)MOVBL,[SI][DI];×SI和DI不能出现在同一内存操作数寻址中

(3)MOVAL,CH;√

(4)MOVDX,20H;√

(5)INC[BX];√

(6)POPCS;×CS只能读不能赋值,即:

只能PUSH,不能POP

(7)ADD5,AL;×目标操作数不能是立即数

(8)PUSHES;√

(9)AND[BX],[SI];×除串操作指令,内存间不能直接操作

(10)MOVCL,100;√

(11)MOVSS,2400H;×段寄存器不能直接赋值

(12)XCHGAH,[BX];√

(13)XCHGAL,200;×立即数不能直接参加交换

(14)OUT21H,AX;√

(15)INAX,260H;×口地址大于255必须用DX间接寻址

(16)ADDCH,[DX];×DX不能提供内存操作数地址信息,[]中不能有DX

10.

(1)执行指令PUSHAX后SP=2000H-2=1FFEH

(2)再执行PUSHBX及POPAX后SP=1FFEH,AX=5000H,BX=5000H

11.

(1)SI=2233H

(2)SI=1000H(3)SI=2233H,DS=4455H

14.

(1)基址变址寻址的有效地址EA=637DH+2A9BH+7237H=004FH

(2)直接寻址的有效地址EA=7237H

(3)基址寻址的有效地址EA=637DH+7237H=D5B4H

(4)使用SI的寄存器间接寻址的有效地址EA=2A9BH

17.BX=0400H+003CH+0F62H=139EH,SI=003CH

19.

(1)MOVCL,20H[BX+SI];CL=F6H

(2)MOVCX,[BP][DI];CX=091DH

(3)LEABX,[BX+SI+20H];BX=0056H

MOVAX,2[BX];AX=1E40H

(4)LDSSI,[BX+DI];SI=38F6H

MOV[SI],SI;[SI]=38F6H

20.

(1)MOVDX,2[BX];DX=2006H,BX=0004H

(2)PUSHCX;SP=005AH,[SP]=69FFH

(3)SUBCX,BX;CX=69FBH,BX=0004H

(4)TESTAX,01;AX=0094H,ZF=1

(5)MOV[SI],DL;SI=000AH,[SI]=C6H

(6)XORAH,AH;AH=0,CF=0

ADCAL,[DI];AL=1BH,CF=1,AF=0

DAA;AL=81H,AH=00H,CF=1,AF=1

ADCAH,0;AL=81H,AH=1,CF=0,AF=0

(7)INCSI;SI=000BH

21.

(1)ADDBL,AL;OF=0、SF=0、ZF=0、PF=0、CF=1、AF=1

(3)SUBBL,AL;OF=0、SF=0、ZF=0、PF=0、CF=1、AF=1

(5)CMPBL,AL;OF=0、SF=0、ZF=0、PF=0、CF=1、AF=1

(7)ANDBL,AL;OF=0、SF=0、ZF=0、PF=1、CF=0、AF=不确定

(9)ORBL,AL;OF=0、SF=1、ZF=0、PF=1、CF=0、AF=不确定

(11)SHLBL,1;OF=0、SF=0、ZF=0、PF=1、CF=0、AF=不确定

(13)SHRAL,1;OF=1、SF=0、ZF=0、PF=0、CF=1、AF=不确定

(2)INCBL;OF=0、SF=0、ZF=0、PF=0、CF=不影响、AF=0

(4)NEGBL;OF=0、SF=1、ZF=0、PF=0、CF=1、AF=1

(6)MULBL;OF=CF=1、SF、ZF、PF、AF不确定

(8)IMULBL;OF=CF=0、SF、ZF、PF、AF不确定

(10)XORBL,BL;OF=0、SF=0、ZF=1、PF=1、CF=0、AF=不确定

(12)SARAL,1;OF=0、SF=1、ZF=0、PF=1、CF=1、AF=不确定

注:

移位指令SAR、SHL、SHR执行时,当SF=CF,则OF=0,当SF≠CF,则OF=1

MUL当乘积AH=0时,OF=CF=0,乘积AH≠0时,OF=CF=1

IMUL当乘积AH=0或AH=FFH时,OF=CF=0,乘积AH≠0或AH≠FF时,OF=CF=1

24.若ADR1为偶数则ADR2=0,若ADR1为奇数则ADR2=80H

25.编程序段:

(1)MOVCL,4

MOVAH,AL

ROLAH,CL;或RORAH,CL

HLT

(2)TESTAL,80H;测试符号位

JZLP1;AL为正数转去LP1

MOVBH,1;AL为负数,符号=1,则BH=1

NEGAL;或0-AL

MOVBL,AL

JMPLP2

LP1:

MOVBH,0;AL为正数,符号=0,则BH=0

MOVBL,AL

LP2:

HLT

(3)MOVBL,AL

MOVCL,4

SHRAL,CL

MOVCH,0AH

MULCH;AX=AL*CH

ANDBL,0FH

ADDAL,BL

HLT

(3)MOVAH,AL

ANDAH,0F0H

MOVCL,4

RORAH,CL

ANDAL,0FH

AAD;AX=AH*0AH+AL

MOVAH,AL

HLT

(4)MOVAX,DATA

MOVDS,AX

MOVCL,DA1

XORAX,AX

LP1:

ADDAL,1

DAA

ADCAH,0

DECCL

JNZLP1

MOVDA2,AL;AL=十位个位

MOVDA2+1,AH;AH=百位

MOVAH,4CH

INT21H

(4)MOVAX,DATA

MOVDS,AX

MOVAL,DA1

MOVCL,0AH

XORAH,AH

DIVCL;AH=个位,AL=商

MOVDA2,AH

XORAH,AH

DIVCL;AH=十位,AL=百位

MOVDA2+1,AH

MOVDA2+2,AL

MOVAH,4CH

INT21H

 

第4章部分答案P18445,6,8,910,11,1220,21

4.下列各条伪指令在存储器中各分配多少个字节给变量?

DATASEGMENT

VAR1DB5

VAR2DW20H

VAR3DW5DUP(?

COUNTEQU5

VAR4DDCOUNTDUP(?

VAR5DB'PLEASEINPUTNUMBER!

'

VAR6DB5DUP(?

,COUNTDUP(0))

DATAENDS

答案:

(1)1

(2)2(3)5*2=10(4)0

(5)5*4=20(6)20(7)5*(1+5*1)=30

5.下列伪指令有什么不同?

(1)DATA1EQU2000H和DATA1=2000H

(2)MOVBX,DATA1和MOVBX,OFFSETDATA1

(3)ADDAX,BX和ADDAX,[BX]

(4)MOVSI,[8051H]和LEASI,[8051H]

答案:

(1)DATA1EQU2000H和DATA1=2000H;前者不能重复定义,后者可以

(2)MOVBX,DATA1和MOVBX,OFFSETDATA1;不同

(3)ADDAX,BX和ADDAX,[BX];不同

(4)MOVSI,[8051H]和LEASI,[8051H];不同

6.下列语句中哪些是无效的宏汇编语言语句?

并指出错误原因。

答案:

(1)MOVWORD_OP[BX+4×3][SI],SP

(2)LOPADDAL,[BP];LOP:

(3)DA1:

DB12H,34,’A’;DA1:

(4)MOV[8022H],50H;BYTEPTR[8022H]

(5)DATASEGMENT

:

ENDS;DATAENDS

(6)ASSUMECS=CODE,DS=DATA;CS:

CODE,DS:

DATA

8.以下数据定义段:

DATASEGMENT

________________

VAR1DB?

?

VAR2DB?

ADRDWVAR1,VAR2

DTATENDS

若希望使ARD+2的内存单元中存放的内容为“0102H”,则横线处应填入什么语句?

答案:

ORG0100H

9.用示意图来说明如下程序段中变量在内存中的分配情况。

DATASEGMENT

ORG0040H

VAR1DW1100H,2222H

VAR2DB2DUP(33H)

VAR3DW4433H

COUNTEQU2

VAR4DBCOUNTDUP(44H),LOWVAR2,COUNT+3DUP(55H),'ABCD'

VAR5DWCOUNTDUP('AB',COUNTDUP(1234H))

DATAENDS

答案:

10.设数据段中定义了两个变量:

ORG0100H

ADB12H,‘A’,32H

BDW5678H,65535

试问执行如下程序段后,各条指令的目标操作数的值是多少。

答案:

MOVAL,A;AL=12H

LEABX,B;BX=0103H

MOVCX,[BX+2];CX=65535

MOVSI,B+2;SI=65535

MOVDX,WORDPTRA;DX=4112H

11.读程序:

START:

INAL,20H

MOVBL,AL

INAL,30H

MOVCL,AL

MOVAX,0

ADLOP:

ADDAL,BL

ADCAH,0

DECCL

JNZADLOP

HLT

请问:

(1)本程序实现什么功能?

(2)结果存放在哪里?

答案:

(1)本程序实现:

20H口的数据乘以30H口的数据

(2)结果存放在AX

12.读程序:

DATASEGMENT

DA1DB10DUP(2,3)

DA2DW10DUP(0203H)

DA3DB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

ST:

MOVAX,DATA

MOVDS,AX

LEABX,DA1

XORSI,SI

XORAL,AL

MOVCX,10

LP:

ADDAL,[BX]

ADDAL,BYTEPTRDA2[SI]

ADDSI,2

INCBX

LOOPLP

MOVDA3,AL

MOVAH,4CH

IN

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

当前位置:首页 > 自然科学

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

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