微机原理及应用参考答案.docx

上传人:b****6 文档编号:8417437 上传时间:2023-01-31 格式:DOCX 页数:25 大小:75.08KB
下载 相关 举报
微机原理及应用参考答案.docx_第1页
第1页 / 共25页
微机原理及应用参考答案.docx_第2页
第2页 / 共25页
微机原理及应用参考答案.docx_第3页
第3页 / 共25页
微机原理及应用参考答案.docx_第4页
第4页 / 共25页
微机原理及应用参考答案.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

微机原理及应用参考答案.docx

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

微机原理及应用参考答案.docx

微机原理及应用参考答案

参考答案

第一章计算机中的数制和码制

第二章计算机概述

一、填空题

1.8

2.2

3.1024

4.25.5、11001.1、00100101.0101B

5.1000010B、42H、66H

6.41.625、29.AH

7.10001101B

8.11001001、11001010

9.-128~+127

10.系统软件、应用软件

11.电子管、超大规模集成电路

二、单选题

1.A2.C3.D

4.C5.A6.C

三、分析简答题

1.8086CPU的总线根据其中信息传送的类型可分为几种?

哪几种?

答:

8086CPU的总线根据其中信息传送的类型可分为三种种,

分别是:

数据总线、地址总线和控制总线

2.写出-25的原码、反码、补码,并将补码转换成十六进制数(设机器字长为8位)。

答:

X=-25=-11001B

X原码:

10011001B

X反码:

11100110B

X补码:

11100111B=E7H

3.举例说明什么是机器数,什么是真值?

答:

将符号数值化了的数称为机器数。

女口:

-18=-10010B(真值);机器数为:

10010010B

第三章半导体存贮器

一、填空题

 

三、分析简答题

1.在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?

答:

①全译码方式:

存储器芯片中的每一个存储单元对应一个唯一的地址。

译码需要的器件多;

2部分译码方式:

存储器芯片中的一个存储单元有多个地址。

译码简单;

3线选:

存储器芯片中的一个存储单元有多个地址。

地址有可能不连续。

不需要译码。

四、硬件接口设计题

1.答:

(2)存储器类型为RAM总容量为4KX8

地址范围:

0#2000H-27FFH

1#2800H-2FFFH

2.答:

(9分)

(1)存储器类型:

RAM

该系统的存储器容量为:

6KX8位(或:

6K字节)

(2)1#芯片的地址范围:

1000H~17FFH

2#芯片的地址范围:

0800H~0FFFH

3#芯片的地址范围:

0000H~07FFH

3.1)1KX4

2)2KX8或2KB

3)地址分配范围

第一组:

A19~A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

最小地址

0~0

0

0

0

0

0

0

0

0

0

0

00000H~

最大地址

0~0

1

1

1

1

1

1

1

1

1

1

003FFH

第二组:

0~1

0

0

0

0

0

0

0

0

0

0

00400H~

0~1

1

1

1

1

1

1

1

1

1

1

007FFH

第四章微型计算机及微处理器的结构和组成

一、填空题

1.BIU、EU、指令的译码和指令执行

2.4、16、16、6、20

3.8、16

4.1、2

二、单选题

1.B2.B

三、分析简答题

1.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:

执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。

AX、BX、CX、

DX一般作为通用数据寄存器。

SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器

或变址寄存器。

总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。

段寄存器

存放段地址,与偏移地址共同形成存储器的物理地址。

IP的内容为下一条将要执行指令的偏移

地址,与CS共同形成下一条指令的物理地址。

2.8086/8088CPU内部包含有哪6个专用寄存器?

它们的主要功能是什么?

答:

有CSDSES、SSIP、PSW

CS(代码段寄存器)

:

用来存放当前代码段的基地址。

DS(数据段寄存器)

:

用来存放供程序使用的数据的一段存储区的基地址。

ES(附加段寄存器)

:

附加的数据段的基地址,

SS(堆栈段寄存器)

:

堆栈段的基地址。

IP:

16位寄存器。

指示代码段存储区域中下一条指令的段内偏移量。

PSW标志寄存器,用来指示微处理器的状态并控制其操作。

3.8086CPU状态标志位有哪些?

说明其符号、名称和含义

答:

(SF):

符号标志位,本次运算结果的最高位为1时,SF=1,否则SF=0

 

4.执行下面两个数相加:

1010001101001101+0011001000011001

1101010101100110

分析其结果对下列标志位有何影响:

(6分)

(AF)=1

(OF)=0

(SF)=1(ZF)=0

(PF)=1(CF)=0

第五章8086/8088CPU的引脚功能、系统组成及时序

一、填空题

1.16、20、分时复用

2.锁存地址

3.系统中只有一个处理器,CPU提供全部的控制信号;高电平

4.FFFF0H

5.逻辑地址、物理地址

6.物理地址

7.段基址、偏移地址、12345H

8.段寄存器、20

9.0000H:

0400H;0020H:

0200H

10.1M

11.高8位、低8位

、单选题

1.

B

2.

B

3.

B

4.

A

5.

B

6.

C

7.

D

8.

B

9.

A

10.

C

11.

D

12.

A

13.

B

14.

B

15.

C

三、分析简答题

1.8086对存储器的管理为什么采用分段的办法?

最大段和最小段的存储空间分别是多大?

20位的物理地址是如何形成的?

答:

8086CPU是一个16位的结构,内部寄存器及数据总线均为16位,16位地址只能寻址64KB空间。

无法送出外部所需的20位物理地址。

因此采用分段管理办法,来形成超过16位的存储

器物理地址,扩大对存储器的寻址范围(1MB,20位地址)。

最大段:

64KB最小段:

16B

当CPU访问内存时,段寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏

移量相加,形成20位的物理地址。

2.简述8086CPU最小工作方式含义。

答:

8086CPU的最小工作方式是指:

系统中只有一个微处理器,即8086CPU,该方式构成的为

单机系统,系统中所需要的控制信号全部由CPU提供,实现和存储器及I/O接口电路的连接,

无需总线控制器8288的参与。

3.说明逻辑地址和物理地址的含义,两者之间有何关系?

已知逻辑地址3000H:

2345H,写出

段地址、物理地址、偏移地址。

答:

逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成。

偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。

物理地址是8086芯片引线送出的20位实际的地址码,用来指出一个特定的存储单元。

物理地址=段基址*10H+偏移地址

段地址3000H、偏移地址2345H、物理地址3000H*10H+2345H=32345H

4.计算题:

某微机系统中内存的首地址为3400H,末地址为67FFH,求其内存容量并以K表示。

答:

内存容量=末地址—首地址+1=67FFH—3400H+1=3400H(字节)=13KB

5.8086/8088为什么采用地址/数据引线复用技术?

答:

考虑到芯片成本,8086/8088采用40条引线的封装结构。

40条引线引出8086/8088的所有

信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据

信号不会同时出现,二者可以分时复用同一组引线。

第六章8086/8088CPU寻址方式及指令系统

一、填空题

1.操作码、操作数

2.00FEH、1000H

3.最咼地址端

4.0FF2H、0056H

5.0214H、24514H、0306H、24306H

6.1、2000H

7.1

8.0FFH、00H

9.DX

二、单选题

1.

A

2.

C

3.

4._

A

5.

C

6.

B

7.

A

8.

B

9.

D

10.

A

11.

B

12.

D

13.

B

14.

C

15.

C

16.

C

17.

D

18.

C

19.

B

三、分析简答题

1.写出至少3种指令,使AX寄存器置零

MOVAX,00SUBAX,AXXORAX,AXANDAX,00H

2.用单条指令或程序片段,实现下述功能

名师整理___進秀资源—

⑴XORAX,OFFOOHORAX,000FH

(2)MOVCL,4RORAL,CL(或ROLAL,CL)

(3)XCHGAX,BX

3.堆栈存储区由哪两个寄存器管理?

简述数据压栈和弹栈的过程。

答:

堆栈存储区由两个寄存器管理:

堆栈指针(SP和堆栈段寄存器(SS)。

当一个字数据被压入堆栈时,SP首先减2,然后对栈顶存储单元进行16位字的写操作;其高8位数据被放在SP-1

单元中,低8位数据被放在SP-2单元中。

当数据从堆栈中弹出时,低8位从SP单元移出,高

8位从SP+1单元移出,然后SP+2。

4.举例说明与数据有关的寻址方式有哪些?

答:

立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、

相对基址加变址寻址;例子略。

5.输入输出的寻址方式有哪几种?

举例说明

答:

有两种:

直接端口寻址,如INAL,05H;

间接端口寻址,如MOVDX,05HINAL,DX

6.答:

MOV旨令是将源操作数即内存单元的内容传送到目的操作寄存器中;而LEA为取偏移

量指令,它是将源操作数所在内存单元的偏移地址取出送目的寄存器;

MOVAX,TABLE;AX=3412H

LEAAX,TABLE;AX=0020H

7.分别指出下列指令中的源操作数的寻址方式。

(1)直接寻址

(2)立即寻址

(3)寄存器寻址

(4)基址加变址

(5)相对基址加变址寻址

(6)寄存器相对寻址

(7)寄存器间接寻址

(8)段内间接寻址

名师整理___進秀资源—

(9)直接端口寻址

(10)间接端口寻址

8.指出下列指令的错误

(1)源、目的操作数长度不匹配

(2)立即数不能做目的操作数

(3)CS不能做目的操作数

(4)SI、DI不能同时出现在一个[]中

(5)源、目的操作数长度不匹配

(6)源、目的操作数不能均为存储器操作数

(7)立即数不能直接送至段寄存器

(8)IN指令中目的操作数不能用BL(只能用AL或AX)

(9)IP不能做目的操作数

(10)DX不能间接寻址,可改为MOVSI,[BX]

(11)PUSH旨令的操作数必须为16位(即:

按字操作)

9.设8086/8088CPU的SS=1050H,SP=0008H,AX=1234H,当执行指令:

PUSHAX后,寄

存器SS、SP、AX内容分别是什么?

画图说明1234H在内存中的存放情况。

SS=1050HSP=0006HAX=1234H

(10506H)=34H(10507H)=12H

10.假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,

(232F7H)=3280H,(264E5H)=2450H,则;

(1)IP=1256H

(2)IP=3280H

(3)IP=2450H

11.

已知8086CPU各寄存器和有关内存单元内容如下:

指出执行下列指令后AX寄存器的内容:

第七章汇编语言程序设计

一、填空题

1.‘d'

2.第一个AND是逻辑指令,第二个AND是逻辑与操作符

3.OFFFFH

4.03H

5.同一代码段内、不同代码段

二、单选题

1.A2.A3.D4.B5.A

三、分析简答题

1.汇编语言中的伪指令与执行指令有何不同?

答:

伪指令的功能主要用于完成变量定义、段定义等,变量名称后不能带‘:

’,它仅仅在汇编

过程中告诉汇编程序应如何汇编,而不生成机器代码,即由汇编程序进行处理;执行指令可以

完成数据传送、各种运算、字符串处理、程序控制等功能,标号后要跟‘:

’,这种指令由汇编

程序翻译成对应的机器代码,最终由CPU执行处理。

2.试举例说明一条汇编语句可以有哪几部分组成?

各部分之间采用何种分隔符(定界符)相

隔离?

答:

略。

3.指岀下面程序片段中的错误。

MYDATASEGMENT

ADB122434错误1:

多个操作数之间必须用“,”分开

B亠DW'12'错误2:

变量后面不能带冒号“:

MYDATAENDS

MYCODESEGMENT

ASSUMEDS:

MYDATACS:

MYCODE

MYDATA错误3:

立即数不能直接送进段寄存器

MOVAH

MOVAL

A

B

MOV

CX

A

MOVAX

B

MOVDS

MOVIP,B

错误4:

源、目的操作数字长不一致

错误5:

源、目的操作数字长不一致

错误6:

MOV指令中IP不能做操作数

4.改正下面程序片段中的错误或指出错误原因。

DATASEGMENT

ADB12、24、34错误1:

多个操作数之间用“,”分开

BDW'12','ABCD错误2:

'ABCD改为’AB,'CD

DATAENDS

CODESEGMENT

ASSUMEDSDATACS:

CODE

MOVDS,DATA

MOVDX_,OFFSETA

MOVAL,[DX+2]

MOVBL,CX

5.指出下面程序片段中的错误。

A1:

DB?

错误3:

立即数不能直接送进段寄存器

错误4:

DX不能用于间接寻址,可改为BX

错误5:

DX不能用于间接寻址,可改为BX

错误6:

源、目的操作数字长不一致

错误1:

变量后面不能带冒号

A2DW10

K1EQU1024

MOVAX,80

MOVK1,AX

错误2:

K1为立即数,不能做目的操作数

MOVAl,A2

错误3:

源、目的操作数字长不一致

MOVBX,A1

错误4:

源、目的操作数字长不一致

MOVA1.K1

错误5:

A1为字节变量,K1超出的范围

6.假设某程序段中的数据定义如下:

 

DA1

XX

XX

01

00

01

00

DA2

32

25

DA3

(2)变量DA1、DA2、DA3占用字节数分别为:

6、2、1;

C0UNT=9表示数据段的长度为9个字节

7.假设某程序段中的数据定义如下:

A1占24个字节

A2占5个字节

A3占4个字节

L的值为33

L表示的意义:

变量A1、A2、A3所占的字节总数

8.对下面两个数据段,请分析偏移地址为10H和11H的两个字节中的数据是一样的吗?

为什

么?

答:

不一样.分别是72H,04H和04H,72H.

因为字存储时低8位存放在低字节,高8位存在高字节。

9.若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEABXSTR:

取STR的偏移量放到BX中

MOVCX,20:

设置循环次数

名师整理优秀资源

LP:

CMP[BX],‘*'

JNZNEXT

;BX所指单元内容不为‘*',则转移至NEXT

MOV[BX],‘$'

;将BX所指单元用‘$'替代

NEXTINCBX

;BX加1,指向下一个单兀

LOOPLP

;CX-1不等于0则转移至LP处,继续循环

HLT

程序的功能:

将STR开始的前

20个字符中的‘*'用‘$'替代

填入适当指令或指令的一部分,元成指疋功能。

MAX:

MOVBX,

2000H

M0VAL,

[BX]

M0VCX,

63H(或99)

LOOP1INCBX

CMPAL,

[BX]

JAELOOP2

MOVAL,

[BX]

LOOP2DECCX

JNZLOOP1

M0V[2100H],AL

指出下列程序的功能,并将有分号

(;)的语句加上简要注解

BUFDB100DUP⑺

MOVBXOFFSETBUF;

取BUF的偏移地址,设置地址指针BX

MOVCL64H

LP:

MOVBYTEPTR[BX],0;

将BX所指向的内存单元清0

INCBX;

BX内容加1,指向下一个内存单元

DECCL;

CL内容减1

JNZLP;

若计数器CL的内容不为0则转向LP继续循环

10.

11.

程序的功能:

将BUF单元开始的100个字节的存储单元全部清0

14.

12.分析填空

MOVBL,09H

;执行后BL=

09H

MOVAL,05H

;执行后AL=

05H

ADDAL,BL

;执行后AL=

0EH

DAA

;执行后AL=

14H

BL=

09H

分析填空

MOVAX,00H

;执行后

AX=00H

PUSHAX

;执行后

AX=00H

POPBX

;执行后

BX=00H

MOVAX3F5FH

;执行后

AL=5FH

MOVCX4

RORAL,CL

;执行后

AL=0F5H

ANDAL,0FH

;执行后

AL=05H

13.

分析填空

假设(BL)=0E3H,变量

VALUE中存放的内容79H,确定下列各条指令单独执行后的结果。

(1)BL=9AH

(2)BL=FBH

(3)BL=1CH

(4)BL=00H

(5)BL=C6H15•阅读程序回答问题

(1)该程序的功能是计算BLOCK数据元素中奇数的个数,并存入RESUL冲

(2)程序执行后,RESULT^元的内容是5(奇数的个数)。

(3)第3行汇编后COUNT=10(BLOCK数组元素的个数。

(4)*处的完整指令应是MOVAX,DATA。

处的完整指令应是MOVSI,OFFSETBLOCK,该指令也可以用LEASI,BOLCK

指令代替

四、程序设计题

1.内存中有X、Y两个数:

X=32,Y=-78利用汇编语言编写完整的程序,计算这两个数之和,

并将结果存入内存S,即:

S=X+Y

参考程序:

DATASEGMENT

XDB32

YDB-78

SDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODEDS:

DATA

STARTMOVAXDATA

MOVDS,AX

MOVALX

ADDAL,Y

MOVSAL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2.编程检测从外设端口71H输入的字节数据,若该数据W20,则向73H端口送0H;若该数

据>20,则向73H端口送0FFH。

请写出完整的汇编源程序。

参考程序如下所示:

ASSUMECS

:

CODE

名师整理___進秀资源—

START:

INAL,71H

CMPAL,20

JNGK1

MOVAL,OFFH

JMPK2

K1:

MOVAL00H

K2:

OUT73HAL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3.编程检测80H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。

写出完整的汇编源程序。

参考程序如下所示:

CODESEGMENT

ASSUMECS

:

CODE

START:

INAL,

80H

TESTAL

,80H

JZAPOS

MOVBL

,0FFH

JMPEXIT

APOS:

MOVBL00H

EXIT:

MOVAH4CH

INT21H

ENDSTART

名师整理___進秀资源—

4.内存中有X、Y两个数组:

X=32、-43、76,Y=-78、127、-128利用汇编语言编写完整的程

序,计算这两个数组之和,即S(i)=X(i)+Y(i)

参考程序:

DATASEGMENT

XDB32,-43,76

YDB-78,127,-128

SDB3DUP(0)

DATAENDS

CODESEGMENT

ASSUMECS:

CODEDS:

DATA

STARTMOVAXDATA

MOVDS,AX

MOVBX,00H

MOVCX,

3

AGAINMOVAL

X[BX]

ADDAL,

Y[BX]

MOVS[BX]

,AL

INCBX

LOOPAGAIN

MOVAH,

4CH

INT21H

CODEENDS

ENDSTART

5.在BLOCK始有一个字节型数组,共有15个元素,利用汇编语言编写完整的程序,计算这

个数组中奇数的个数,并将结果存入内存SUM单元。

DATASEGMENT

BLOCKDB15DUP(?

SUMDB00

DATAENDS

CODESEGMENT

START:

MOVAXDATA

MOVDS,AX

MOVCX,15

CON:

MOVAL,[SI]

TESTAL,01H

JZNEXT

INCSUM

NEXT:

INCSI

LOOPCON

MOVAH4CH

INT21H

CODEENDS

ENDSTART

6.在BUF开始有一个字节型数组,共有50个元素,利用汇编语言编写完整的程序,将该数组全部元素清零。

DATASEGMENT

BUFDB50DUP(?

DATAENDS

ASSUMECS:

CODEDS:

DATA

START:

MOVAX,DATA

MOV

DS

AX

MOV

SI

OFFSETBUF

MOV

CX

50

CON

:

MOV

[SI]

,OOH

INCSI

LOOPCON

MOVAH4CH

INT21H

CODEENDS

ENDSTART

7.在BUF开始有一个字节型数组,共有100个元素,利用汇编语言编写完整的程序,

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

当前位置:首页 > 经管营销 > 经济市场

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

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