微型计算机系统概述课后习题_第1页
微型计算机系统概述课后习题_第2页
微型计算机系统概述课后习题_第3页
微型计算机系统概述课后习题_第4页
微型计算机系统概述课后习题_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章微型计算机系统概述

习题

1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么

答:

微型计算机由CPU,存储器,输入/输出接口及系统总线组成.

CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算.暂存少

数据.对指令译码并执行指令所规定的操作.与存储器和外设进行数据交换的能

力.提供整

个系,总需要的定时和控制信号.响应其他部件发出的中断请求;总线是计算机

系统各功能

模块间传递信息的公共通道,一般由总线控制器,总线发送器,总线接收器以及一

组导线组

成;存储器是用来存储数据,程序的部件;I/O接口是微型计算机的重要组成部件,

在CPU

和外设之间起适配作用.

1-2.CPU执行指令的工作过程.

答:

最指令,执行指令.

指令执行的基本过程:

(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的

指令

存放在存储器的哪个单元.

(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令.存储器

据此地址取出一条指令,经过数据总线进入指令寄存器IR.

(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作.

(4)修改程序计数器的内容.

1-3.果微处理器的地址总线为20位,它的最大寻址空间为多少

答:202=1048576=lMB

1-4.处理器,微型计算机和微型计算机系统之间有什么关系

答:

微处理器是微型计算机的核心部件.微处理器配上存储器,输入/输出接口及相应

的外

设构成完整的微型计算机.以微型计算机为主体,配上系统软件和外部设备以后,

就构成了

完整的微型计算机系统.

1-5.下面十进制数分别转换为二进制,八进制和十六进制数:

128,65535,1024

答:

128,二进制:10000000B,八进制:2000,十六进制:80H

65535,二进制八进制:1777770,十六进制:FFFFH

1024,二进制:10000000000B,八进制:20000,十六进制:400H

1-6.下面二进制数分别转换为十进制及十六进制数:

1011.1010B,1111101.11B

答:

1011.1010B,十进制:10625,十六进制:B.AH

1111101.11B,十进制:125.75,十六进制:7D.CH

1-7.(5487)10=(01010100100001U)BCD=1010101101111B

1-8.设字长为8位,请写出下列数的原码,反码,补码和移码:

15,-20,-27/32

答:

[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111

[-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100

[-27/32]J^=l.1101100,[-27/321^=1.0010011,[-27/32]#=1.0010100,

[-27/32]移=0.0010100

第2章微型计算机系统的微处理器

习题

2-1.086/8088CPU的功能结构由哪两部分组成它们的主要功能是什么

答:

8086/8088CPU的功能结构由以下两部分组成:总线接口单元BIU(Bus

InterfaceUnit),

执行部件EU(ExecutionUnit).

总线接口单元BIU的主要功能是:负责与存储器,1/0端口进行数据传送.具体讲:

指令:总线接I」部件从内存中取出指令后送到指令队列.预取指令.配合EU执行

指令,存

取操作数和运算结果.

执行部件EU主要功能是:负责指令执行.

2-2.086CPU指令部件(队列)的作用是什么地址加法器的作用是什么

答:

8086/8088的指令队列分别为6/4个字节,存储预取的指令.

地址加法器用来产生20位物理地址.8086/8088可用20位地址寻址1M字节的内

存空间,

而CPU内部的寄存器都是16位,因此需要由一个附加的机构来计算出20位的物

理地址,这

个机构就是20位的地址加法器.

2-3.据8086CPU的结构,简述程序的执行过程.

答:

设程序的指令代码已存放在存贮器中.为执行程序,CPU按照时钟节拍,产生一系

列控

制信号,有规则地重复进行以卜过程.

(l)BIU从存贮器中取出一条指令存入指令队列.

(2)EU从指令队列取指令并执行指令.BIU利用总线空闲时间,从内存取第二条指

或取第三条指令存入指令队列.

(3)EU执行下一条指令.如果前面一条指令有写存贮器的要求,则通知BIU把前条

令结果写到存贮器中,然后再取指令存入指令队列.

(4)如指令执行要求读取操作数,由BIU完成.

(5)EU执行再下一条指令,返回⑴处继续执行上述操作过程.所以,程序的执行

程就是CPU取指令,分析指令,执行指令,再取指令这样一个循环重复过程.

在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间

的特

点,BIU自动地通过总线读取存贮器中的指令码存入BIU指令队列,从而使BIU与

EU并

行工作,提高CPU执行指令的速度.

2-4.什么是总线周期8086/8088的基本总线周期由几个时钟周期组成若CPU的

时钟频率为10MHz,则一个时钟周期为多少一个基本总线周期为多少

答:

总线周期:BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为

一个

总线周期.

8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状

态.

若CPU的主时钟频率为10MHz,则一个时钟周期为-710s,一个基本总线周期为

4X

-710s.

2-5.复位信号RESET到来后,8086/8088CPU的内部状态有何特征系统从何处开

始执行指令

答:

8086/8088系统中,复位信号RESET到来后,处理器内部的各寄存器和标志寄存器

的内容自动设置为:

CSFFFFHDS0000H

SS0000HES0000H

IP0000H指令队列空

FR0000H(禁止中断)

因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令.

2-6.在总线周期的T1〜T4状态,CPU分别执行什么操作在CPU的读/写总线周期

中,数据在哪个状态出现在数据总线上

答:

CPU在每个时钟周期内完成若干个基本操作,具体是:

T1状态:CPU向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口

地址.

T2状态:CPU从总线上撤消地址,使总线的低16位置为高阻抗状态,为传输数据作

准备.总线的高4位输出本总线周期状态信息.这些状态信息用来表示中断允许

状态,当前

正在使用的段寄存器等.

T3状态:CPU在总线的高4位继续输出总线周期状态信号.在总线的低16位出现

CPU写出的数据,或者从存储器或I/O端口读入的数据.

T4状态:总线周期结束.

在CPU的读/写总线周期中,数据在T3状态出现在数据总线上.

2-7.8086/8088读/写总线周期,微处理器是在(B)时刻采样READY信号,以便决

定是否插入Tw.

A.T2B,T3C.T3下降沿D.T2上升沿

2-8.8086/8088系统中为什么要有地址锁存器需要锁存哪些信息

答:

因8086/8088系统中地址线,数据线是复用的,所以要有地址锁存器锁存T1状态

输出

的地址.8086系统锁存20位地址及BHE信号,8088系统锁存20位地址.

2-9.8086/8088的最大模式系统配置与最小模式系统配置在结构上有何区别总

线控

制器8288的作用是什么

答:

"大模式系统配置在结构上与最小模式系统的主要区别是增加了一个总线控制

器8288

和一个总线仲裁器8289.

总线控制器8288的作用是:对来自8086/8088CPU的总线状态信号S2,SI,S0译

码,与输入控制信号AEN,CEN和I0B相互配合,产生总线命令信号和总线控制信号.

2T0.关于8086最大工作模式的特点描述正确的是(D).

A.不需要总线控制器8288B.适用于单一处理机系统

C.由编程进行模式设定D.M/I0引脚不可以直接引用

2T1.8086/8088有最小和最大模式两种工作模式,当(B)时为最小模式.

A.MN/MX=OB.MN/MX=1B.INTR=1D.HOLD="1"

2-12.8086最小工作模式和最大工作模式的主要差别是(D).

A.地址总线的位数不同B.I/O端口数不同

C.数据总线位数不同D.单处理器与多处理器的不同

2-13.PC机中地址总线的作用是(C).

A.用于选择存储器单元B.用于选择进行信息传输的设备

C.用于给存储器单元和I/O设备接口电路的选择地址

D.以上都不正确

2-14.设当前SS=COOOH,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则

当前栈顶的物理地址是多少若连续执行PUSHAX,PUSHBX,POPCX3条指令后,

栈内容发生什么变化AX,BX,CX中的内容是什么

2-15.8086/8088的控制标志位有(C)个.

A.1B.2C.3D.4

276.编程人员不能直接读写的寄存器是(C).

A.DIB.CXC.IPD.SP

2-17.设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标

志位CF,AF,OF,SF,IF和PF的状态.

答:

(AH)=00000011H

+(AL)=10000010H

10000101

CF=0,AF=0,0F=0,SF=1,IF不确定和PF=0

(AH)=00000011H

_(AL)=10000010H

10000001

CF=1,AF=0,0F=0,SF=1,IF不确定和PF=1

2-18.8086CPU中的标志寄存器FR中有哪些状态标志和控制标志这些标志位各

有什

么含义

见教材.

2-19.BHE信号的作用是什么简述8086系统中,访问存储器在读写一个字和字节

过程中,BIIE和A0的状态.

答:

高8位数据总线允许/状态复用信号.总线周期的T1状态,8086在BHE/S7输出低

电平,

表示高8位数据总线AD15~AD8上的数据有效.

8086系统中,BHE和AD0结合起来,指出当前传送的数据在总线上将以何种格式出

现.

(见教材表2-4-1)

8088系统中,由于数据总线只有8位,不存在高8位与低8位的问题.所以,该引

(第34号)被定义为双功能弓I脚.在最大模式时,该引脚恒为高电平;在最小模式

中,则

定义为SSO.

2-20.8086向偶地址存储单元0送一个字节数据时,须执行一个总线周期,在第

一个T

状态中,ALE为1,A0为0,WR为1.

2-21.8086系统中,为什么要对存储器进行分段管理其分段管理是如何实现的

答:

8086/8088地址总线是20位的,CPU中的寄存器是16位的,20位地址无法用16

位寄

存器表示,所以必须分段.

通常有代码段,数据段,堆栈段,辅助段.段内地址16位,每个段的大小最大可达

64KB;

实际使用时可以根据需要来确定段大小.

2-22.已知某存储单元的段地址为4500H,偏移地址为4500H,该单元的物理地址

是多

答:49500H

2-23.某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FFOOH,此时,该指

的物理地址为多少指向这一物理地址的CS值和IP值是唯一的吗试举例说明

答:

该指令的物理地址为:CS+IP

FFFFOH+FFOOH=1OFEFOII

这一物理地址的CS值和IP值是唯一的吗:不唯一

2-24.因为8086CPU的字数据既可以存放在内存的偶地址单元,也可以安排在奇

地址单

元,所以其堆栈指针SP(A).

A.最好是指向偶地址单元

B.可以指向任何地址单元

C.只能指向偶地址单元

D.只能指向奇地址单元

第3章8086/8088的指令系统

习题

3-1.试举例说明8086/8088微处理器的各种寻址方式.

(略)

3-2.假定DS=1000H,SS=9000H,SI=100H,BX=20H,BP=300H,请指出下列指令的

源操作数是什么寻址方式若源操作数位于存储器中,其物理地址是多少

(l)MOVCX,[1000H](2)MOVAX,100H

(3)MOVAX,[BX](4)MOVBL,CL

(5)MOVAL,[BP+5](6)MOVAL,[BP+SI+2]

答:

(1)中源操作数为直接寻址,其物理地址=DS*16+1000H=l1000H;

(2)中源操作数为立即寻址;

(3)中源操作数为寄存器间接寻址,其物理地址=DS*16+(BX)=10020H;

(4)中源操作数为寄存器寻址;

(5)中源操作数为变址寻址,其物理地址=SS*16+(BP)+5=90305H;

(6)中源操作数为基址加变址寻址,物理地址=SS*16+(BP)+(SI)+2=9040211.

3-3.在8088/8086微机的内存物理地址34780H处,存放有字节数据58H,已知

DS=3000H,试写指令序列将该字节数据送入AL寄存器.要求分别采用三种不同的

寻址方

式.

答:

(1)直接寻址:

MOVAL,[4780H]

(2)寄存器间接寻址:

MOVBX,4780H

MOVAL,[BX]

(3)变址寻址:

MOVSI,4782H

MOVAL,[SI-2]

3-4.判断下述8086/8088指令的写法是否正确:

(l)MOV[AXLBH(2)MOV[BP],AX

(3)MOV[SP],AX(4)MOV[DI],[SI]

(5)OUT10H,CL(6)INCWORDPTR[SI]

(7)PUSHAL(8)CMP36H,AL

(9)MOVES:[SI],DI(10)MOVBYTEPTR[BX],800

答:

⑴MOV[AX],BH(X)

⑵MOV[BP],AX(J)

z\

(31

\7MOV[SP],AX(X)

z\

(41

\7MOV[DI],[SI](X)

/\

(51

X7OUT10H,CL(X)

z\

(61

\7INCWORDPTR[SI](J)

z\

(7!

\/PUSHAL(X)

/\

(81

\7CMP36H,AL(X)

zX

(9u

\/MOVES:LSI],DI(V)

(10)MOVBYTEPTR[BX],800(X)

3-5.设有关寄存器及存储单元的内容如下:

DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20102H]=33H,[20103]=4411,

[21200]=9BH,[21201H]=99H,[21202H]=0AAH,[21203H]=88H.

问:下列各条指令单独执行后相关寄存器或存储单元的内容为多少

(l)MOVAX,1800H(2)MOVAX,BX

(3)MOVBX,[1200H](4)MOVDX,[BX+1100H]

(5)MOV[BX+SI],AL(6)MOVAX,[BX+SI+HOOH]

答:

⑴AX=1800H

⑵AX=BX=0100H

⑶BX=999BH

(4)DX=999BH

⑸[20102H]=AL=0011

(6)AX=88AAH

3-6.已知SS=OFFOOH,SP=OOOOH,试编写程序片段将两个16位数1122H和3344H

后压入堆栈,并画出堆栈区和SP内容变化的过程示意图(标出存储单元的地址).

答:

MOVAX,1122H

PUSHAX

11H

22HSP

OFFOO:OFFFFH

OFFOO:OFFFEH

MOVAX,3344H

PUSHAX

OFFOO:OFFFFH11H

22H

33H

44HspOFFOO:OFFFCH

OFFOO:OFFFDH

OFFOO:OFFFEH

3-7.设在数据段偏移地址为2000H单元开始的地方连续存放了0~15的平方值.

试写

出包含有XLAT指令的指令序歹山用来查找0~15范围内的某个数N的平方值(设N

的值存

放在CL寄存器中).

答:

MOVBX,2000H

MOVAL,CL

XLAT

3-8.试用简单的几条指令完成对AL寄存器中的无符号数乘以12的操作.要求只

能用

移位,加法及MOV指令.

答:

MOVAH,0

MOVCL,2

SHLAX,CL;AL左移两位,相当于乘4

MOVBX,AX;保存

SHLAX,1;AL再左移一位,相当于原数乘8

ADDAX,BX;相当于原数乘12

3-9.已知程序段如下:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

问:执行完每条指令后,AX=CF=SF=ZF=(设在执行第一条指令前CF=SF=ZF=O).

答:

AX=8D00H

CF=O,SF及ZF不确定.

3T0.执行如下三条指令后:

MOVAH,0

MOVAL,7

ADDAL,5

问:(1)若再执行一条非组合BCD码加法调整指令AAA后,AX的内容为多少(2)

题中的三条指令后紧跟的是一条组合BCD码加法调整指令DAA,则执行完DAA后

AX的

内容为多少

答:

(1)AX=0102H

(2)AX=0012H

3-11.已知AX=14C6H,BX=80DCH,问执行下列程序段后,程序转向何处

ADDAX,BX

JNCL2

SUBAX,BX

JNCL3

JMPL4

若初始AX=B568H,BX=54B7H,情况又如何

答:

程序转向地址标号L2处.

若初始AX=B568H,BX=54B7H,程序转向地址标号L4处.

3-12.如下程序完成什么功能

MOVAX,5000H

MOVDS,AX

MOVCX,100

MOVAX,0

MOVSI,AX

START:ADDAX,[SI+1000H]

ADDSI,2

LOOPSTART

MOV[200H],AX

答:

程序完成内存500011:100011开始的连续100个字数据的求和,并将和数存于

5000H:200H处.

3-13,试写一程序片段,将当前数据段偏移地址为2000H开始的100个字节单元内

与偏移地址为3000H开始的100个字节单元内容相交换,即:偏移地址2000H对应

单元内

容与偏移地址3000H对应单元内容交换,偏移地址2001H对应单元内容与偏移地

址3001H

对应单元内容交换,依此类推.

答:

MOVSI,2000H

MOVDI,3000H

MOVCX,100

REPTO:MOVAL,[SI]

MOVBL,[DI]

MOV[DI],AL

MOV[SI],BL

INCSI

INCDI

LOOPREPTO

3-14.在数据段中偏移地址分别为1000H及2000H开始的存储区内有两个10字节

的字

符串,试编写一段程序来比较这两个字符串.如果这两个字符串不同,则程序转至

8000H:1000H处,否则顺序执行.

答:

MOVSI,1000H;装入源串偏移地址

MOVDL2000H;装入目的串偏移地址

MOVCX,10;装入字符串长度

CLD;方向标志复位

REPECMPSB

JCXZCONTI

JMP800011:100011

CONTI:NOP

3-15.利用串操作指令将数据段中偏移地址1000H开始处的100个字节移动到数

据段

偏移地址为1050H开始的地方.

答:

MOVCX,100

MOVSI,1000H+99

MOVDI,1050H+99

STD;地址减量方式传送

REPMOVSB;数据块传送(串操作)

第4章汇编语言程序设计

习题

4-1.如下定义:

VARIDB4

VAR2DB10

CNST1EQU12

试指出下列指令的错误原因:

(l)MOVCNSTLCX(2)MOVVARI,AX

(3)CMPVARI,VAR2(4)CNST1EQU24

答:

(1)目的操作数不能是立即数;

(2)VARI单元定义为字节类型,而AX为字;

(3)8086/8088中两个内存单元不能直接比较;

(4)同一符号名不允许用EQU重复定义.

4-2.某人定义了如下数据段:

DATASEGMENTAT1000H

ORG100H

VALIDB11H

VAL2DW22H,33H

VAL3DB5DUP(44H)

DATAENDS

试指明该数据段中偏移地址从100H到109H的各存贮单元的内容.

答:

100H:11H

101H:22H

102H:OOH

103H:33H

104H:OOH

105II:44H

106H:44H

107H:44H

108H:44H

109H:44H

4-3.对于下面的数据定义,写出各条指令执行后的结果:

DATASEGMENT

ORG01OOH

AAAADW0A244H

BBBBDB33H,66H,92H,29H

CCCCEQUWORDPTRBBBB

DDDDDB'ABCD'

EEEEEQU$-DDDD

DATAENDS

(1)MOVAX,AAAAAL=()

(2)MOVBX,CCCCBH=()

(3)MOVDX,OFFSETDDDDDL=()

(4)MOVCL,EEEECL=()

答:

(1)MOVAX,AAAAAL=(44H)

(2)MOVBX,CCCCBH=(66H)

(3)MOVDX,OFFSETDDDDDL=(06H)

(4)MOVCL,EEEECL=(04H)

4-4.试编程序将内存从50000II到5FFFFH的每个单元均写入数55H,并再逐个单

元读

出比较,看写入的与读出的是否一致.若全对,则将AL置0;只要有错,则将AL置

OFFH.

答:

START:MOVAX,5000H

MOVDS,AX

MOVSI,0

MOVCX,OFFFFH

L00P1:MOVBYTEPTR[SI],55H

MOVAL,[SI]

CMPAL,55H

JNZLOOPERR

L00P2:INCSI

LOOPL00P1

MOVBYTEPTR[SI],55H;最后一个单元

MOVAL,[SI]

CMPAL,55H

JNZLOOPERR

MOVAL,0;全对

JMPLOOPOUT

LOOPERR:MOVAL,OFFH

LOOPOUT:NOP

4-5.编写一个子程序,对AL中的ASCII字符添加偶校验位序it7),即:使AL中的

"1"的个数为偶数.

答:

ADDPARITYPROCNEAR

ANDAL,7FH

JPADDEXIT

ORAL,80H

ADDEXIT:RET

ADDPARITYENDP

4-6.利用上题的子程序,编程对内存物理地址10000H开始的1024个单元的

ASCII字

符加上偶校验位.

答:

START:MOVAX,1000H

MOVDS,AX

MOVSI,0

MOVCX,1024

L00P1:MOVAL,[SI]

CALLADDPARITY

MOVLSI],AL

INCSI

LOOPL00P1

4-7,试写一子程序,完成对一个8位无符号数乘6的操作.要求:(1)只能用传送,

法及移位指令;(2)入口参数(即8位无符号数)放于AL中,出口参数(即乘6后的

结果)

放于AX.

答:

MULTI6PROCNEAR

PUSHBX

MOVAH,0

SHLAX,1;乘2

MOVBX,AX

SHLAX,1;乘4

ADDAX,BX;乘6

POPBX

RET

MULTI6ENDP

4-8.给定如下程序片段:

START:MOVAX,1OOOH,

OVSS,AX

OVSP,OOOFH

OVAX,1OOOH

USHAX

OVBX,5439H

USHBX

ALLNEARPTRSUBRT

OPAX

STOPO:HLT

SUBRT:PUSHBP

OVBP,SP

VAAX:MOVAX,[BP+4]

DDAX,456AH

OV[BP+4],AX

OPBP

ET4

问:(1)程序执行到标号为SUBRT处的指令时,SP=(2)执行完标号为VAAX的

MOV指令后,AX=(3)执行到标号为STOPO处的指令时:SP=AX=BX=CF=SF=

OF=

答:

(1)程序执行完标号为SUBRT处的"PUSHBP”指令后,SP=0006H

(2)执行完标号为VAAX的MOV指令后,AX=5439H

(3)程序执行到标号为STOPO处的指令时(实际执行"HL『指令之前):

SP=OOOCH

AX=99A3H

BX=5439II

以及以下标志寄存器的内容:

CF=0

SF=1

OF=1

4-9.自符号地址为MARK开始的内存缓冲区中,存有100个学生的某门课的考试成

绩.

试找出成绩不低于80分以及成绩低于60分的学生个数,同时求出最高的成绩分

及最低的成

绩分数,并将它们分别存于符号地址为PST,FST,MAXMK及MINMK的四个单元中.

求写出完整的数据段及代码段.

答:

DATASEGMENT

MARKDB100DUP()

PSTDW0

FSTDW0

MAXMKDB0

MINMKDB100

DATAENDS

CODESEGMENT

ASSUMECSrCODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVCX,100

MOVBX,OFFSETMARK

AGAIN:MOVAL,[BX]

CMPAL,MAXMK

JCHIGHL

MOVMAXMK,;updatehighestmark

HIGHL:CMPMINMK

JNCMKCHK

MOVMINMK,AL;updatelowestmark

MKCHK:CMPAL,60

JNCHIGHMK

INCFST;increasetheno.ofstudentswhosemark=80

CHKFH:INCBX

LOOPAGAIN

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

4T0.编写一段程序,接收从键盘输入的10个数(输入回车符后结束),然后将这

些数按位取反后存于BUFF开始的缓冲区中.

答:

DATASEGMENT;数据段

BUFFDB10DUP(0);数据区

DATAENDS

STACKSEGMENTSTACK'STACK';堆栈段

DB100DUP()

STACKENDS

CODESEGMENT;代码段

ASSUMECS:CODE,DS:DATA,SS:STACK

START:MOVAX,DATA

MOVDS,AX

MOVCX,10

LEASI,BUFF

REPT1:MOVAH,1;键入数据

INT21H

CMPAL,ODH;判断是否是回车键

JENEXT1;是,转NEXT1;否继续输入

NOTAL

MOVBUFF,AL

DECCX

NEXT1:ORCX,CX

JNZREPT1

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

4-11.试编程序完成两个一位十进制数的加法功能.具体步骤与要求如下:(1)利

用DOS

1号功能调用,顺序从键盘输入被加数,"+”运算符及加数;(2)完成相加功能;(3)

将相

加的结果用DOS9号功能调用在屏幕上显示出来.例如:输入8+6后,屏幕上应显

示相加

结果14.如果在上述步骤(1)中有非法输入,应在屏幕上显示"Inputerror",之后

程序须

重新从头开始(即从被加数的输入开始).

(略)

4-12.试定义一条能对任意寄存器进行左移指定位的宏指令.

答:

SHIFTMACROREG,COUNT

LOCALLEND

PUSHCX

MOVCL,COUNT

CMPCL,1

JCLEND;forCOUNT<1,donotshift

SHLREG,CL

LEND:POPCX

ENDM

4-13.某人写了如下宏定义,以将某寄存器中的一位16进制数转化为相应的

ASCII码.

试分析该宏定义是否有错,若有,试指出错误之处及原因.

HEXASCMACROHEXREG

PUSHF

CMPHEXREG,10

JLLS10

ADDHEXREG,'a'O'-10

LS10:ADDHEXREG,'O'

POPF

RET

HEXASCENDP

答:

错误之处:

开始处缺:LOCALLS10

应去除"RET”语句

"HEXASCENDP"应为"ENDM"

4-14.在数据段偏移地址BUFFER开始处顺序存放了100个无符号16位数,现要求

写程序将这100个数据从大到小排序.

(略)

第5章微型计算机总线

习题

5-1.ISA总线是属于____C______总线.

A.同步B.异步C.半同步D.自适应

5-2,以下的接口芯片中,可以用作总线主设备的是__A.

A.DMA控制器B.中断控制器C.计数器D.A/D变换器

5-3.总线最大传输率等于_____D_______.

A.总线宽度乘以总线频率

B.总线宽度乘以总线频率的二分之一

C.总线宽度乘以总线频率的四分之一

D.总线宽度乘以总线频率的八分之一

5-4.总线宽度的意思是B.

A.总线插槽的尺寸

B.总线中数据线的数目

C.总线中所有信号线的数目

D.总线插槽所有引脚的数目

5-5.8088CPU在形成对外的数据总线和地址总线时要使用___B.

A.三态地址锁存器和三态双向数据缓冲器

B.非三态地址锁存器和三态双向数据缓冲器

C.三态地址锁存器和非三态双向数据缓冲器

D.非三态地址锁存器和非三态双向数据缓冲器

5-6.8088在最大模式下使用8288总线控制器产生读写控制信号,8288产生的读

写信

号有6条,在PC总线中使用的读写控制线是_____C______.

A.6条B.5条C.4条D.2条

5-7.PC总线标准中不包括_____C.

A.DMA请求和应答线

B.硬中断请求线

C.和CPU连接的中断请求和应答线

D.复位线

5-8.PCI总线是一种D总线.

A.8位/16位B.8位/16位

C.16位/32位D.32位/64位

5-9.ISA总线是一种A________总线.

A.8位/16位B.8位/16区

C.16位/32位D.32位/64位

5-10.以下的说法中,不是同步总线特点的是C.

A.不需要应答信号

B.总线周期的长度一般较短

C.总线周期的长短可以变化

D.总线上各部件的工作速度比较接近

5-11.什么是总线,微型计算机为什么要采用总线结构

答:

、、线是在计算机系统中,CPU和其他模块,模块和模块之间传输某种信息的公共

通道.

采用总线结构,便于微型计算机设计和生产的标准化和模块化,降低了生产和使

的成本,对于微型计算机的推广使用具有非常重要的价值.

572.总线操作有什么限制这些限制对于微型计算机的性能有什么影响

答:

"、线上同时只能传输一种信号.所以,不允许同时有几个部件互相传输信息.不同

部件

之间的传输只能分时进行.

这种总线传输的分时性限制了微型计算机操作的并发性.

5-13.ISA总线是一种同步总线还是半同步总线

答:

信一种半同步总线.

5-14.ISA总线通过什么信号可以调整总线周期的长短

答:

I/OCHRDY.如果此信号线的输入是低电平,要求CPU延长总线周期.

5-15.PCI总线是不是可以接入多个主设备在接入多个主设备时,PCI总线是什

么类

型的总线

答:

PCI总线可以接入多个主设备.

PCI总线本来是属于半同步总线,可以通过TRDY#和IRDY#来控制插入等待周期.

引入多个主设备时,需要通过REQ和GNT信号来进行请求和应答的联络,但是,并

不会

因此而改变总线的类型位异步总线.总线的类型仍然是半同步总线.

5-16.现在实际的微型计算机是多总线系统还是单总线系统微型计算机采用多

总线系

统有什么优点

答:

显在的微机系统都是多总线系统.

多总线系统可以根据不同的速度需要,在系统的不同地方使用不同速度的总线.

使得系

统的配置具有更多的灵活性.由于不需要所有的总线都使用同样高速的性能,也

可以降低系

统的成本.

5-17.一个USB系统包括几种硬设备,分别在系统中起什么作用

答:

一个USB系统包含三类硬件设备:USB主机(USBHost),USB设备(USB

Device),USB

集线器(USBHub)

USB主机有以下功能:

检测USB设备的加入和退出;

管理主机和USB设备间的通信;

读取和分析设备的配置信息,对USB设备进行配置操作;

对总线上的错误进行管理和恢复;

为加入的USB设备提供电源.

USBHub就是USB集线器.USB集线器用于设备扩展连接,通过USB集线器可以连

接更多的USB设备.

USB设备就是使用USB总线标准的外部设备.

5-18.为什么USB总线很快的得到了普及和应用

答:

传输速度快,可以满足一般的需要;

即插即用,使用方便;

成本较低,易于接受.

第6章半导体存储器

习题

6-1.半导体存储器分为哪两大类随机存取存储器由哪几个部分组成

答:

由随机存取存储器(RAM)和只读存储器(ROM);RAM由地址寄存器,译码驱

动电路,存储体,读写驱动电路,数据寄存器和控制逻辑6部分组成.

6-2.简述ROM,PROM,EPROM,EEPROM在功能上各有何特点.

答:

a)ROM是只读存储器,使用时只能读此不能写入,适用于保存不需要更改而经常

读取的数据,通常使用的的光盘就是这类存储器;

b)PROM属于一次可编程的ROM,通常使用时也只能读此不能写入,通常使用的

刻录光盘就属于此类存储器.最初从工厂中制作完成的PROM内部并没有资料•,

用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入

也无法修改,若是出了错误,已写入的芯片只能报废;

c)EPROM属于可擦除ROM,但是用户需要使用专用的紫外线擦除器对其进行数据

擦除,并使用专用的编程器对其重新写入数据;

d)EEPROM是电可擦写ROM,可以用专用的编程器对其进行擦写.

6-3.存储器的地址译码有几种方式各自的特点是什么

答:

加址译码有三种方式:线选法,全译码法和部分译码法.

e)线选法:使用地址总线的高位地址作为片选信号,低位地址实现片内寻址;优

点是

薪构简单,需要的硬件电路少,缺点是地址不连续,使用中不方便,而且同一存储

区的地址不唯一,造成地址空间浪费;

f)全译码法:将地址总线中除片内地址以外的全部高位地址都接到译码器的输

入端参

与译码.特点是每个存储单元的地址是唯一的,地址利用充分,缺点是译码电路复

杂;

g)部分译码:将高位地址的部分地址线接到译码器参与译码,产生存储器的片选

信号

特点是各芯片的地址是连续的,但是地址不唯一,仍然存在地址的堆叠区.

6-4.某RAM芯片的存储容量为1024X8位,该芯片的外部引脚最少应有几条其中

几条地址线几条数据线若已知某RAM芯片引脚中有13条地址线,8条数据线,

那么该

芯片的存储容量是多少

答:

至少23根,其中有10根地址线,8条数据线;存储容量是213*8bit=64Kbit=8KB.

6-5.用Intel21141KX4位的RAM芯片组成32Kx8位的存储器,需要多少块这

样的

心-H-片LL

答:

需要64片.

6-6.设某微型机的内存RAM区的容量为128KB,若用2164芯片构成这样的存储器,

需多少片2164至少需多少根地址线其中多少根用于片内寻址多少根用于片

选译码

答:

需要16片;至少地址线需要17根,其中1条用于片选,16条用于片内寻址.

6-7.某8088系统用2764ROM芯片和6264SRAM芯片构成16KB的内存.其中,ROM

的地址范围为OFEOOOH〜OFFFFFH,RAM的地址范围为0F000H-0F1FFFH.试利用

74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称.

答:

6-8.什么是Cache简述其工作原理若主存DRAM的的存取周期为70ns,Cache的

存取周期为5ns,命中率为85%,则它们构成的存储器的平均存取周期是多少

答:

Cache位于主存和CPU之间,有SRAM组成,用来协调CPU和主存之间的数据传输

速度;Cache的工作原理是基于程序访问的局部性,即在单位时间内对局部范围

的存储器地

址频繁访问,而对此范围以外的地址则访问甚少;平均存储周期

=5ns*85%+70ns*15%=14.75ns.

6-9.什么是虚拟存储器它的作用是什么

答:

虚拟存储器又称虚拟内存,是指在内存不足的情况下,利用外部存取器的一部分

空间

模拟内存,使软件可以将其当成一般的内存使用,从使用角度来看,除了速度较慢

外,其他

方面与内存相比并无明显区别;虚拟存储器圆满解决了计算机存储系统对存储容

量,单位成

本和存取速度的苛刻要求,取得了三者之间的最佳平衡.

第7章微型计算机和外设间的数据传输

习题

7T.什么是接口什么是端口什么情况下两个端口可以共用一个地址在

8086/8088微机系统中,CPU是如何实现端口寻址的

答:

兼外部设备与计算机连接起来,实现数据传送的控制电路称为I/O接口电路;为

了存放

接口的数据,状态和控制信息,I/O接口电路拥有几个不同地址的寄存器,每个寄

存器称为

一个端口;若状态与控制端口的位长和不超过8,则可以共用一个端口;808X系列

CPU的

端口是独立寻址的,使用IN和OUT指令实现对端口的操作.

7-2.对于查询方式,中断方式有什么优点和DMA方式相比,中断方式又有什么不

答:

与查询方式相比,中断方式不要求CPU等待或者查询,CPU与外设并行工作,可以

大提高系统的工作效率;但与DMA方式相比,每次外设与存储器进行数据传送时

都要经过

CPU中转,在传送数据块时,传送中地址指针的改变和传送计数器修改将使得传

输速度较

低,增加了系统开销.

7-3.有一输入设备,其数据端口的地址为FEEOH;状态端口地址为FEE2H,当其D0

位为1时表明输入数据准备好.试编写采用查询方式进行数据传送的程序段,要

求从该设备

读取64个字节并输入到从2000H:2000H开始的内存中.

答:

子程序如下:

START:MOVAX,2000H

MOVDS,AX

MOVDI,AX

MOVCX,64

L00P1:MOVDX,0FFE2H

L00P2:INAL,DX

ANDAL,01H

JZL00P2

MOVDX,OFFEOH

INAL,DX

MOV[DI],AL

INCDI

LOOPL00P1

RET

第8章中断系统

习题

8-1.8086系统中,用IRET指令结束中断服务程序后,标志IF的值是____A

A.肯定等于1B.肯定等于0

C.不确定D.按设置,可以是1或者0

8-2.执行8086的IRET中断返回指令后,将从堆栈中弹出_____C_____字节数据,

入相应的寄存器.

A.2个B.4个C.6个D.8个

8-3.8086的中断向量表中存放的是_____B______.

A.中断类型号B.中断服务程序入口地址

C.断点地址D.中断向量地址

8-4.8086中断向量表的范围是RAM地址的______A______.

A.00000"003FFHB.00000^007FFH

C.OOOOO'OOBFFHD.OOOOO"OOFFFH

8-5采用中断方式为外部设备服务的优点包括_____C.

A.提供可靠的数据传输服务和简化硬件接口

B.提高CPU的效率和提供可靠的数据传输服务

C.提高CPU的效率和加强实时处理能力

D.加强实时处理能力和简化硬件接口

8-6.为了可以实现中断嵌套,在8086系统的中断服务程序中,需要写一条

D__.

A.CLC指令B.STC指令

C.CLI指令D.STI指令

8-7.在具有2片8259A级联的中断系统中,两片8259A都设置为非自动结束中断,

下说法中正确的是___C.

A.两片8259A的中断服务程序都要发送2条E0I命令

B.两片8259A的中断服务程序都要发送一条E0I命令

C.主8259A的服务程序发送一条E0I命令,从8259A的服务程序发送2条

D.主8259A的服务程序发送2条E0I命令,从8259A的服务程序发送一条

8-8.以下和中断有关的操作中,必须由CPU自动完成的是__A______.

A.保存断点地址

B.恢复断点地址

C.保存断点地址和恢复断点地址

D.保存断点地址,恢复断点地址和保存标志寄存器

8-9.中断系统可以实现中断嵌套,其最主要的原因是——C.

A.通过堆栈保护断点

B.可以通过指令来开中断

C.具有中断优先级管理机制

D.使用硬件中断控制器

8T0.在8086系统中,一个中断类型号为ODBH的中断服务子程序位于从

8100H:1234H

开始的内存中,在中断向量表中相应的中断向量所在的起始物理地址为

____A______.

A.0036CHB.OOODBH

C.82234HD.01234H

8-11在8086系统中,一个中断类型号为ODBH的中断服务子程序入口地址是

8100H:

1234H,这个地址在中断向量表中连续4个存储单元存放的内容依次为

____C_______.

A.81H,OOH,12H,34HB.OOH,81H,34H,12H

C.34H,12H,OOH,81HD.12H,34H,81H,00H

8-12.4片8259A构成的级联中断控制系统中,最多可以直接连接的外部中断源的

数目

是____D______.

A.4个B.32个

C.28个D.29个

8-13.8086的以下各种中断中,需要硬件提供中断类型号的只有___D.

A.INTOB.INTn

C.NMID.INTR

8-14.对于8086的软件中断,以下说法中正确的是_____D.

A.所有软件中断的优先级都是相同的

B.所有软件中断的优先级都可以任意设置

C.优先级有差别,可以调整

D.优先级有差别,不可以调整

8-15.什么是中断向量什么是中断向量表8086的中断向量表存放在存储器的

哪个

区域为什么8086中断向量表的大小是1024个字节

答:

中断向量就是中断服务程序的入口地址.

中断向量表存放中断服务程序的入口地址,或者存放跳转到中断服务程序入口的

转移指

令.

8086的中断向量表位于RAM区的00000ir003FFH.

因为8086支持256个中断,每个中断服务程序的入口地址是4个字节,共需要

1024

字节.

8T6.现在有10个外中断源要申请中断,都用软件查询来进行优先级排队,此时

需要

为这些中断源准备几个中断服务程序为什么

答:

R需要一个中断服务程序.

10个中断源通过一个或门向CPU申请中断.当有几个中断源同时申请时,在中断

服务

程序中进行排队查询.再转移到各自的服务程序段.并不需要为每个中断源准备

一个服务程

序.

8-17.如果8259A设置为非自动结束中断方式.但是,用户在编写中断服务程序时,

没有向8259A发送中断结束命令E0I.这样的做法会产生什么不好的后果

答:

%结果是8259内部的中断服务寄存器中的相应的登记不会撤销.也就不会允许

后续的

同级中断的申请.而实际上上CPU的服务已经结束,应该可以允许中断的申请.

8-18.执行以下指令后的结果有什么不同:

MOVAX,1234HMOVAX,1234H

MOVBX,5678HMOVBX,5678H

PUSHBXPUSHBX

PUSHAXPUSHAX

RETIRET

再进一步叙述IRET指令和RET指令有什么不同.

答:

执行左边一组指令后,IP=1234H.

执行右边一组指令后,CS=5678H,IP=1234H.

RET指令一般是近调用返回,只将堆栈顶部内容弹出到IP.

IRET指令一定是远调用的返回,要将栈顶4个字节弹出到CS和IP.还会将自动压

入的

标志寄存器的内容出栈到标志寄存器.

8-19向8259A的A0=l的端口发送--个命令字,如何可以确定这个命令字是初始

化命

令字ICW2而不是操作命令字OCW1

答:

要看前一个命令字是不是ICW1.如果是ICW1,则这个命令字是ICW2,否则就是

OCW1.

8-20.8259A的初始化有几种不同的情况,分别使用在什么条件下

答:

1)只使用ICW1和ICW2:单片8259,而且不使用ICW4.

2)使用ICW1,ICW2和ICW3:多片8259,但不使用ICW4.

3)使用ICW1,ICW2和ICW4:单片8259,但使用ICW4.

4)使用ICW1,ICW2,ICW3和ICW4:多片8259,也使用ICW4.

8-21.8259A设置为非自动结束中断,级联使用8259A时,主8259A的服务程序和

8259A的服务程序,在发送中断结束命令方面有什么不同

答:

主8259的服务程序要结束主8259A的ISR寄存器中的登记.从8259的服务程序

要结

束主8259A和从8259的ISR寄存器中的登记.

8-22.分析以下中断向量表写入程序:

MOVAX,0

MOVES,AX

MOVBX,01C8H

LEAAX,INTSUB

MOVES:[BX],AX

MOVAX,SEGINTSUB

MOVES:[BX+2],AX

相应中断源的中断类型号是什么请再用另外一种方式,完成这个中断向量表的

写入程

序.

答:

中断类型号是72H.

用DOS功能调用25H来写入:

PUSHDS

MOVAX,SEGINTSUB

MOVDS,AX

MOVDX,OFFSETINTSUB

MOVAL,72H

MOVAH,25H

INT21H

POPDS

8-23.以下的子程序1是中断初始化程序,子程序2是响应中断的中断服务程

序.OAOH

和20H都是8259A的端口地址.分析这些程序段,并回答问题:

子程序1:

INT-P2PROCFAR

PUSHDS

PUSHAX

PUSHDX

MOVDX,OFFSETINT-P1

MOVAX,SEGINT-P1

MOVDS,AX

MOVAL,78H

MOVAH,25H

INT21H

POPDX

POPAX

POPDS

RET

INT-P2ENDP

子程序2:

INT-P1PROCFAR

PUSHAX

INC[SI]

MOVAL,20H

OUTOAOH,AL

OUT20H,AL

POPAX

IRET

INT-P1ENDP

请问:

(1)分配给这个中断的中断类型号是什么

(2)CPU到中断向量表的哪四个地址单元取得入口地址

(3)中断源连接到8259A的哪个中断输入,是主8259A还是从8259A

(4)在该中断处理时能否实现中断嵌套为什么

答:

(1)中断类型号是78H.

(2)占用中断向量表的地址是:001E0H,001E1H,001E2H,001E3H.

(3)连接到8259A的IRO输入,是从8259A.

(4)不能中断嵌套.因为再服务程序中,没有STI指令.

8-24.修改例8-6的中断服务子程序,使得它能够应用于16位除数的除法溢出中

断.

入口参数是BX作为除数,被除数是指令隐含的.出口参数应该包括32位的商和

16位的余

数.请自己指定具体的出口参数,并完成中断服务程序的编程.

答:

32位的商存放在CX:AX,余数在DX

INTOOPROCFAR

POPCX;修改返回地址

ADDCX,2

PUSHCX

CMPBX,0

JNENEXT

LEADX,MESSAGE;除数为0,显示错误信息

MOVAH,09

INT21H

JMPFINISH

NEXT:PUSHAX;作除法,AX暂存于堆栈

MOVAX,DX;高16位改为低16位

MOVDX,0;高16位为0

DIVBX

MOVCX,AX;保存商的高16位

POPAX;恢复低16位被除数AX

DIVBX;商是CX:AX,余数是DX

FINISH:IRET

INTOOENDP

8-25.编写一个4号溢出中断的服务程序,取代原来系统中的相应程序.新程序的

功能

是显示有关溢出的错误信息,然后,中止程序的执行.编写一个测试程序,测试新

程序的功

能.测试程序要完成中断向量表4号中断入口地址的改写,并通过具有溢出结果

的运算来进

行测试.

答:

DATASEGMENT

MESSAGEDB"ARITHMETICOVERFLOW.",ODH,OAH,'$'

MESSAG1DB"AXISTHERESULT.”,ODH,OAH,'$'

DATAENDS

STACKSEGMENTSTACK'STACK'

DB50DUP(O)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACK

STARTPROCFAR

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

STI

MOVAL,4;保存原中断向量

MOVAH,35H

INT21H

PUSHES

PUSHBX

PUSHDS;写中断向量表

MOVAX,SEGINT04

MOVDS,AX

MOVDX,OFFSETINT04

MOVAL,4

MOVAH,25H

INT21H

POPDS

MOVAX,8080H;做加法

ADDAX,8080H

INTO

LEADX,MESSAG1;正常结束

MOVAH,09

INT21H

POPDX;恢复中断向量表

POPCX

PUSHDS

MOVDS,CX

MOVAL,4

MOVAH,25H

INT21H

POPDS

RET

STARTENDP

INT04PROCFAR

LEADX,MESSAGE;溢出,显示错误信息

MOVAH,09

INT21H

MOVAH,4CH

INT21H

FINISH:IRET

INT04ENDP

CODEENDS

ENDSTART

第9章微型计算机常用接口技术

习题

9T.试说明并行接口和串行接口在数据传输和内部结构上的主要区别

答:

.行接口使数据的各位同时在总线上传输,串行接口使数据一位一位地传输.因

为I/O

接口和微处理器之间的数据是并行的,所以两种接口的区别主要表现在I/O接口

与外设之间

的数据传送.

两种接口在结构上的主要区别在于串行接口需要进行并行与串行之间的相互转

换,而并

行接口无需进行这种变换.

9-2.8255A的方式0一般用在什么场合在方式0时欲使用应答信号进行联络应

该怎

么办

答:

8255A的方式0一般应用在无条件传送方式,即外设总是“准备好”的情况.也可以

在查询传送方式,这时可利用C口来配合A口和BU的输入/输出操作.

在方式0时,如果要用应答信号可把C口的4个位(高4位或低4位均可)规定为

出口,用来输出一些控制信号,而把C口的另外4个位规定为输入口,用来输入外

设的状

态.

9-3.8255A的工作方式控制字和置位/复位控制字都是写入控制端口的,那么它

们是由

什么来区分的如果利用CU置位/复位功能是否一次可以使C口的若干位同时置

1或置0

答:

^55A控制字的最高位(D7)为特征位,用来区分方式控制字和C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论