当前位置:文档之家› 《微型计算机原理与接口技术》清华大学出版社_冯博琴_吴宁主编_课后答案

《微型计算机原理与接口技术》清华大学出版社_冯博琴_吴宁主编_课后答案

《微型计算机原理与接口技术》清华大学出版社_冯博琴_吴宁主编_课后答案
《微型计算机原理与接口技术》清华大学出版社_冯博琴_吴宁主编_课后答案

第1章基础知识

1.1 计算机中常用的计数制有哪些?

解:二进制、八进制、十进制(BCD)、十六进制。

1.2 什么是机器码?什么是真值?

解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。

1.3 完成下列数制的转换。

微型计算机的基本工作原理

汇编语言程序设计

微型计算机接口技术

建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。

解:

(1)166,A6H

(2)0.75

(3)11111101.01B, FD.4H

(4 ) 5B.AH, (10010001.011000100101)BCD

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

原码(-127~+127)、(-32767~+32767)

补码(-128~+127)、(-32768~+32767)

反码(-127~+127)、(-32767~+32767)

1.5 写出下列真值对应的原码和补码的形式。

(1)X= -1110011B

(2)X= -71D

(3)X= +1001001B

解:

(1)原码:11110011 补码:10001101

(2)原码:11000111 补码:10111001

(3)原码:01001001 补码:01001001

1.6 写出符号数10110101B的反码和补码。

解:11001010,11001011

1.7 已知X和Y的真值,求[X+Y]的补码。

(1)X=-1110111B Y=+1011010B

(2)X=56D Y= -21D

解:

(1)11100011

(2)00100011

1.8 已知X= -1101001B,Y= -1010110B,用补码求X-Y的值。

解:11101101

1.9 请写出下列字符的ASCII码。

4A3-!

解:34H,41H,33H,3DH,21H

1.10 若给字符4和9的ASCII码加奇校验,应是多少?

解:34H,B9H

1.11 上题中若加偶校验,结果如何?

解:B4H,39H

1.12 计算下列表达式。

(1) (4EH+10110101B)x(0.0101)BCD=()D

(2)4EH-(24/08H+’B’/2)=()B

解:

(1)129.5D

(2)101010B

第2章微型计算机基础

2.6 简述CPU执行程序的过程。

解:当程序的第一条指令所在的地址送入程序计数器后,CPU就进入取指阶段准备取第一条指令。在取指阶段,CPU从内存中读出指令,并把指令送至指令寄存器IR暂存。在取指阶段结束后,机器就进入执行阶段,这时,由指令译码器对指令译码,再经控制器发出相应的控制信号,控制各部件执行指令所规定的具体操作。当一条指令执行完毕以后,就转入了下一条指令的取指阶段。以上步骤周而复始地循环,直到遇到停机指令。

2.7说明8086的EU和BIU的主要功能。在执行程序过程中他们是如何相互配合工作的?

解:执行单元EU负责执行指令。EU在工作时不断地从指令队列取出指令代码,对其译码后产生完成指令所需要的控制信息。数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS中。总线接口单元BIU负责CPU与存储器、I/O接口之间的信息传送。BIU取出的指令被送入指令队列供EU执行,BIU取出的数据被送入相关寄存器中以便做进一步的处理。

当EU从指令队列中取走指令,指令队列

出现空字节时,BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入队列中。当EU需要数据时,BIU根据EU给出的地址,从指定的内存单元或外设中取出数据供EU使用。当运算结束时,BIU将运算结果送入指定的内存单元或寄存器。当指令队列空时,EU就等待,直到有指令为止。若BIU正在取指令,EU发出访问总线的请求,则必须等BIU取指令完毕后,该请求才能得到响应。一般情况下,程序顺序执行,当遇到跳转指令时,BIU就使指令

队列复位,从新地址取出指令,并立即传送EU去执行。

指令队列的存在使8086/8088的EU和BIU并行工作,从而减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度。另外也降低了对存储器存取速度的要求。

2.8 在执行指令期间,BIU能直接访问存储器吗?为什么?

解:可以.因为EU和BIU可以并行工作,EU需要的指令可以从指令队列中获得,这时BIU预先从存储器中取出并放入指令队列的。在EU执行指令的同时,BIU可以访问存储器取下一条指令或指令执行时需要的数据。

2.9 8086与8088CPU的主要区别有哪些?

解:主要区别有以下几点:

①8086的外部数据总线有16位,而8088的外部数据总线只有8位。

②8086指令队列深度为6个字节,而8088的指令队列深度为4个字节.

③因为8086的外部数据总线有16位,故8086每个总线周期可以存取两个字节.而8088的外部数据总线因为只有8位,所以每个总线周期只能存取1个字节.

④个别引脚信号的含义稍有不同.

2.10 8088CPU工作在最小模式下:

(1)当CPU访问存储器时,要利用哪些信号?

(2)当CPU进行I/O操作时,要利用哪些信号?

(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻?

解:

(1)要利用信号线包括WR#、RD#、IO/M#、ALE以及AD0~AD7、A8~A19。(2)同(1)。

(3)所有三态输出的地址信号、数据信号和控制信号均置为高阻态。

2.11 总线周期中,什么情况下要插入TW 等待周期?插入TW周期的个数,取决于什么因素?

解:在每个总线周期的T3的开始处若READY为低电平,则CPU在T3后插入一个等待周期TW。在TW的开始时刻,CPU还要检查READY状态,若仍为低电平,则再插入一个TW 。此过程一直进行到某个TW开始时,READY已经变为高电平,这时下一个时钟周期才转入T4。

可以看出,插入TW周期的个数取决于READY电平维持的时间。

2.12 若8088工作在单CPU方式下,在教材第91页的表中填入不同操作时各控制信号的状态。

解:结果如表所示。

2.13 在8086/8088 CPU中,标志寄存器包含哪些标志位?各位为0(为1)分别表示什么含义?

解:(略),见书第49页。

2.14 8086/8088 CPU中,有哪些通用寄存器和专用寄存器?说明它们的作用。解:通用寄存器包含以下8个寄存器:

AX、BX、CX和DX寄存器一般用于存放参与运算的数据或运算的结果。除此之外:

AX:主要存放算术逻辑运算中的操作数,以及存放I/O操作的数据。

BX:存放访问内存时的基地址。

CX:在循环和串操作指令中用作计数器。

DX:在寄存器间接寻址的I/O指令中存放I/O地址。在做双字长乘除法运算时,DX与AX合起来存放一个双字长数。

SP:存放栈顶偏移地址。

BP:存放访问内存时的基地址。

SP和BP也可以存放数据,但它们的默认段寄存器都是SS。

SI:常在变址寻址方式中作为源地址指针。

DI:常在变址寻址方式中作为目标地址指针。

专用寄存器包括4个段寄存器和两个控制寄存器:

CS:代码段寄存器,用于存放代码段的段基地址。

DS:数据段寄存器,用于存放数据段的段基地址。

SS:堆栈段寄存器,用于存放堆栈段的段基地址。

ES:附加段寄存器,用于存放附加段的段基地址。

IP:指令指针寄存器,用于存放下一条要执行指令的偏移地址。

FLAGS:标志寄存器,用于存放运算结果的特征。

2.15 8086/8088 系统中,存储器为什么要分段?一个段最大为多少个字节?最小为多少个字节?

解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。

2.16 在8086/8088 CPU中,物理地址和逻辑地址是指什么?已知逻辑地址为1F00:38A0H,如何计算出其对应的物理地址?

解:物理地址时CPU存取存储器所用的地址。逻辑地址是段和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。

若已知逻辑地址为1F00:38A0H,则对应的物理地址=1F00H x 16+38A0H=228A0H。

2.17 已知存储器物理地址为78A00H,计算出它所对应的逻辑地址。此结果惟一吗?

解:物理地址可以对应于不同的逻辑地址。78A00H对应的逻辑地址可以是7000H:8A00H,7800H:0A00H,78A0H:0000H等。结果不是惟一的。

2.18 设当前数据段位于存储器的A8000H~B7FFFH,DS段寄存器的内容应是什么?

解:因为A8000H到B7FFFH之间的地址范围大小为64KB,未超出一个段的最大范围。故要访问此地址范围的数据,数据段的起始地址(即段首地址)应为A8000H,则DS段寄存器为A800H。

2.19 若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?

解(CS)=8000H时,当前代码段可寻址的存储空间范围为80000H~8FFFFH。

2.20 8086/8088 CPU 在最小模式下构成计算机系统至少应包括哪几个基本部分(器件)?

解:其至少应包括:8088CPU、8284时钟发生器、8282锁存器(3片)和8286双向总线驱动器。

第3章8088/8086指令系统

3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?

解:寻址方式主要是指获得操作数所在地址的方法. 8086/8088CPU具有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址一变址寻址、基址一变址-相对寻址以及隐含寻址等8种寻址方式。

3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?

(1) MOV AX,BX (2) MOV DL,80H

(3) MOV AX, VAR (4) MOV AX,VAR[BX][SI]

(5) MOV AL,'B' (6) MOV DI, ES: [BX]

(7) MOV DX,[BP] (8) MOV BX,20H[BX]

解:

(1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址.

(2)立即寻址。操作数80H存放于代码段中指令码MOV之后。

(3)直接寻址。

(4)基址一变址一相对寻址.

操作数的物理地址=(DS) ×16+(SI)+(BX)+VAR

= 60000H+00A0H+0800H+0050H=608F0H

(5)立即寻址

(6)寄存器间接寻址.

操作数的物理地址= (ES) ×16+(BX)

= 20000H+0800H = 20800H

(7)寄存器间接寻址。

操作数的物理地址= (SS) ×16+(BP)

= 15000H+1200H= 16200H

(8)寄存器相对寻址.

操作数的物理地址=(DS) ×16+(BX)+20H

= 60000H+0800H+20H= 60820H

3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H

试确定下列转移指令的转移地址.

(1) JMP 2300H

(2) JMP WORD PTR[BX]

(3) JMP DWORD PTR[BX+DATA]

解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,

以及段间的直接转移和间接转移地址。对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。

(1) 段内直接转移。转移的物理地址=(CS) ×l6 +2300H

=02000H+2300H=04300H

(2)段内间接转移。转移的物理地址= (CS) ×16+ [BX]

= (CS) × l6+(217A0H)

=02000H+2300H=04300H

(3)段间间接转移。转移的物理地址=[BX+DATA]

=(217E2H) × l6+(217E0H)

=90000H+0400H=90400H

3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。

解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.

后者是取偏移地址指令,执行的结果是(BX)= (BX)+5,即操作数的偏移地址为(BX)+5。

3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)= ?(AX)= ?(BX)=?

解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP 指令SP+2.所以,执行PUSH AX指令后,(SP)=22FEH;再执行PUSH BX及POP AX后,(SP)=22FEH,(AX)=(BX)=1234H

3.6 指出下列指令的错误:

(1) MOV AH,CX (2) MOV 33H,AL

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

(5) ADD BYTE PTR[BP],256 (6) MOV DATA[SI],ES:AX

(7) JMP BYTE PTR[BX] (8) OUT 230H,AX

(9) MOV DS,BP (10) MUL 39H

解:

(1)指令错。两操作数字长不相等

(2)指令错。MOV指令不允许目标操作数为立即数.

(3) 指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。

(4)指令错。MUV指令不允许两个操作数同时为存储器操作数。

(5)指令错。ADD指令要求两操作数等字长。

(6)指令错。源操作数形式错,寄存器操作数不加段重设符。

(7)指令错。转移地址的字长至少应是16位的。

(8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。

(9)指令正确。

(10)指令错。MUL指令不允许操作数为立即数。

3.7 已知(AL) =7BH, (BL) =38H,试问执行指令ADD AL, BL后,AF、CF、OF、PF、SF和ZF的值各为多少?

解:AF=1,CF=0,OF=1,PF=0,SF=l,ZF=0

3.8 试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?解:无条件转移指令的操作是无条件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以是在当前逻辑段,也可以是在不同的逻辑段;条件转移指令是在满足一定条件下使程序转移到指定的目标地址,其转移范围很小,在当前逻辑段的-128~+127地址范围内。

调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。根据所调用过程人口地址的位置可将调用指令分为段内调用(入口地址在当前逻辑段内)和段间调用。在执行调用指令后,CPU

要保护断点。对段内调用是将其下一条指令的偏移地址压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地址,然后将子程序人口地址赋给IP(或CS和IP).

中断指令是因一些突发事件而使CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序。它是随机的。在响应中断后CPU不仅要保护断点(即INT指令下一条指令的段地址和偏移地址),还要将标志寄存器FLAGS压入堆栈保存。

3.9 试判断下列程序执行后,BX中的内容.

MOV CL, 3

MOV BX,0B7H

ROL BX,1

ROR BX,CL

解:该程序段是首先将BX内容不带进位循环左移1位,再循环右移3位。即相当于将原BX内容不带进位循环右移2位,故结果为:(BX)=0C02DH

3.10按下列要求写出相应的指令或程序段。

(1)写出两条使AX内容为0的指令。

(2)使BL寄存器中的高4位和低4位互换。

(3)屏蔽CX寄存器的bll,b7和b3位。

(4)测试DX中的b0和b8位是否为1。

解:

(1)

MOV AX,0

XOR AX,AX ;AX寄存器自身相异或,可使其内容清0

(2)

MOV CL, 4

ROL BL,CL ;将BL内容循环左移4位,可实现其高4位和低4位的互换

(3)

AND CX,0F777H ;将CX寄存器中需屏蔽的位“与”0。也可用“或”指令实现(4)

AND DX,0101H ;将需侧试的位“与”1,其余“与”0屏蔽掉

CMP DX,0101 H ;与0101H比较

JZ ONE ;若相等则表示b0和b8位同时为1 .

.

3.11 分别指出以下两个程序段的功能:

(1) (2)

MOV CX,l0 CLD

LEA SI,FIRST LEA DI, [1200H]

LEA DI, SECOND MOV CX,0FOOH

STD XOR AX,AX

REP MOVSB REP STOSW

解:

(1)该段程序的功能是:将数据段中FIRST为最高地址的10个字节数据按减地址方向传送到附加段SECOND为最高地址的向前10个单元中。

(2)将附加段中偏移地址为1200H单元开始的0FOOH个字单元清0。

3.12 执行以下两条指令后,标志寄存器FLAGS的六个状态位各为什么状态?MOV AX,84A0H

ADD AX,9460H

解:执行ADD指令后,6个状态标志位的状态分别为:

在两个16位数进行加法运算时,对CF、ZF、SF和OF会产生影响,但对PF和AF标志位,只有其低8位的运算影响它们的状态。各标志位的状态分别为:AF=0,PF=1,CF=1,ZF=0,SF=0,OF=1。

3.13将+46和-38分别乘以2,可应用什么指令来完成?如果除以2呢?

解:因为对二进制数,每左移一位相当于乘以2,右移一位相当于除以2。所以,将+46和-38分别乘以2,可分别用逻辑左移指令(SHL)和算术左移指令(SAL) 完成。SHL指令针对无符号数,SAL指令针对有符号数。

当然,也可以分别用无符号数乘法指令MUL和有符号数乘法指令IMUL完成。如果是除以2,则进行相反操作,即用逻辑右移指令SHR或无符号数除法指令DIV 实现+46除以2的运算,用算术右移指令SAR或有符号数除法指令IDIV实现-38除以2的运算。

3.14已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H;PORT2的地址是84H,内容为85H。请指出下列指令执行后的结果。

(1)OUT DX, AL

(2) IN AL,PORT1

(3) OUT DX,AX

(4) IN AX,48H

(5) OUT PORT2,AX

解:

(1)将60H输出到地址为03F8H的端口中。

(2) 从PORT1读入一个字节数据,执行结果:(AL)=40H。

(3) 将AX=8060H输出到地址为03F8H的端口中。

(4)由48H端口读人16位二进制数。

(5)将8060H输出到地址为84H的端口中。

第4章汇编语言程序设计

4.1请分别用DB 、DW 、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H的数据定义语句.

解:DB,DW,DD伪指令分别表示定义的数据为字节类型、字类型及双字型.其定义形式为:

DATA DB 11H,22H,33H,44H,55H,66H,77H,88H

DATA DW 2211H,4433H,6655H,8877H

DATA DD 44332211H,88776655H

4.2若程序的数据段定义如下,写出各指令语句独立执行后的结果:

DSEG SEGMENT

DATA1 DB 10H,20H,30H

DATA2 DW 10 DUP(?)

STRING DB ‘123’

DSEG ENDS

(1) MOV AL,DATA1

(2) MOV BX,OFFSET DATA2

(3) LEA SI,STRING

ADD DI,SI

解:

取变量DATA1的值. 指令执行后,(AL)=10H.

变量DATA2的偏移地址. 指令执行后,(BX)=0003H.

(3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.

4.3 试编写求两个无符号双子长数之和的程序. 两数分别在MEM1和MEM2单元中,和放在SUM单元.

解:

DSEG SEGMENT

MEM1 DW 1122H,3344H

MEM2 DW 5566H,7788H

SUM DW 2 DUP(?)

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV AX,DSEG

MOV DS,AX

LEA BX,MEM1

LEA SI,MEM2

LEA DI,SUM

MOV CL,2

CLC

AGAIN: MOV AX,[BX]

ADC AX,[SI]

MOV [DI],AX

ADD BX,2

ADD SI,2

ADD DI,2

LOOP AGAIN

HLT

CSEG ENDS

END START

4.4试编写程序,测试AL寄存器的第4位(bit4)是否为0?

解: 测试寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种方法实现。

如:TEST AL,10H

JZ NEXT

.

.

.

NEXT:…

或者:MOV CL,4

SHL AL,CL

JNC NEXT

.

NEXT:…

4.7执行下列指令后,AX寄存器的内容是多少?

TABLE DW 10,20,30,40,50

ENTRY DW 3

.

.

.

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

解:(AX)=1E00H

4.12 画图说明下列语句分配的存储空间及初始化的数据值。

(1)DATA1 DB …BYTE?,12,12H,2 DUP(0,?,3)

(2)DATA2 DW 4 DUP(0,1,2),?,-5,256H

解:(1)存储空间分配情况如图(a)所示。

(2)存储空间分配情况如图(b)所示。

第5章存储器系统

5.1 内部存储器主要分为哪两类? 它们的主要区别是什么?

解: (1)分为ROM 和RAM 。

(2)它们之间的主要区别是:

ROM在正常工作时只能读出,不能写入。RAM则可读可写。

断电后,ROM中的内容不会丢失,RAM中的内容会丢失。

5.6 若采用6264芯片构成上述的内存空间,需要多少片6264芯片?

解:每个6264芯片的容量位8KB,故需432/8=54片。

5.7 设某微型机的内存RAM区的容量位128KB,若用2164芯片构成这样的存储器,需多少2164芯片?至少需多少根地址线?其中多少根用于片内寻址?多少根用于片选译码?

解:

(1)每个2164芯片的容量为64K×1bit,共需128/64×8=16片。

(2)128KB容量需要地址线17根。

(3)16根用于片内寻址。

(4)1根用于片选译码。

注意,用于片内寻址的16根地址线要通过二选一多路器连到2164芯片,因为2164芯片是DRAM,高位地址与低位地址是分时传送的。

5.9 甚什么是字扩展?什么是位扩展?用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?

解:

(1)当存储芯片的容量小于所需内存容量时,需要用多个芯片构成满足容量要求的存储器,这就是字扩展。

(2)当存储芯片每个单元的字长小于所需内存单元字长时,需要用多个芯片构成满足字长要求的存储模块,这就是位扩展。

(3)用户在市场上购买内存条进行内存扩充,所做的是字扩展的工作。

5.10 74LS138译码器的接线图如教材第245页的图5-47所示,试判断其输出端Y0#、Y3#、Y5#和Y7#所决定的内存地址范围。

解:因为是部分地址译码(A17不参加译码),故每个译码输出对应2个地址范围:

Y0#:00000H ~01FFFH 和20000H ~21FFFH

Y3#:06000H ~07FFFH 和26000H ~27FFFH

Y5#:0A000H ~0BFFFH 和2A000H ~2BFFFH

Y7#:0E000H ~0FFFFH 和2E000H ~2FFFFH

5.11 某8088系统用2764 ROM芯片和6264 SRAM芯片构成16KB的内存。其中,ROM的地址范围为0FE000H~0FFFFFH,RAM的地址范围为0F0000H~0F1FFFH。试利用74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称。

解:连接如下图所示。

5.12 叙述EPROM的编程过程,并说明EPROM和EEPROM的不同点。(不要求)

解:

(1)对EPROM芯片的编程过程详见教材第215~217页。

(2)EPROM与EEPROM的不同之处为:

。EPROM用紫外线擦除,EEPROM用电擦除。

。EPROM是整片擦除,EEPROM可以整片擦除,也可以逐个字节地擦除。

5.13 试说明FLASH EEPROM芯片的特点及28F040的编程过程。(不要求)解:

(1)特点是:它结合了RAM和ROM的优点,读写速度接近于RAM,断电后信息又不会丢失。

(2)28F040的编程过程详见教材第222~223页。

第6章输入输出和中断技术

6.3 主机与外部设备进行数据传送时,采用哪一种传送方式,CPU的效率最高?(不要求)

解:使用DMA传送方式CPU的效率最高。这是由DMA的工作性质所决定的。

6.5 某输入接口的地址为0E54H,输出接口的地址为01FBH,分别利用74LS244和74LS273作为输入和输出接口。试编写程序,使当输入接口的bit1、bit4和bit7位同时为1时,CPU将内存中DATA为首址的20个单元的数据从输出接口输出;若不满足上述条件则等待。

解:首先判断由输入接口读入数据的状态,若满足条件,则通过输出接口输出一个单元的数据;之后再判断状态是否满足,直到20个单元的数据都从输出接口输出。

LEA SI,DATA ;取数据偏移地址

MOV CL,20 ;数据长度送CL

AGAIN: MOV DX,0E54H

WAITT: IN AL,DX ;读入状态值

AND AL,92H ;屏蔽掉不相关位,仅保留bit1、bit4和bit7位状态

CMP AL,92H ;判断bit1、bit4和bit7位是否全为1

JNZ WAITT ;不满足bit1、bit4和bit7位同时为1则等待

MOV DX,01FBH

MOV AL,[SI]

OUT DX,AL ;满足条件则输出一个单元数据

INC SI ;修改地址指针

LOOP AGAIN ;若20个单元数据未传送完则循环

6.14 单片8259A能够管理多少级可屏蔽中断?若用3片级联能管理多少级可屏蔽中断?(不要求)

解:因为8259A有8位可屏蔽中断请求输入端,故单片8259A能够管理8级可屏蔽中断。若用3片级联,即1片用作主控芯片,两片作为从属芯片,每一片从属芯片可管理8级,则3片级联共可管理22级可屏蔽中断。

6.17 已知(SP)=0100H,(SS)=3500H,(CS)=9000H,(IP)=0200H,(00020H)=7FH,(00021H)=1AH,(00022H)=07H,(00023H)=6CH,在地址为90200H开始的连续两个单元中存放一条两字节指

令INT 8。试指出在执行该指令并进入相应的中断例程时,SP、SS、IP、CS寄存器的内容以及SP所指向的字单元的内容是什么?

解:CPU在响应中断请求时首先要进行断点保护,即要依次将FLAGS和INT下一条指令的CS、IP寄存器内容压入堆栈,亦即栈顶指针减6,而SS的内容不变。INT 8 指令是一条两字节指令,故其下一条指令的IP=0200H+2=0202H。

中断服务子程序的入口地址则存放在中断向量表(8×4)所指向的连续4个单元中。所以,在执行中断指令并进入响应的中断例程时,以上各寄存器的内容分别为:

SP=0100H-6=00FAH

SS=3500H

IP=[8×4]=1A7FH

CS=[(8×4)+2]=6C07H

[SP]=0200H+2=0202H

第7章常用数字接口电路

7.10 某8255芯片的地址范围为A380H~A383H,工作于方式0,A 口、B 口为输出口,现欲将PC4置“0”,PC7置“1”,试编写初始化程序。

解:该8255芯片的初始化程序包括置方式控制字及C口的按位操作控制字。程序如下:

MOV DX,0A383H ;内部控制寄存器地址送DX

MOV AL,80H ;方式控制字

OUT DX,AL

MOV AL,08H ;PC4置0

OUT DX,AL

MOV AL,0FH ;PC7置1

OUT DX,AL

7.11 设8255芯片的接口地址范围为03F8H~03FBH,A 组B 组均工作于方式0,A 口作为数据输出口,C 口低4 位作为控制信号输入口,其他端口未使用。试画出该片8255芯片与系统的电路连接图,并编写初始化程序。

解:8255芯片与系统的电路连接如图所示。

由题目知,不需对 C 口置位控制字,只需对8255置方式控制字,故其初始化程序如下:

MOV DX,03FBH

MOV AL,81H

OUT DX,AL

7.12 已知某8088微机系统的I/0接口电路框图如教材中图7-47所示。试完成:(1)根据图中接线,写出8255芯片、8253芯片各端口的地址。

(2)编写8255芯片和8253芯片的初始化程序。其中,8253芯片的OUT 1 端输出100Hz方波,8255芯片的A 口为输出,B 口和 C 口为输入。

(3)为8255芯片编写一个I/O控制子程序,其功能为:每调用一次,先检测PC0的状态,若PC0 = 0,则循环等待;若PC0 = 1,可从PB 口读取当前开关K 的位置(0~7 ),经转换计算从 A 口的PA0~PA3输出该位置的二进制编码,供LED显示。

解:

(1)8255芯片的地址范围为:8000H~FFFFH

8253芯片的地址范围为:0000H~7FFFH

(2)

;初始化8255芯片

MOV DX,8003H

MOV AL,8BH ;方式控制字,方式0,A 口输出,B 口和C 口输入

OUT DX,AL

;初始化8253

MOV DX,0003H ;内部寄存器口地址

MOV AL,76H ;计数器1,先写低8位/后写高8位,方式3,二进制计数OUT DX,AL

MOV DX,0001H ;计数器1端口地址

MOV AX,10000 ;设计数初值=10000

OUT DX,AL

MOV AL,AH

OUT DX,AL

(3)

;8255芯片的控制子程序

;定义显示开关位置的字形译码数据

DATA SEGMENT

BUFFER DB 3FH,06H,5BH,0FH,66H,6DH,7CH,07H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

MAIN PROC

PUSH DS

MOV AX,DATA

MOV DS,AX

CALL DISP

POP DX

RET

MAIN ENDP

;输出开关位置的二进制码程序

DISP PROC

PUSH CX

PUSH SI

XOR CX,CX

CLC

LEA SI,BUFFER

MOV DX,8002H ;C 口地址WAITT:IN AL,DX ;C 口状态TEST AL,01H

JZ WAITT

MOV DX,8001H ;读B 口的开关位置IN AL,DX

NEXT:SHR AL,1

INC CX

JC NEXT ;没有接地则移动

DEC CX

ADD SI,CX ;查表,CX 为开关位置MOV AL,[SI]

MOV DX,8000H

OUT DX,AL ;

POP SI

POP CX

RET

DISP ENDP

CODE ENDS

END MAIN

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机课后答案1

第1章作业答案 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形 成了微型计算机系统。 1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解: CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指 令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算 术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3 微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准 化,易于兼容和工业化生产。 1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单 向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址 (指定要读或写数据的单元),过一段时间再读或写数据。

1.8在给定的模型中,写出用累加器的办法实现15×15的程序。 解: LD A, 0 LD H, 15 LOOP:ADD A, 15 DEC H JP NZ, LOOP HALT 第 2 章作业答案 2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。 2.6 IA-32结构微处理器有哪几种操作模式? 解: IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操 作模式确定哪些指令和结构特性是可以访问的。 2.8 IA-32结构微处理器的地址空间如何形成? 解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。 2.15 8086微处理器的总线接口部件由哪几部分组成? 解: 8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

最新《微型计算机原理与接口技术》清华大学出版社-冯博琴-吴宁主编-课后答案

第1章基础知识 1.1 计算机中常用的计数制有哪些? 解:二进制、八进制、十进制(BCD)、十六进制。 1.2 什么是机器码?什么是真值? 解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。 1.3 完成下列数制的转换。 微型计算机的基本工作原理 汇编语言程序设计 微型计算机接口技术 建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。 解: (1)166,A6H (2)0.75 (3)11111101.01B, FD.4H (4 ) 5B.AH, (10010001.011000100101)BCD 1.4 8位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?解: 原码(-127~+127)、(-32767~+32767) 补码(-128~+127)、(-32768~+32767) 反码(-127~+127)、(-32767~+32767) 1.5 写出下列真值对应的原码和补码的形式。 (1)X= -1110011B (2)X= -71D (3)X= +1001001B 解: (1)原码:11110011 补码:10001101 (2)原码:11000111 补码:10111001 (3)原码:01001001 补码:01001001 1.6 写出符号数10110101B的反码和补码。 解:11001010,11001011 1.7 已知X和Y的真值,求[X+Y]的补码。 (1)X=-1110111B Y=+1011010B (2)X=56D Y= -21D 解: (1)11100011 (2)00100011 1.8 已知X= -1101001B,Y= -1010110B,用补码求X-Y的值。 解:11101101 1.9 请写出下列字符的ASCII码。 4A3-! 解:34H,41H,33H,3DH,21H

微机课后答案

第一章 1.微型计算机控制系统的硬件由哪几部分组成各部分作用 由四部分组成 (1)主机:这是微型计算机控制系统的核心,通过接口它可以向系统的各个部分发出各种命令,同时对被控对象的被控参数进行实时检测及处理。主机的主要功能是控制整个生产过程,按控制规律进行各种控制运算(如调节规律运算、最优化计算等)和操作,根据运算结果作出控制决策;对生产过程进行监督,使之处于最优工作状态;对事故进行预测和报警;编制生产技术报告,打印制表等等。 (2)输入输出通道:这是微机和生产对象之间进行信息交换的桥梁和纽带。过程输入通道把生产对象的被控参数转换成微机可以接收的数字代码。过程输出通道把微机输出的控制命令和数据,转换成可以对生产对象进行控制的信号。过程输入输出通道包括模拟量输入输出通道和数字量输入输出通道。 (3)外部设备:这是实现微机和外界进行信息交换的设备,简称外设,包括人机联系设备(操作台)、输入输出设备(磁盘驱动器、键盘、打印机、显示终端等)和外存贮器(磁盘)。其中作台应具备显示功能,即根据操作人员的要求,能立即显示所要求的内容;还应有按钮,完成系统的启、停等功能;操作台还要保证即使操作错误也不会造成恶劣后果,即应有保护功能.

(4)检测与执行机构:a.测量变送单元:在微机控制系统中,为了收集和测量各种参数,采用了各种检测元件及变送器,其主要功能是将被检测参数的非电量转换成电量.b. 执行机构:要控制生产过程,必须有执行机构,它是微机控制系统中的重要部件,其功能是根据微机输出的控制信号,改变输出的角位移或直线位移,并通过调节机构改变被调介质的流量或能量,使生产过程符合预定的要求。 2、微型计算机控制系统的软件有什么作用说出各部分软件的作用。 软件是指能够完成各种功能的计算机程序的总和。整个计算机系统的动作,都是在软件的指挥下协调进行的,因此说软件是微机系统的中枢神经。就功能来分,软件可分为系统软件、应用软件及数据库。 (1)系统软件:它是由计算机设计者提供的专门用来使用和管理计算机的程序。对用户来说,系统软件只是作为开发应用软件的工具,是不需要自己设计的。 系统软件包括:a.操作系统:即为管理程序、磁盘操作系统程序、监控程序等; b.诊断系统:指的是调节程序及故障诊断程序; c.开发系统:包括各种程序设计语言、语言处理程序(编译程序)、服务程序(装配程序和编辑程序)、模拟主系统(系统模拟、仿真、移植软件)、数据管理系统等; d.信息处理:指文字翻译、企业管理等。

微机原理课后作业答案(第五版)

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1)1200:3500H=1200H×16+3500H=15500H (2)FF00:0458H=FF00H×16+0458H=FF458H (3)3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH (2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH (3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是283AH; 从2001H单元取出一个字数据需要2次操作,数据是5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理[第三版]课后练习答案解析

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

微机原理课后答案

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

微机原理课后习题答案

第二章 1.8086CPU由哪两部分组成?它们的主要功能是什么? 8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。 2.8086CPU中有哪些寄存器?各有什么用途? 8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。 4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。 指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成20位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。 5.要完成下述运算或控制,用什么标志位判断?其值是什么? ⑴比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。 ⑵两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。 ⑶两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。 ⑷采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。 (5)两数相减后比较大小? ●ZF=1时,说明两数是相等的; ●ZF=0时: 无符号数时,CF=0,被减数大;CF=1,被减数小。 带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。 (6)中断信号能否允许? 用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。 6.8086系统中存储器采用什么结构?用什么信号来选中存储体? 8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0,BHE=0时,访问两个存储体。 9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址 a)1000H 10000H~1FFFFH b)1234H 12340H~2233FH c)2300H 23000H~32FFFH d)E000H E0000H~EFFFFH e)AB00H AB000H~BAFFFH

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理课后答案

课后练习题 一、填空题 1.将二进制数转换为十六进制数为。 2.将十进制数199转换为二进制数为____ ____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数转换成二进制是。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数转换成二进制为、八进制、十六进制。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出 B)后进先出 C)随机读写 D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? 将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 指令按其在存储器中存放的顺序执行; 由控制器控制整个程序和数据的存取以及程序的执行; 以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为

微机原理课后习题答案

第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA

微机原理习题2参考答案

习题2参考答案 2.1 8086 CPU共有哪些16位寄存器?其中哪些16位寄存器可分为二个8位寄存器来使用? 参考答案:8086 CPU共有AX、BX、CX、DX、SI、DI、SP、BP、IP、FLAGS、CS、DS、ES、SS共14个16位的寄存器。其中AX、BX、CX、DX可分为二个8位寄存器来使用 2.2 简述8086 CPU各通用寄存器的主要功能? 参考答案:8086 CPU包含AX、BX、CX、DX、SI、DI、SP、BP共8个通用寄存器。其中AX主要用在字的乘、除法,输入/输出指令中;BX主要在寄存器间接寻址和XLAT 指令中作基址寄存器使用;CX主要在串操作指令和LOOP指令中作计数器使用;DX主要在字的乘除法指令和输入/输出指令中使用;SI主要在字符串操作指令中作源变址寄存器使用;DI主要在字符串操作指令中作目的变址寄存器使用;SP主要在堆栈操作中作堆栈指针使用;BP主要在寄存器间接寻址中作基址指针使用。 2.3 8086 CPU的标志寄存器有几个状态标志位?几个控制标志位?它们各自的含义和作用是什么?在Debug环境下,对应的用什么符号来表示之? 参考答案:8086 CPU的标志寄存器有6个状态标志位,有3个控制标志位。 其中CF进位标志位主要用来反映运算结果是否产生进位或借位,如果运算结果的最高位向前产生了一个进位(加法)或借位(减法),则其值为1,否则其值为0;PF奇偶标志位用于反映运算结果中低8位含有“1”的个数的奇偶性,如果“1”的个数为偶数,则PF 的值为1,否则为0;AF辅助进位标志位表示加法或减法运算结果中D3位向D4位产生进位或借位的情况,有进位(借位)时AF=1;无进位(借位)时AF=0;ZF零标志位用来反映运算结果是否为0,如果运算结果为0,则其值为1,否则其值为0;SF用来反映运算结果的符号位,当运算结果为负数时,SF的值为1,否则其值为0;OF溢出标志位用于反映带符号数运算所得结果是否溢出,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。 IF中断允许标志位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求,当IF=1时,CPU响应;当IF=0时,CPU不响应。DF方向标志位用来控制串操作指令中地址指针的变化方向。在串操作指令中,当DF=0时,地址指针为自动增量,即由低地址向高地址变化;当DF=1时,地址指针自动减量,即由高地址向低地址变化。TF追踪标志位被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。 在Debug环境下,对应的表示符号如下表 2.4 默认情况下,哪些寄存器可用于读取堆栈段的数据? 参考答案:SP和BP 2.5有效地址就是偏移地址的说法正确吗? 参考答案:正确 2.6假设用以下寄存器组合来访问存储单元,试求出它们所访问单元的物理地址。 (1)DS=1000H和DI=F000H (2)SS=C300H和BP=3200H (3)DS=A000H 和BX=1000H 参考答案:(1)物理地址=1000H*16+ F000H= 1F000H

微机原理与接口专业技术第三版吴宁冯博琴试题库(含答案)

1. 假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,试确定在以下各种寻址方式下的有效地址是什么? (1)立即寻址 (2)直接寻址 (3)使用BX的寄存器寻址 (4)使用BX的间接寻址 (5)使用BX的寄存器相对寻址 (6)基址变址寻址 (7)相对基址变址寻址 答:(1)立即数寻址的有效地址是当前IP的内容; (2)直接寻址,若使用位移量D=3237H进行,则有效地址为3237H; (3)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址; (4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH; (5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H; (6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H; (7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H; 2. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式: (1)寄存器间接寻址 (2)寄存器相对寻址 (3)基址变址寻址 答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK ADD BX,12 MOV DX,[BX] (2)使用寄存器相对寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:

MOV BX,BLOCK MOV DX,[BX+12] (3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOVBX,BLOCK MOV SI,12 MOV DX,[BX+SI] 3.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。 (1)MOVAX,1200H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,[BX] (5)MOV AX,[BX+1100] (6)MOV AX,[BX+SI] (7)MOV AX,[BX+SI+1100] 答:(1)指令MOV AX,1200H执行完后AX寄存器的内容为1200H; (2)指令MOVAX,BX执行完后AX寄存器的内容为0100H; (3)指令MOV AX,[1200H]是将从物理地址=(DS)*10H+1200H=21200H开始的两个单元内容送AX,执行完后AX寄存器的内容为4C2AH; (4)指令MOV AX,[BX]是将从物理地址=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故执行完后AX寄存器的内容为3412H;

微机课后答案整理

3.2 指出下列MOV指令的源操作数的寻址方式: MOV AX,1234H MOV AX,BX MOV AX,[BX] MOV AX,TABLE;TABLE ;TABLE是一个变量名 MOV AX,[1234H] MOV AX,[BX+1234H] MOV AX,[BP][SI] MOV AX,[BX+SI-1234H] 【解】:MOV AX,1234H 立即寻址 MOV AX,BX 寄存器寻址 MOV AX,[BX] 寄存器间接寻址 MOV AX,TABLE ;TABLE是一个变量名直接寻址方式 MOV AX,[1234H] 直接寻址方式 MOV AX,[BX+1234H] 寄存器相对寻址 MOV AX,[BP][SI] 基址变址寻址 MOV AX,[BX+SI-1234H] 相对地址变址寻址 3.3 设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H。求下列每条指令源操作数的存储单元地址:MOV AX,[1234H] MOV AX,[BX] MOV AX,TABLE[BX] MOV AX,[BP] MOV AX,[BP][SI] 【解】:存储单元地址:(DS)×10H + EA =2000H×10H+1234H=21234H 存储单元地址:(DS)×10H +(BX)=2000H×10H+0100H=20100H 存储单元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH 存储单元地址:(SS)×10H+EA=1000H×10H+0010H=10010H 储单元地址:(SS)×10H+EA=1000H×10H+0010H+0002H =10012H 3.4 设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式: ⑴直接寻址⑵寄存器间接寻址⑶寄存器相对寻址⑷基址变址寻址 【解】:(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址MOV AX, ARRAY+8 MOV BX, ARRAY+8 MOV BX, 8 LEA BX, ARRAY MOV AX, [BX] MOV AX, ARRAY[BX] MOV SI, 8 MOV AX,[BX+SI] 3.7 下列每组指令有何区别? (1)MOV AX,1234H 立即寻址 MOV AX,[1234H] 直接寻址 (2)MOV AX,TABLE 直接寻址 MOV AX,[TABLE] 直接寻址 (3)MOV AX,TABLE 将TABLE的内容送AX LEA AX,TALBE 将TABLE的偏移量送AX

微机原理作业及参考答案

第一章计算机基础(P32) 1-3写出下列机器数的真值: (1)01101110 (2) (3)01011001 (4) 答案: (1)+110 (2)-13(原码) -114(反码)-115(补码) (3)+89 (4)-78(原码)-49(反码)-50(补码) 1-4写出下列二进制数的原码、反码和补码(设字长为8位): (1)+010111 (2)+101011 (3)-101000 (4)-111111 答案: (1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原= [x]反= [x]补= (4)[x]原= [x]反= [x]补= 1-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少? (1)00001110 表示原码14,反码14,表示补码为14 (2)表示原码-127,反码-0,表示补码为-1 (3)表示原码-0,反码-127,表示补码为-128 (4)表示原码-1,反码-126,表示补码为-127 1-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位) (1)[x1+y1]补(2)[x1-y2]补 (3)[x2-y2]补(4)[x2+y2]补 (5)[x1+2*y2]补(6)[x2+y2/8]补 答案: (1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101 (2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101 (3)[x2-y2]补=[x2]补+[-y2]补=+00100001=00001101 (4)[x2+y2]补=[x2]补+[y2]补=+= (5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+= (6)[x2+y2/8]补=+[y2/8]补=+= 1-7 用补码来完成下列运算,并判断有无溢出产生(字长为8位): (1)85+60 (2)-85+60 (3)85-60 (4)-85-60 答案: (1)[x]补+[y]补=01010101+00111100= = -111,有溢出

相关主题
文本预览
相关文档 最新文档