微机计算机原理课后习题答案.docx

上传人:b****7 文档编号:16325766 上传时间:2023-07-12 格式:DOCX 页数:13 大小:21.97KB
下载 相关 举报
微机计算机原理课后习题答案.docx_第1页
第1页 / 共13页
微机计算机原理课后习题答案.docx_第2页
第2页 / 共13页
微机计算机原理课后习题答案.docx_第3页
第3页 / 共13页
微机计算机原理课后习题答案.docx_第4页
第4页 / 共13页
微机计算机原理课后习题答案.docx_第5页
第5页 / 共13页
微机计算机原理课后习题答案.docx_第6页
第6页 / 共13页
微机计算机原理课后习题答案.docx_第7页
第7页 / 共13页
微机计算机原理课后习题答案.docx_第8页
第8页 / 共13页
微机计算机原理课后习题答案.docx_第9页
第9页 / 共13页
微机计算机原理课后习题答案.docx_第10页
第10页 / 共13页
微机计算机原理课后习题答案.docx_第11页
第11页 / 共13页
微机计算机原理课后习题答案.docx_第12页
第12页 / 共13页
微机计算机原理课后习题答案.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机计算机原理课后习题答案.docx

《微机计算机原理课后习题答案.docx》由会员分享,可在线阅读,更多相关《微机计算机原理课后习题答案.docx(13页珍藏版)》请在冰点文库上搜索。

微机计算机原理课后习题答案.docx

微机计算机原理课后习题答案

微机计算机原理课后习题答案《一》

2009-08-1614:

43

习题答案王忠民主编西安电子科技大学出版

只有部分答案,忘你们谅解!

第二章

1.将下列十进制数转换成二进制和十六进制

(1)129.75=100000001.11B

=81.CH

(2)218.8125=11011010.1101B

=DA.DH

(3)15.625=1111.101B

=F.AH

(4)47.15625=101111.00101B

=2F.28H

2.将下列二进制数转换成十进制和十六进制

(1)111010B=58

=3AH

(2)10111100.11B=188.875

=BC.EH

(3)0.11011B=0.84375

=0.D8H

(4)11110.01B=30.25

=1E.4H

4、完成下列16进制的加减法运算。

(1)0D14BH

(2)9C28.EH

(3)1678.FCH(4)-80D7H

5.计算下列表达式的值

(1)128.8125+10110101.1011B+1F.2H

=(101010101.101)B

(2)287.68-10101010.11B+8E.EH

=(103.CE)H

(3)18.9+1010.1101B+12.6H-1011.1001B

=(36.525)D

7.写出下列以补码表示的二进制数的真值:

1)[X]补=1000000000000000

?

X=-1000000000000000=-215=-32768

(2)[Y]补=0000000100000001

?

Y=+0000000100000001=+257

(3)[Z]补=1111111010100101

?

X=-000000101011011=-347

(4)[A]补=0000001001010111

?

X=+0000001001010111=+599

9、设有变量……..

X+Y=1B8HY+Z=161H

Y+Z=13BHZ+V=0CCH

(1)不正确不正确不正确正确

(2)正确正确正确溢出

12.试计算下列二进制数为无符号数、原码、反码、补码、8421BCD码时分别代表的数值大小。

若为非8421BCD数时请指出。

(1)10001000B

无符号数:

27+23=136

原码:

-0001000=-8

反码:

-1110111=-119

补码:

-1111000=-120

8421BCD码:

88

2)00101001B

无符号数:

25+23+20=41

原码:

41

反码:

41

补码:

41

8421BCD码:

29

3)11001001B

无符号数:

27+26+23+20=201

原码:

-1001001=-73

反码:

-0110110=-54

补码:

-0110111=-55

8421BCD码:

非8421BCD码

(4)10010011B

无符号数:

27+24+21+20=147

原码:

-0010011=-19

反码:

-1101100=-108

补码:

-1101101=-109

8421BCD码:

93

微机计算机原理课后习题答案《二》

2009-08-1614:

44

第三章80X86微处理器

1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。

答:

(1)BIU的作用:

计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。

(2)EU的作用:

执行指令,并为BIU提供所需的有效地址。

(3)并行工作过程:

当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。

这样就实现了取指和执行指令的并行工作。

2.8086/8088CPU内部有哪些寄存器?

其主要作用是什么?

答:

8086/8088CPU内部共有14个寄存器,可分为4类:

数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。

其主要作用是:

(1)数据寄存器:

一般用来存放数据,但它们各自都有自己的特定用途。

AX,BX,CX,DX

(2)地址寄存器:

一般用来存放段内的偏移地址。

SP,BP,SI,DI

(3)段寄存器:

用于存放段地址.CS,DS,ES,SS

(4)控制寄存器,FLAGS,IP

具体寄存器略。

3.8086/8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址?

答:

可用来指示段内偏移地址的寄存器共有6个:

IP、SP、BP、BX、SI、DI.

4.8086/8088CPU中标志寄存器FLAGS有哪些标志位?

它们的含义和作用如何?

答:

标志寄存器中的标志共有9个,分为两类:

状态标志6个和控制标志3个。

其作用是:

(1)状态标志:

用来反映算术和逻辑运算结果的一些特征。

CF,AF,PF,ZF,SF,ZF

(2)控制标志位:

用来控制CPU的操作,由程序设置或清除。

DF,IF,TF.

具体寄存器位介绍略。

5.8086/8088CPU的地址总线有多少位?

其寻址范围是多少?

答:

8086/8088地址总线有20根,可寻址1MB空间,范围:

00000H~0FFFFFH.

6.什么叫指令队列?

8086/8088CPU中指令队列有什么作用?

其长度分别是多少?

答:

(1)指令队列:

采用“先进先出”原则,按顺序存放预执行指令的缓冲器称为指令队列。

(2)指令队列的作用:

存放EU将要执行的指令,使CPU的取指和执行指令能并行工作。

(3)指令队列的长度:

8086为6个字节,8088为4个字节。

7.Intel8086与8088有何区别?

答:

8086与8088的区别有三处:

(1)外部数据总线位数不同(即地址/数据分时复用引脚条数不同);8086为16位:

AD15~AD0。

8088为8位:

AD7~AD0。

(2)内部指令队列缓冲器长度不同;

8086有6个字节。

当指令队列出现2个空字节时,BIU将取指补充。

8088有4个字节。

当指令队列出现1个空字节时,BIU将取指补充。

(3)外部某些控制总线定义不同。

①8086的28号引脚定义为M/IO(S2),8088定义为IO/M(S2)

②8086的34号引脚定义为BHE/S7,8088定义为SS0/(HIGH)

微机计算机原理课后习题答案《四》

2009-08-1614:

46

第4章作业

1、指出源操作数的寻址方式

⑴MOVBX,2000H;立即数寻址

⑵MOVBX,[2000H];直接寻址

⑶MOVBX,[SI];寄存器间接寻址

⑷MOVBX,[SI+2000H];寄存器相对寻址

⑸MOV[BX+SI],AL;寄存器寻址

⑹ADDAX,[BX+DI+80];基址变址相对寻址

⑺MULBL;寄存器寻址

⑻JMPBX;段内间接寻址

⑻SUBAX,BX;寄存器寻址

⑼INAL,DX;端口间接寻址

⑽INCWORDPTR[BP+10H];寄存器相对寻址

⑾MOVCL,LENGTHVAR;立即数寻址

⑿MOVBL,OFFSETVAR1;立即数寻址

2、指出下列指令是否正确

(1)MOVDS,0100H;错误。

源操作数是立即数时,目的操作数不能是段寄存器

(2)MOVBP,AL;错误。

操作数类型不一致

(3)XCHGAH,AL;正确。

(4)OUT310H,AL;错误。

端口直接寻址的范围应在0~FFH之间

(5)MOVBX,[BX];正确。

(6)MOVES:

[BX+DI],AX;正确。

(7)MOVAX,[SI+DI];错误。

存储器寻址中有效地址不能由两个变址寄存器组成

(8)MOVSS:

[BX+SI+100H],BX;正确。

(9)ANDAX,BL;错误。

操作数类型不一致

(10)MOVDX,DS:

[BP];正确

(11)ADD[SI],20H;错误,目的操作数类型不明确。

(12)MOV30H,AL;错误,目的操作数不能为立即数

(13)PUSH2000H;错误。

堆栈指令的操作数不能是立即数

(14)MOV[SI],[2000H];错误。

两个操作数不能同时为存储器操作数

(15)MOVSI,AL;错误。

操作数类型不一致

(16)ADD[2000H],20H;错误,目的操作数类型不明确

(17)MOVCS,AX;错误,目的操作数不能为代码段寄存器

(18)INC[DI];错误,目的操作数类型不明确

(19)OUTBX,AL;错误。

端口间接寻址的寄存器只能是DX寄存器

(20)SHLBX,3;错误。

移位次数大于1时应该用CL寄存器

(21)XCHGCX,DS;错误。

交换指令中不能出现段寄存器

(22)POPAL;错误。

堆栈指令的操作数只能是字操作数(即16位操作数)

3.写出下列指令中存储器操作数物理地址的计算表达式:

1)MOVAL,[DI](DS)×10H+(DI)

(2)MOVAX,[BX+SI](DS)×10H+(BX)+(SI)

(3)MOV5[BX+DI],AL(DS)×10H+(BX)+(DI)+5

(4)ADDAL,ES:

[BX](ES)×10H+(BX)

5)SUBAX,[1000H](DS)×10H+1000H

(6)ADCAX,[BX+DI+2000H(DS)×10H+(BX)+(DI)+2000H

(7)MOVCX,[BP+SI](SS)×10H+(BP)+(SI)

(8)INCBYTEPTR[DI](DS)×10H+(DI)

4.若(DS)=3000H,(BX)=2000H,(SI)=0100H,

(ES)=4000H,计算下列各指令中存储器操作数的物理地址。

1)MOV[BX],AL

(DS)×10H+(BX)=32000H

(2)ADDAL,[BX+SI+1000H]

(DS)×10H+(BX)+(SI)+1000H=33100H

(3)MOVAL,[BX+SI]

(DS)×10H+(BX)+(SI)=32100H

(4)SUBAL,ES:

[BX]

(ES)×10H+(BX)=42000H

5.若(CS)=E000H,说明代码段可寻址物理存储空间的范围。

代码段物理地址为:

(CS):

(IP)

所以可寻址物理地址范围为:

(CS)×10H+(IP),其中IP的为16位寄存器,取值范围为:

0000H~0FFFFH

所以有寻址范围为:

0E0000H~0EFFFFH

6.设(SP)=2000H,(AX)=3000H,(BX)=5000H,问执行下面程序段后:

PUSHAX

PUSHBX

POPAX

(SP)=1FFEH,(AX)=5000H,(BX)=5000H

7、试比较SUBAL,09H与CMPAL,09H这两条指令的异同。

若(AL)=08H,分别执行上述两条指令后,(AL)=?

,CF=?

,OF=0,ZF=?

(1)相同点:

两条指令都能完成(AL)-09H的功能,并且都影响六个状态标志位;

不同点:

SUB指令将运算结果回送到AL寄存器中,而CMP指令不回送。

(2)①(AL)=FFH,②(AL)=08H,CF=1,OF=0,ZF=0

8、分别执行下列指令,试求AL的内容及各状态标志位的状态。

(1)MOVAL,19H;

ADDAL,61H;(AL)=7AH

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

(2)MOVAL,19H;

SUBAL,61;(AL)=0DCH

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

MOVAL,19H;

SUBAL,61H;(AL)=0B8H

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

(3)MOVAL,5DH;

ADDAL,0C6H;(AL)=23H

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

(4)MOVAL,7EH;

SUBAL,95H;(AL)=0E9H

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

9.选用最少的指令,实现下述要求的功能。

1)AH的高4位清0

ANDAH,0FH

(2)AL的高4位取反

XORAL,0F0H

(3)AL的高4位移到低4位,高4位清0

MOVCL,4

SHRAL,CL

(4)AH的低4位移到高4位,低4位清0

MOVCL,4

SHLAL,CL

11.设初值(AX)=0119H,执行下列程序段后(AX)=?

MOVCH,AH

ADDAL,AH(AX)=011AH

DAA(AX)=0120H压缩型BCD码调整

XCHGAL,CH(AL)=01H

ADCAL,34H(AX)=0135H

DAA(AX)=0135H

MOVAH,AL(AH)=35H

MOVAL,CH(AL)=20H

结果:

(AX)=3520H

12.指出下列程序段的功能

1)

MOVCX,10

CLD

LEASI,First

LEADI,Second

REPMOVSB

功能:

将First开始的10个字节数据复制到Second开始的内存中

2)

CLD

LEADI,[0404H]

MOVCX,0080H

XORAX,AX

REPSTOSW

功能:

将0404H开始的80H个字(100H个字节)的内存填充0

16.已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,

(BX)=0024H,(CX)=5678H,(BP)=0024H,

(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1EAF6H)=091DH,试求单独执行下列指令后的结果。

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

(2)MOV[BP][DI],CX;(1E4F6H)=56F6H

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

MOVAX,2[BX];(AX)=1E40H

(4)LDSSI,[BX][DI];

MOV[SI],BX;((SI))=0024H

(5)XCHGCX,32H[BX]

XCHG20H[BX][SI],AX;(AX)=5678H;(09226H)=1234H

20.设(IP)=3D8FH,(CS)=4050H,(SP)=0F17CH,

当执行:

CALL2000:

0094H

后,试指出(IP)、(CS)、(SP)、((SP))、

((SP)+1)、((SP)+2)和((SP)+3)的内容。

(IP)=0094H

(CS)=2000H

(SP)=0F178H压4个字节进栈,-4H

((SP))=8FH

((SP)+1)=3DH

((SP)+2)=50H

((SP)+3)=40H

微机计算机原理课后习题答案《五》

2009-08-1614:

55

第五章

2.PLENTH=16H,以上3个变量所占的存储器的字节数。

3.L=6

4.假设程序中的数据定义如下:

LNAMEDB1,2,3,‘123’

ADDRESSDB30DUP(?

CTTYDB15DUP(?

CODE_LISTDB1,7,8,3,2

1)用一条MOV指令将LNAME的偏移地址放入BX

(2)用一条指令将CODE_LIST的头两个字节的内容放入SI

(3)写一条伪指令定义符使CODE_LENGTH的值等于CODE_LIST域的实际长度。

答案

(1)MOVBX,OFFSETLNAME

(2)MOVSI,WORDPTRCODE_LIST

(3)CODE_LENGTHEQU$-CODE_LIST

5.对于下面的数据定义,试说明三条MOV指令的执行结果。

TABLEADW10DUP(?

TABLEBDB10DUP(?

TABLECDB‘123’

MOVAX,LENGTHTABLEA;(AX)=10

MOVBL,LENGTHTABLEB;(BL)=10

MOVCL,LENGTHTABLEC;(CL)=1

6.(AX)=1,(AX)=2,(CX)=20,(DX)=40,(CX)=1

11.试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同,则显示“MATCH”,若不相同则显示“NOMATCH”。

DATASEGMENT

STRING1DB'ABCDEFGHIJKLMNO'

STRING2DB'ABCDEFDDDDDD'

MSG1DB'MATCH','$'

MSG2DB'NOMATCH','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,STRING1

LEADI,STRING2

MOVCX,15

CLD

REPECMPSB

JZMATCH;相等

LEADX,MSG2

JMPDISPLAY

MATCH:

LEADX,MSG1

DISPLAY:

MOVAH,09H

INT21H

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

16.数据段中已定义了一个有n个字数据的数组M,试编写程序求出M中绝对值最大的数,把它放在数据段的M+2n单元中,并将该数的偏移地址存放在M+2(n+1)单元中。

DATASEGMENT

nEQU6

MDW-66,33,55,-89,28,311

DW?

DB?

DATAENDS

START:

MOVAX,DATA

MOVDS,AX

LEABX,M

MOVCX,n

MOVSI,0

XORAX,AX

MOV[BX][2*n],AX

NEXT:

MOVAX,[BX][SI]

ORAX,AX

JNSL1

NEGAX

L1:

CMP[BX][2*n],AX

JGL2

MOV[BX][2*n],AX

MOV[BX][2*(n+1)],SI

L2:

INCSI

INCSI

DECCX

JNZNEXT

18.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。

试编制一程序,把既在A中又在B中出现的整数存放于数组C中。

DATASEGMENT

ADW11,-22,33,88,-55,-67,306,39,55,-90

DW28,311,65,887,911

BDW18,25,31,88,-55,-65,188,30,-15,77

DW252,54,102,201,87,-94,-22,-33,911,306

CDW15DUP(0)

DATAENDS

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,A

LEABX,C

NEXT:

LEADI,B

CLD

MOVCX,20

MOVAX,[SI]

REPNESCASW

JNZNOTFOND

MOV[BX],AX

INCBX

INCBX

NOTFOND:

INCSI

INCSI

CMPSI,30

JLNEXT

23.编写程序,将字节变量BVAR中的无符号二进制数(0~FFH)转换为BCD数,在屏幕上显示结果。

DATASEGMENT

BVARDB165

BCDDB3DUP(0);转换后以3位ASCII码保存

DB'$'

DATAENDS

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAL,BVAR

LEABX,BCD

MOVDI,2

MOVCL,10

NEXT:

MOVAH,0

DIVCL

ORAH,30H;余数转换为ASCII码

MOV[BX+DI],AH

DECDI

CMPAL,0

JGNEXT

LEADX,BCD

MOVAH,09H

INT21H;显示结果

第六章

2.64片10片4片,128片11片4片,16片11片4片,2片14片2片

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2