微机原理课后参考解答.docx

上传人:b****3 文档编号:7051357 上传时间:2023-05-11 格式:DOCX 页数:20 大小:103.55KB
下载 相关 举报
微机原理课后参考解答.docx_第1页
第1页 / 共20页
微机原理课后参考解答.docx_第2页
第2页 / 共20页
微机原理课后参考解答.docx_第3页
第3页 / 共20页
微机原理课后参考解答.docx_第4页
第4页 / 共20页
微机原理课后参考解答.docx_第5页
第5页 / 共20页
微机原理课后参考解答.docx_第6页
第6页 / 共20页
微机原理课后参考解答.docx_第7页
第7页 / 共20页
微机原理课后参考解答.docx_第8页
第8页 / 共20页
微机原理课后参考解答.docx_第9页
第9页 / 共20页
微机原理课后参考解答.docx_第10页
第10页 / 共20页
微机原理课后参考解答.docx_第11页
第11页 / 共20页
微机原理课后参考解答.docx_第12页
第12页 / 共20页
微机原理课后参考解答.docx_第13页
第13页 / 共20页
微机原理课后参考解答.docx_第14页
第14页 / 共20页
微机原理课后参考解答.docx_第15页
第15页 / 共20页
微机原理课后参考解答.docx_第16页
第16页 / 共20页
微机原理课后参考解答.docx_第17页
第17页 / 共20页
微机原理课后参考解答.docx_第18页
第18页 / 共20页
微机原理课后参考解答.docx_第19页
第19页 / 共20页
微机原理课后参考解答.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课后参考解答.docx

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

微机原理课后参考解答.docx

微机原理课后参考解答

第一章习题

✓1.2请简述机器数和真值的概念。

✓1.3将下列十进制数分别转化为二进制数、八进制数、十六进制数和压缩BCD数。

✓(1125.74(=7D.BCH(2513.85(3742.24(469.357✓1.4将下列二进制数分别转化为十进制数、八进制数和十六进制数。

✓(1101011.101B(=43.625(2110110.1101B

✓(31001.11001B(4100111.0101B

✓1.5将下列十六进制数分别转化为二进制数、八进制数、十进制数和压缩BCD数。

✓(15A.26H(2143.B5H

✓(36CB.24H(4E2F3.2CH

✓1.68位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?

✓1.7写出下列十进制数的原码、反码、补码表示(采用八位二进制,最高位为符号位。

✓(1120(78H(262(3-26(E6H补码(4-127✓1.8已知补码求出其真值。

✓(146H(=70(29EH(=-98(3B6H(=-74(46C20H本章作业点评

注意正数的原码、反吗和补码相同,而负数不同。

作业解答请看书

第2章微处理器习题

✓2.18086/8088CPU由哪两部分组成?

它们的主要功能各是什么?

✓2.28086/8088CPU为什么要采用地址/数据线分时复用?

有何好处?

✓2.38086/8088CPU中的标志寄存器分为哪两类标志?

二者有何区别?

✓2.4设段寄存器CS=2400H,指令寄存器IP=6F30H,此时指令的物理地址PA是多少?

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

答:

PA=2AF30H,不唯一。

✓2.5什么叫总线周期?

8086/8088系统中的总线周期由几个时钟周期组成?

如果CPU的主时钟频率为25MHz,一个时钟周期是多少?

一个基本总线周期是多少时间?

答:

4个T周期,1个T周期为1/25MHZ=4*10-8S

✓2.10什么是指令周期?

什么是时钟周期?

什么是总线周期?

三者有何关系?

2.15什么是总线?

简述微机总线的分类。

✓2.16简述PCI总线的特点。

✓2.17简述USB总线的特点。

本章作业点评

作业解答请看书

习题

3.1请解释名词:

操作码、操作数、立即数、寄存器操作数、存储器操作数。

3.2什么叫寻址方式?

8086指令系统有哪几种寻址方式?

3.3指出下列指令中源操作数的寻址方式

点评:

根据指令格式,仅给出源操作数的寻址方式

(1MOVSI,200

(2MOVAL,[2000H]

(3MOVCX,DATA[SI]

(4ADDAX,[BX+DI]

(5ANDAX,BX

(6MOV[SI],AX

(7MOVAX,DATA[BP+SI]

(8PUSHF

(9MOVAX,ES:

[BX]

(10JMPFARPTRPROCS_1(答:

直接寻址

3.4设DS=1000H,ES=2000H,BX=2865H,SI=0120H,偏移量D=

47A8H,试问下列各指令中源操作数所在位置,若有物理地址请计算出其物理地址值。

点评:

题目要求给出物理地址,仅(3(4(5(7(8(10计算物理地址

(1MOVAL,D(代码段中

(2MOVAX,BX(cpu寄存器中

(3MOVAL,[BX+D]内存数据段

(4MOVAL,[BX+SI+D]内存数据段

(5MOVBX,[BX+SI+2]内存数据段

(6MOV[BX+5],AX(cpu寄存器中

(7INCBYTEPTR[SI+3]内存数据段

(8MOVDL,ES:

[BX+SI]内存附加数据段

(9MOVAX,2010H(代码段中

(10MOVAX,DS:

[2010H]内存数据段

3.5现有DS=2000H,BX=0100H,SI=0002H,20100H=12H,20101H=34H,20102H=56H,20103H=78H,21200H=2AH,21201H=4CH,21202H=B7H,21203H=65H,试说明下列指令执行后,AX寄存器中的内容。

(1MOVAX,1200H(AX=1200H

(2MOVAX,BX(AX=0100H

(3MOVAX,[1200H](AX=4C2AH

(4MOVAX,[BX](AX=3412H

(5MOVAX,1100H[BX](AX=4C2AH

(6MOVAX,[BX+SI](AX=7856H

(7MOVAX,[1100H+BX+SI](AX=65B7H

3.9假设下列程序执行前SS=8000H,SP=2000H,AX=7A6CH,DX=3158H。

执行下列程序段,画出每条指令执行后,寄存器AX,BX,CX,DX的内容和堆栈存储的内容的变化情况,执行完毕后,SP=?

PUSHAX(答:

AX不变

PUSHDX(答:

DX不变

POPBX(答:

BX=DX

POPCX(答:

CX=AX

3.10编程序段分别完成如下功能:

(1AX寄存器低4位清零。

(答:

ANDAX,FFF0H

(2BX寄存器低4位置“1”。

(答:

ORBX,000FH

(3CX寄存器低4位变反。

(答:

XORCX,000FH

(4测试DL寄存器位3,位6是否同时为0,若是,将0送DL;否则1送DH。

(答:

TESTDL,48H

JZNEXT

MOVDH,01H

JMPDONE

NEXT:

MOVDL,00H

3.11写出三种不同类型的指令将寄存器BX清零。

答:

MOVBX,0

XORBX,BX

SUBBX,BX

3.12已知从DS:

2200H,ES:

3200H单元起分别存放20个ASCII的字符。

找出这两个字符串中第一个不同字符的位置(段内偏地址,并放入DS:

22A0H开始的连续两个单元中。

请设计完成此任务的程序段。

(1使用通常用的比较指令(CMP实现;

(2使用数据串比较指令(CMPSB实现。

答(1

MOVSI,2200H;

MOVDI,3200H;

MOVCX,20;

NEXT:

MOVAL,[SI]

CMPAL,ES:

[DI];

JNZSTOP

INCSI

INCDI;

DECCX;

JNZNEXT

JMPDONE;

STOP:

MOV[22A0H],SI;

DONE:

HLT

答(2

MOVSI,2200H;

MOVDI,3200H;

MOVCX,20;

NEXT:

REPZCMPSB;

JCXZDONE;如果CX=0,表示所有的字符都相同

DECSI

STOP:

MOV[22A0H],SI;

DONE:

HLT

3.13读下面程序段,请问:

在什么情况下,本段程序的执行结果是AH=0?

BEGIN:

INAL,5FH

TESTAL,80H

JZBRCH1

MOVAH,0

JMPSTOP

BRCH1:

MOVAH,0FFH

STOP:

HLT

答端口地址5FH的内容为负数时,AH=0

3.16阅读下列程序:

NEXT:

MOVAL,[SI]

MOVES:

[DI],AL

INCSI

INCDI

LOOPNEXT

写出用串指令完成上述功能的程序段。

答:

REPMOVSB

3.18假设寄存器AX=1234H,DX=0A000H,阅读下列程序段:

MOVBX,0

MOVCX,BX

SUBCX,AX

SBBBX,DX

MOVAX,CX

MOVDX,BX

上述程序执行后AX=?

DX=?

程序功能是什么?

答:

AX=EDCCH

DX=5FFFH

功能:

0-A0001234H

3.19比较AX,BX,CX中带符号数的大小,将最大的数放在AX中,请编程。

CMPAX,BX

JGNEXT

MOVAX,BX

NEXT:

CMPAX,CX

JGNEXT

MOVAX,CX

3.21编写程序段,在数据区0000H:

2000H开始100字节范围内,查找字符'A',若找到,则将偏移地址送入DX,没有找到,则结束。

答:

DATASEGMENT

ORG2000H

STRINGDB„1222677ASS…..‟共100个字符

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,ES:

DATA

MOVAX,DATA

MOVES,AX

CLD;置DF=0,地址增量方向

MOVDI,OFFSETSTRING;

MOVCX,100;

MOVAL,‘A’;

NEXT:

SCASB;

JZSTOP;ZF=1,找到“A”相同的字符,转STOPDEXCX;没找到(ZF=0,长度减1

JNZNEXT;

JMPDONE;

STOP:

DECDI;字符A所在偏移地址→BX

MOVDX,DI

DONE:

HLT

CODEENDS

ENDSTART

3.28已知数据段DATA从存储器实际地址02000H开始,作如下定义:

DATASEGMENT

VAR1DB2DUP(0,1,?

VAR2DW50DUP(?

VAR3DB10DUP(0,1,2DUP(4,5

DATAENDS

求出3个变量的SEG、OFFSET、TYPE、LENGTH和SIZE。

答:

SEGOFFSETTYPELENGTHSIZE。

VAR1DATA0000H122

VAR2DATA0006H250100

VAR3DATA0037H11010

3.29已知数据区定义了下列语句,采用图示说明变量在内存单元的分配情况以及数据的预置情况。

DATASEGMENT

A1DB20H,52H,2DUP(0,?

A2DB2DUP(2,3DUP(1,2,0,8

A3DB’GOOD!

A4DW1020H,3050H

DATAENDS

答:

相当于:

A1DB20H,52H,0,?

0,?

A2DB(2,1,2,1,2,1,2,0,8,(2,1,2,1,2,1,2,0,8

A3DB’GOOD!

’,字符在内存用ASCII码表示

A4DB20H,10H,50H,30H

3.30采用示意图来说明下列变量在内存单元的分配以及数据的预置。

DATASEGMENT

ORG4

VAR1DW9

VAR2DW2DUP(0

CONTEQU2

VAR3DBCONTDUP(?

8

VAR4DB2DUP(?

CONTDUP(0,′AB′

DATAENDS

答:

与题3.29类似

3.32执行下列指令后,AX寄存器中的内容是什么?

TABLEDW10,20,30,40,50

ENTRYDW3

.

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

答:

AX=1E00H

3.34在数据区中,以TABLE开始连续存放0~6的立方值(称为立方表,设任给一数x(0≤x≤6,x在TAB1单元,查表求x的立方值,并把结果存入TAB2单元。

DSEGSEGMENT

TABLEDB0,1,8,27,64,125,…..;定义立方表

TAB1DB4;定义要查表的数X

TAB2DB?

;定义结果存放单元

DSEGENDS

COSEGSEGMENT

ASSUMECS:

COSEG,DS:

DSEG,SS:

SSEG

BEGIN:

MOVAX,DSEG

MOVDS,AX

MOVBX,OFFSETTAB1;置数据指针

MOVAH,0

MOVAL,DATA;取待查数

ADDBX,AX;求得查表地址

MOVAL,[BX];查表

MOVTAB2,AL;平方数送RUSULT单元

MOVAH,4CH

INT21H

COSEGENDS

ENDBEGIN

3.36编写程序,计算下面函数的值。

DATASEGMENT

XDB-10⎪⎩

⎪⎨⎧><=<=<=104100(30(2xxxx

xx

s

SDW?

DATAENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

START:

MOVAX,DATA;给相关段寄存器赋值

MOVDS,AX

MOVAL,X

CMPAL,0

JLA1

CMPX,10

JGA2

MOVBL,3

IMULBL

MOVS,AX

JMPEXIT

A1:

MOVBL,2

IMULBL

MOVS,AX

JMPEXIT

A2:

MOVBL,4

IMULBL

MOVS,AX

EXIT:

MOVAH,4CH;返回DOS

INT21H

CODEENDS

ENDSTART

3.39现有两个多字节压缩BCD码数9876543219H和1234567891H,它们分别按低位字节在前高位字节在后存放在变量A1和A2中,求它们的和与差,并将结果放在变量SUM和DEF中。

DATASEGMENT

A1DB19H,32H,54H,76H,98H

A2DB91H,78H,56H,34H,12H

SUMDB6DUP(?

DEFDB5DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

MAINPROCFAR

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETA1

MOVDI,OFFSETA2

MOVBX,OFFSETSUM

MOVCX,05

CLC

ADDF:

MOVAL,[SI]

ADCAL,[DI]

MOV[BX],AL

INCSI

INCDI

INCBX

DECCX

JNZADDF

MOVAL,0

ADCAL,AL

MOV[BX],AL(该三条指令用来处理最高位的进位MOVSI,OFFSETA1

MOVDI,OFFSETA2

MOVBX,OFFSETDEF

MOVCX,05

CLC

SUBF:

MOVAL,[SI]

SBBAL,[DI]

MOV[BX],AL

INCSI

INCDI

INCBX

DECCX

JNZSUBF

CODEENDS

ENDSTART

3.40设变量K中存放了由100个有符号整数组成的数组,编写程序段找出其中最大的一个,放到AX中.(注意:

编程时只用于10个数DSEGSEGMENT

KDW23,45,87,„„,98

COUNTEQU$-BUFFER

MAXDW?

DSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG,SS:

SSEG

START:

MOVAX,DSEG

MOVDS,AX

MOVCX,COUNT/2;除2是字节数

LEABX,BUFFER

MOVAX,[BX]

INCBX

INCBX

DECCX

AGAIN:

CMPAX,[BX]

JGENEXT

MOVAX,[BX]

NEXT:

INCBX

INCBX

LOOPAGAIN

MOVMAX,AX

CSEGENDS

ENDSTART

3.43在数据段中有一个字节数组,编程统计其中正数的个数,放入A单元,负数的个数,放入B单元。

DSEGSEGMENT

DATDB23,45,87,„„,98

COUNTEQU$-BUFFER

ADB?

BDB?

DSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG,SS:

SSEG

START:

MOVAX,DSEG

MOVDS,AX

MOVDX,0

MOVCX,COUNT

LEABX,DAT

AGAIN:

MOVAL,[BX]

CMPAL,0

JGEPLUS

INCDL;统计负数个数

JMPXEXT

PLUS:

INCDH

NEXT:

INCBX

LOOPAGAIN

MOVA,DH

MOVB,DL

CSEGENDS

ENDSTART

习题

1.分析半导体随机存储器和只读存储器的特点和分类。

静态存储器和动态存储器的最大区别是什么?

它们各有什么优缺点?

3.存储器的寻址范围是怎样确定的?

举例说明它的确定方法。

5用下列芯片构成存储系统,各需要多少个RAM芯片?

需要多少位地址作为片外地址译码?

设系统为20位地址线,采用全译码方式。

(1512×4位RAM构成16KB的存储系统;

(答:

64片,11根,芯片上有9根地址线,片外有11根,全部参加译码

(21024×1位RAM构成128KB的存储系统;

(答:

128*8片,10根

(32K×4位RAM构成64KB的存储系统;

(答:

64片,9根

(464K×1位RAM构成256KB的存储系统;

7.有一个6264SRAM芯片的译码电路,如下图所示,请计算该芯片的地址范围及存储容量。

习题7图

8088系统

BUS

答:

容量为8KB

本题图中A14和A17没有使用,为部分地址译码法,共有4组重叠地址;

假设A14=0和A17=0,地址范围为DA000H~DB000H

9.使用4K×8位的EPROM2732和2K×8位的静态RAM6116以及LS138译码器,构成一个8KB.的ROM、地址范围为:

FE000H~FFFFFH;4KB的RAM存储器系统,地址范围为:

00000H~0FFFH。

系统CPU8088工作于最小模式。

画出系统连接图。

提示:

本题中两个存储空间相差较远,使用两个138译码器分别完成译码EPROM2732两片

第1片,地址空间从FE000H~FEFFFH

第2片,地址空间从FF000H~FFFFFH

RAM61162片

第1片,地址空间从00000H~007FFH

第2片,地址空间从00800H~00FFFH

10.试为某8位微机系统设计一个具有16KBROM和40KBRAM的存储器。

(1选用EPROM芯片2764组成只读存储器(ROM,从0000H地址开始;

(2选用SRAM芯片6264组成随机存取存储器(RAM,从4000H地址开始;

(3分析出每个存储芯片的地址范围。

答:

提示题目中给出的8位CPU其地址总线总计为16条

EPROM芯片2764共两片;

第1片,地址空间从0000H~1FFFH

第2片,地址空间从2000H~3FFFH

SRAM芯片6264共5片;

第1片,地址空间从4000H~5FFFH

第2片,地址空间从6000H~7FFFH

第3片,地址空间从8000H~9FFFH

第4片,地址空间从A000H~BFFFH第5片,地址空间从C000H~DFFFH

第5章习题

5.3计算机与外设之间的数据传送控制方式有哪些?

它们各有什么特点?

5.5CPU与外设采用查询方式传送数据的过程是怎样的?

现有一输入设备,其数据端口的地址为FFE0H,并于端口FFE2H提供状态,当其D0位为1时表明输入数据备好。

请编写采用查询方式进行数据传送的程序段,要求从该设备读取100个字节并输入到从2000H:

2000H开始的内存中。

DSEGSEGMENT

ORG2000H

DATADB100DUP(?

DSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG,SS:

SSEG

START:

MOVAX,2000H

MOVAX,2000H

MOVDS,AX

MOVBX,2000H

MOVCX,100;

NEXT:

MOVDX,FFE2H

INAL,DX

ANDAL,01H

JZNEXT

MOVDX,FFE0H

INAL,DX

MOV[BX],AL;

INCBX

DECCX;

JNZNEXT

HLT

CSEGENDS

ENDSTART

第6章习题

6.1.什么是中断?

计算机采用中断有什么好处?

简述中断的响应和处理过程。

6.6.简述中断向量、中断向量表、中断类型码之间的关系。

在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?

若某中断类型码是12H,则其中断向量存于何处?

若软中断指令INT30H,其中的中断类型号为多少,该中断的服务程序的入口地址在内存单元什么位置?

答;中断类型码是12H,12H*4=48H

则其中断向量存于内存0000:

0048H开始的4个单元中

若软中断指令INT30H,其中的中断类型号为30H,30H*4=C0H该中断的服务程序的入口地址在内存单元0000:

00C0H开始的4个单元中

6.7简述8259A的内部结构和主要功能。

8259A的中断屏蔽寄存器IMR与8086中断允许标志IF有什么区别?

答:

8259A的中断屏蔽寄存器IMR,是对8259的中断请求IR输入端进行屏蔽控制,8086中断允许标志IF是对CPU的中断请求输入端INTR允许或不允许进行控制。

第7章习题

7.28253有几个独立的计数器?

各有几种工作方式?

各种工作方式的名称是什么?

7.8设8

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

当前位置:首页 > 小学教育 > 语文

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

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