微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx

上传人:b****4 文档编号:12106979 上传时间:2023-04-17 格式:DOCX 页数:72 大小:30.24KB
下载 相关 举报
微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx_第1页
第1页 / 共72页
微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx_第2页
第2页 / 共72页
微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx_第3页
第3页 / 共72页
微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx_第4页
第4页 / 共72页
微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx

《微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx》由会员分享,可在线阅读,更多相关《微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx(72页珍藏版)》请在冰豆网上搜索。

微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章.docx

微计算机原理第二版潘明莲马争丁庆生著电子工业出版社习题答案16章

 

习题答案

1-1解释和区别下列名词术语。

(1).微处理器μP,微计算机μC,微处理器系统μPS。

(5).位、字节、字和双字。

(7).RAM和ROM

(8).I/O接口和I/O设备。

(9).芯片总线、片总线、内总线和外总线。

答:

(1).把CPU的复杂电路,包括运算器和控制器作在一片或几片大规模集成电路的半

导体芯片上,这种集成电路叫微处理器μP。

微处理器为核心,配上RAM、ROM,I/O接口及有关辅助电路组成的微型化的主计算机

装置称为微计算机μC。

微处理器为核心构成的专用系统称为微处理器系统μPS。

(5)一个二进制的位称作位、8个相邻二进制位称作字节、2个字节称作字,2个字(4个

字节)称作双字。

(7)能进行随即读写操作的存储器称作RAM。

只读存储器叫ROM。

(8)输入/输出接口电路称作I/O接口,通过I/O接口接入的外部设备如监视器,键盘、鼠

标称作I/O设备。

(9)位于CPU芯片内部,用来实现CPU内部各功能单元电路之间的相互连接和信号的传

递的总线叫芯片总线。

片总线是微计算机主板或单板微计算机上以CPU芯片为核心,芯片与芯片间连接的总线。

内总线指微计算机系统中实现插件板之间的连接的总线。

如IBMPC的PC总线,PC-

XT总线,PCI、ISA总线等等。

外总线用于系统之间的连接,完成系统与系统之间通信的总线。

如RS-232,IEE488、

USB等等。

1-6将下列十进制数转换为二进制数、十六进制数和BCD数

(1)124.625

(6)268.875

解:

(1)124=01111100B=7CH,0.625×16=10,所以0.625=0.AH=0.1010B

∴124.625=7C.AH=01111100.1010B=000100100100.011000100101BCD

(2)268=256+12=100001100B=10CH,0.875×16=14,∴0.875=0.EH=0.1110B.

∴268.875=10C.EH=100001100.111B=001001101000.100001110101BCD

1-7用16位二进制数表示出下列十进制数的原码、反码和补码。

(1)+128

(4)-5

解:

(1)+128的原码和补码反码均为0000000100000000B

(4)-5的原码为

1111111111111011B。

1000000000000101B,反码为

1111111111111010B,补码为

1-9写出系列字母、符号的ASCII码

(1)B

(2)H(3)SP(空格)(4)5(5)$(6)CR(回车符)(7)LF(换行)

解:

(1)42H、

(2)48H、(3)20H、(4)35H、(5)24H、(6)0DH、(7)0AH

1-10试绘出以下十六进制数在内存中存放的示意图。

设存放地址均为00H。

 

1

 

解:

(1)F7H

 

(2)03BAH

 

(3)C804326BH(4)1122334455667788H

 

地址内容

 

地址内容

 

地址内容

 

地址内容

00H

F7H

00HBAH

01H03H

00H

01H

02H

03H

6BH

32H

04H

C8H

00H

01H

02H

03H

04H

05H

06H

07H

88H

77H

66H

55H

44H

33H

22H

11H

 

2-1请将左边的术语和右边的含义联系起来,在括号中填入你选择的代号字母:

1.字长

2.字节

3.指令

(i)a.指由8个二进制位组成的通用基本单元。

(a)b.是CPU执行指令的时间刻度。

(h)c.μPS所能访问的存储单元数,与CPU地址总线条数有关。

4.基本指令执行周期(g)d.唯一能代表存储空间每个字节单元的地址,用5位十六进

制数表示。

5.指令执行时间(j)e.CPU访问1次存储器或I/O操作所花的时间。

6.时钟周期

7.总线周期

8.Cache

9.虚拟存储器

10.访存空间

11.实际地址

12.逻辑地址

(b)f.由段基址和偏移地址两部分组成,均用4位十六进制数表

示。

(e)g..指寄存器加法指令执行所花时间。

(k)h.完成操作的命令。

(l)i.指μP在交换,加工,存放信息时信息的基本长度。

(c)j.各条指令执行所花的时间不同,不同指令,该值不一。

(d)k.为缓解CPU与主存储器间交换数据的速度瓶颈而建立的高

速存储器。

(f)l.CPU执行程序时看到的一个速度接近内存却具有外存容量

的假想存储器。

2-2下面列出计算机中常用的一些单位,试指出其用途和含义。

(1)MIPS

(2)KB(3)MB(4)GB(5)TB

解:

(1)MIPS用来表示计算机运行的速度。

1MIPS=1百万条指令/秒。

(2)KB用来表示计算机访存空间大小。

1KB=1024(210)B(字节)

(3)MB用来表示计算机访存空间大小。

1MB=1048576(220)B(字节)

(4)GB用来表示计算机访存空间大小。

1GB=1024M(230)B(字节)

(5)TB用来表示计算机访存空间大小。

1TB=1024G(240)B(字节)

 

2

 

2-4试将左边的标志和右边的功能联系起来。

要求:

(1)在括号中填入右边功能的代号;

(2)填写其类型(属状态标志者填S:

属控制标志者填C)。

(3)写出各标志为0时表示的状态。

为0时表示的状态

1.SF(b)a.陷阱标志

S

带符号数为正数

2.CF(d

3.AF(h

4.DF(i

)b.符号标志

)C.溢出标志

)d.进位标志

S

S

C

结果最高位无进位(借位)

低4位无进位(借位)

串操作步进方向为地址递增

5.TF(a)e.零标志

C

8086正常执行程序

6.OF(c

)f.奇偶标志

S

带符号数运算未产生溢出

7.PF(f)g.中断标志

8.IF(g)h.辅助进位标志

9.ZF(e)i.方向标志

S

C

S

运算结构由奇数个1

CPU关闭中断

运算结果不为0

2-6试画出8086/8088的寄存器结构,并说出它们的主要用途。

解:

AX、BX、CX、DX用作数据寄存器,用作存放操作数、中间结果。

SP堆栈指针、BP基址指针、SI源变趾、DI目的变趾。

IP指令指针,FH控制标志、FL状态标志。

CS存储代码段首趾、DS存储数据段首趾、SS存储堆栈段首趾、ES附加数据段首趾。

 

AH

AL

AX

BH

CH

DH

 

FH

 

SP

BP

SI

DI

 

IP

 

CS

DS

SS

ES

BL

CL

DL

 

FL

BX

CX

DX

2-8若一个程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,试问该程序段启动执

行指令的实际地址是什么?

解:

启动执行指令的实际地址PA=97F0H×10H+1B40H=99A40H

3

 

2-9若堆栈段寄存器(SS)=3A50H,堆栈指针(SP)=1500H,试问这时堆栈顶的实际

地址是什么?

解:

栈顶的实际地址=(SS)×10H+(SP)=3A50H×10H+1500H=3BA00H

2-11将8086下列工作方式的特点填于表中。

解:

特点

处理器个数总线控制信号的产生

方式

最小方式

最大方式

MN/MX

接+5V

接地

1个

可达3个

全部由8086产生

总线控制器8288产生

2-13有一32位的地址指针67ABH:

2D34H存放在00230开始的存储器中,试画出它们

的存放示意图。

解:

示意图如下

地址内容类型

0023034H偏移量

002312DH

00232ABH段基址

0023367H

2-21列表填写8086/8088的存储器和I/O的保留空间及其用途:

解:

8086/8088

保留空间

用途

存储器00000H~0007FH

FFFF0H~FFFFFH

I/OF8H~FFH

中断向量表

系统复位启动

Intel保留使用

3-1指令由操作码字段和操作数字段组成。

8086的指令长度在1~6个字节范围。

3-2分别指出下列指令中源操作数和目的操作数的寻址方式。

若是存储器寻址,试用表达

式表示出EA=?

PA=?

(1)MOVSI,2100H(4)ADCAX,[BX][SI](7)MOVAX,ES:

[BX]

(1)源操作数是立即数寻址,目的操作数是寄存器寻址。

(4)源操作数是基址变趾寻址,EA=(BX)+(SI),PA=16×(DS)+(BX)+(SI),

目的操作数是寄存器寻址。

(7)源操作数是寄存器间接寻址,其中EA=(BX),PA=16×(ES)+(BX),

目的操作数是寄存器寻址。

3-3已知8086中一些寄存器的内容和一些存储单元的内容如图3-20所示,试指出下列

指令执行后,AX中的内容(即(AX)=?

)。

(1)MOVAX,2010H

(2)MOVAX,BX

(3)MOVAX,[1200H]

(4)MOVAX,[BX]

(5)MOVAX,1100H[BX]

(6)MOVAX,[BX][SI]

(7)MOVAX,1100H[BX+SI]

4

 

(8)LEAAX,[SI]

 

CPU

BX0100H

SI

 

30100H

 

M

12H

DS

0002H

3000H

30101H

30102H

30103H

31200H

31201H

31202H

312-3H

34H

56H

78H

2AH

4CH

B7H

65H

 

解:

(1)(AX)=2010H

(2)(AX)=0100H(3)(AX)=4C2AH(4)(AX)=3412H

(5)(AX)=4C2AH(6)(AX)=7856H(7)(AX)=65B7H(8)(AX)=0002H

3-4

已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH,(PORT+1)

=45H,

执行下列指令后,指出结果等于?

解:

(1)OUTDX,AL;端口(DX)=40H

(2)OUTDX,AX;端口(DX)=40H,(DX+1)=20H

(3)INAL,PORT;(AL)=1FH

(4)INAX,80H;(AX)=451FH

(5)OUTPORT1,AL;端口(PORT1)=40H

(6)OUTPORT1,AX;端口(PORT1)=40H

端口(PORT1+1)=20H

3-5已知:

(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213H,试

画出下列指令执行到位置1和位置2时堆栈区和SP指针内容的变化示意图。

图中应标出存

储单元的实际地址PA。

PUSHAX

PUSHCX;位置1

POPF;位置2

 

位置1栈顶

SS0A2F0H

SP

00BCH

0A2FBCH

0A2FBEH

13H

31H

F2H

8BH

位置2栈顶

 

SP

 

0A2F0H

0A2FC0H

SS00BEH

 

5

 

3-7已知存储器数据段中的数据如图3-21所示。

阅读下列两个程序段后,回答:

1.每

个程序段的运行结果是什么?

2.两个程序段各占多少字节的内存,执行时间是多少?

解:

(1)LEA

SI,NUM1;4-2T+6T

NUM1

M

48H

DS

MOVAX,[SI];2-10T

ADDAX,4[SI];3-9T+9T

MOV8[SI],AX;3-10T

ADDSI,2;3-4T

MOVAX,[SI];2-10T

41H

16H

28H

ADCAX,4[SI];3-9T+9T

MOV8[SI],AX;3-10T

总计23个字节,84个时钟周期运行结果如图中SUM所示。

(2)

MOVAX,NUM1;3-10T

ADDAX,NUM2;4-9T=6T

MOVSUM,AX;3-10T

MOVAX,NUM1+2;3-10T

ADCAX,NUM2+2;4-9T+6T

MOVSUM+2,AX;3-10T

总计20个字节,70个时钟周期。

可见

1.两个程序运行结果相同。

NUM2

 

SUM

58H

22H

52H

84H

A0H

63H

68H

ACH

2.第二个程序占20个字节,比前者少3个字节,运行时间比前者少14个时钟周期。

3-11已知数据如图3-21所示,低位在前,按下列要求编写程序段:

1.NUM1和NUM2两个字数据相乘(均为无符号数),乘积放在SUM开始的单元。

解:

MOVAX,NUM1

MULWORDPTRNUM2

MOVSUM,AX

MOVSUM+2,DX

2.NUM1和NUM2两个字数据相乘(均为带符号数),乘积放在SUM开始的单元。

解:

MOVAX,NUM1

IMULWORDPTRNUM2

MOVSUM,AX

MOVSUM+2,DX

3.NUM1单元的字节数据除以13(均为无符号数),商和余数依次放入SUM开始的两个字

单元。

解:

MOVAL,NUM1

MOVAH,0

MOVCL,13

DIV

CL

MOVSUM,AX

 

6

 

4.NUM1字单元的字数据除以NUM2字单元的字,商和余数依次放入SUM开始的两个字

单元。

MOVAX,NUM1

MOVDX,0

MOVCX,NUM2

DIV

CX

MOVSUM,AX

MOVSUM+2,DX

3-13已知(AL)=0C4H,DATA单元中内容为5AH,写出下列每条指令单独执行后的结

果。

1ANDAL,DATA;(AL)=40H

2ORAL,DATA;(AL)=0DEH

3XORAL,DATA;(AL)=9EH

4NOTDATA;(DATA)=0A5H

5ANDAL,0FH;(AL)=04H

6ORAL,01H;(AL)=0C5H

7XORAL,0FFH;(AL)=3BH

8TESTAL,80H;(AL)=0C4H

所有指令执行后都对标志寄存器有影响。

3-19写出下面指令序列完成的数学计算是什么?

解:

MOVCL,3;(CL)←3

SHL

SHL

SHL

SHL

AX,CL;(AX)←(AX)×8

BL,CL;(BL)←(BL)×8

CX,CL;(CX)←(CX)×8,此时(CL)=18H

DH,CL;DH算术左移24位后(DH)=0,CF=0

 

3-20写出能替代下列重复操作指令完成同样功能的的指令序列

1.REPMOVSW2.REPCMPSB

3.REPSCASB4.REPLODSW

解:

1AGAIN:

MOVSW

DECCX

3AGAIN:

SCASB

DECCX

JNZ

AGAINN

JNZAGAIN

2AGAIN:

CMPSB

DECCX

JNZAGAIN

4AGAIN:

LODSW

DECCX

JNZAGAIN

3-23下面两条短转移指令的转移地址ADDR1和ADDR2分别是多少(用十六进制表示)?

1.0220EB0AJMPADDR1

2.0230EBF7JMPADDR2

解:

JMPADDR1的下一条指令的地址偏移为0222H,0222H+0AH=022CH。

 

7

 

∴ADDR1地址偏移量为022CH。

JMPADDR2下一条指令的地址偏移量为0232H,0232H+0FFF7H=0229H。

∴ADDR2地址偏移量为0229H。

3-27试编写一个程序段,能完成下列数学表达式的功能。

-1(X≤-1)

X=0

(-1

1(X≥1)

解:

设带符号数(WORD)在AX中,程序段如下

GETX:

TESTAX,AX

JNS

TZERO

MOVAX,0FFFFH

JMP

TEND

TZERO:

JZTEND

MOVAX,1

TEND:

RET

3-288086的中断机构中共允许256级中断,其专用中断有5个,分别为类型

0中断(除数为0的中断)、类型1中断(单步中断)、类型2中断(非屏蔽中断

NMI)、类型3中断(断点中断)和类型4中断(溢出中断)。

3-30用DOS功能调用编写一个程序,能将3-17题中的结果在屏幕上显示出来。

解:

MOVCL,4

MOVAL,87H

MOVBL,AL

SHRBL,CL

ANDAL,0FH

ORAL,30H

MOVDL,AL

MOVAH,2

INT21H

ANDBL,0FH

ORBL,30H

MOVDL,BL

INT21H

4-2计算下列表达式的值(设A1=50,B1=20,G1=2)

解:

1.A1*100+B1=50*100+20=5020

2.A1MODG1+B1=50MOD2+20=20

3.(A1+2)*B1-2=(50+2)*20-2=1038

4.B1/3MOD5=20/3MOD5=1

5.(A1+3)*(B1MODG1)=(50+3)*(20MOD2)=0

6.A1GEG1=50GE2=11111111B

7.B1AND7=20AND7=4

 

8

 

8.B1SHL2+G1SHR1=20SHL2+2SHR1=81

4-3已知数据段定义如下,设该段从03000H开始:

DSEG

SEGMENT

ARRAY1DB2DUP(0,1,?

ARRAY2DW100DUP(?

FHZ

EQU20H

ARRAY3DB10DUP(0,1,4DUP

(2),5)

DSEG

ENDS

试用分析算符OFFSET,LENGTH,SIZE,SEG,TYPE求出ARRAY1,ARRAY2,ARRAY3的

段、偏移量和类型,以及它们的LENGTH和SIZE。

解:

求段:

SEGARRAY1=0300H

SEGARRAY2=0300H

SEGARRAY3=0300H

求偏移量:

OFFSET

OFFSET

OFFSET

求类型:

ARRAY1=0000H

ARRAY2=0006H

ARRAY3=00EEH

TYPEARRAY1=1

TYPEARRAY2=2

TYPEARRAY3=1

求LENGTH:

LENGTHARRAY1=6

LENGTHARRAY2=100

LENGTHARRAY3=70

求SIZE:

SIZEARRAY1=6

SIZEARRAY2=200

SIZEARRAY3=70

 

4-7下述程序段执行后,寄存器CX,SI的内容是多少?

ARRYDW20DUP(5)

XOR

AX,AX

MOVCX,LENGTHARRY

MOVSI,SIZEARRY-TYPEARRY

解:

(CX)=20

(SI)=40-2=38

4-8试定义一个结构,它应包括一个学生的下列信息:

姓名、学号及三门课程的成绩。

后给出3条结构预置语句,将3个学生的情况送入3个结构变量中。

解:

DATA

SEGMENT

 

9

 

STUDENTSTRUC

NAME

NO

ENG

MAT

PHY

DB4DUP(?

DB?

DB?

DB?

DB?

STUDENTENDS

S1

S2

S3

STUDENT<‘ZHAN’,20H,78H,95H,80H>

STUDENT<‘WANG’,21H,88H,91H,90H>

STUDENT<‘LILI’,22H,79H,75H,70H>

DATAENDS

4-9试定义一条宏指令,它可以实现任一数据块的传送(假设无地址重叠),源地址、目

的地址和块长度作为参数处理。

MOVDATAMACRO

MOV

CLD

TEST

JZ

STD

SN,DN,CN,PN

AL,PN

 

AL,#80H

CONT

CONT:

MOV

MOV

MOV

SI,OFFSETSN

DI,OFFSETDN

CX,CN

REP

ENDM

MOVSDN,SN

4-10设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误,并改正之。

(1)ADDVAR1,VAR2

(2)SUBAL,VAR1

(3)JMPLAB[SI]

(4)JNZVAR1

解:

(5)JMPNEARLAB(6)MOVAL,VAR2

(1)MOVAX,VAR1

(2)MOVAH,0

(3)JMPOFFSETLAB[SI]

ADDAX,VAR2

SUB

AX,VAR1

(4)MOVSI,VAR1(5)JMP

JNZTARGET

……

TARGET:

JMP[SI]

NEARPTRLAB(6)MOVAX,VAR2

4-11已知数据定义如下,问L1和L2等于多少?

B1DB1,2,3,’123’

B2DB0

L1EQU

$-B1

L2EQUB2-B1

解:

$=7,∴$-B1=7-0=7

即L1等于7

L2=B2的偏移地址6-B1的偏移地址0=6

 

10

 

4-15用查表法将存

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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