计算机组成原理与汇编语言课后习题及作业答案_第1页
计算机组成原理与汇编语言课后习题及作业答案_第2页
计算机组成原理与汇编语言课后习题及作业答案_第3页
计算机组成原理与汇编语言课后习题及作业答案_第4页
计算机组成原理与汇编语言课后习题及作业答案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

《计算机组成原理与汇编语言》课后习题及作业答案

王建东2006年9月

第一章习题参考答案

1、什么是存储程序工作方式?

(P.2.)

答:(1)事先编制程序

(2)实现存储程序

(3)自动、连续地执行程序

2、采用数字化方法表示信息有哪些优点?

(P.5.)

答:(1)抗干扰能力强,可靠性高

(2)在表示数值时,可以获得很宽的表示范围以及很高的精度。

(3)数字化的信息可以存储,信息传送也比较容易实现。

(4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,着就形成了计算机硬件设计的基础。

3、如果有7X9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

0000000

0001000

0010100

0100010

0111110

0100010

0100010

0100010

0000000

4、数字计算机的主要特点是什么?

(P.16.)

答:(1)能在程序控制下自动连续地工作

(2)运算速度快

(3)运算精度高

(4)具有很强的信息存储能力

(5)通用性强,应用领域极其广泛

5、衡量计算机的基本指标有哪些?

(P.17.)

答:(1)基本字长

(2)数据通路宽度

(3)运算速度

(4)主存储器容量

(5)外存容量

(6)配置的外围设备及其性能

(7)系统软件配置

6、举出一种实际计算机,列举出各部件、设备的技术性能及常配置的软件?

7、软件系统一般包含哪些部分?列举你熟悉的三种系统软件。

(P.9.)

答:系统软件是一组使计算机良好运行而编制的基础软件。它包括:

(1)操作系统如:Windows2000,Linux,Unix

(2)编译程序、解释程序如:C++编译程序,Peal解释程序

(3)各种软件平台如:数据库管理系统

8、对源程序的处理有哪两种基本方式?

(P.11.)

答:对源程序的处理有解释和编译两种类型。

解释方式是边解释边执行。如:BASIC它的优点是支持人机对话方式的程序设计,可以边执行边

修改;所需要的主存空间较小。但这种方式执行速度较慢,不能解释那些前后关联较多,较难理解的

程序设计语言。

编译方式是将源程序全部翻译成机器语言的指令序列,称为目标程序(目标代码)。执行时,计

算机将直接执行目标程序,不再需要源程序与翻译程序。在执行程序时,所需主存小,执行速度也较

快。

第二章习题参考答案

1、将二进制数(101010.01)2转换为十进制数及BCD码

(P.25.)

53

答:(101010.01)2=1X2+1X2+1X2'+1X2'=(42.25)10

=(01000010.00100101)BCD

2、将八进制数(37.2)8转换为十进制数及BCD码

(P.25.)

答:(37.2)8=3x8=7x80+2x8'=(31.25),o

=(00110001.00100101)

3、将十六进制数(AC.E)is转换为十进制数及BCD码

(P.25.)

答:(AC.E*10xl6'+12xl60+14xl6f=(172.875),»

=(000101110010.100001110101)»

4、将十进制数(75.34)«)转换为二进制数及八进制数、十六进制数

(P.25.)

答:(73.34)io=(1001001.010101011)2

=(111.253)8

=(49.55))«

5、将十进制数(13/128工。转换为二进制数

(P.25.)

7

答:(13/128),0=(1101/10000000)2=(1101/2)2

=(0.0001101)2

6、分别写出下列各二进制数的原码、补码、字长(含一位数符)为8位

(P30.)

答:⑴0原码=00000000补码=00000000

(2)-0原码=10000000补码=无

(3)0.1010原码=01010000补码=01010000

(4)-0.1010原码=11010000补码=10110000

(5)1010原码=00001010补码=00001010

(6)-1010原码=10001010补码=11110110

7、若X"=0.1010,则X原、真值等于什么?

(P.33.)

答:X行0.1010,XK=0.1010,真值=+0.1010

8、若X/1.1010,则X^、真值等于什么?

(P.33.)

答:X产1.1010,XKI=1.0110,真值=-0.0110

9、某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十进制真值。

(P.35.)

答:真值代码

非零最小正数+2年0000000000000001

最大正数1-2*0111111111111111

绝对值最小负数-231000000000000001

绝对值最大负数-(1-2")1111111111111111

10、某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真

值。

(P.35.)

答:真值代码

非零最小正数+2150000000000000001

最大正数1-2150111111111111111

绝对值最小负数-2-151111111111111111

绝对值最大负数-11000000000000000

11、某浮点数字长16位,其中阶码6位,含1位阶符,补码表示,以2为底;尾数10位(含1位数

符),补码表示,规格化。分别写出下列各典型值的二进制代码与十进制真值。

(P.37.m=5,n=9)

答:代码真值

非零最小正数100000,0.100000000略

最大正数011111,0.111111111略

绝对值最小负数100000,1.100000000略

绝对值最大负数011111,1.000000000略

12、若采用图2-2IEEE754短浮点数格式,请将十进制数37.25写成浮点数,列出其二进制代码序列。

(P.37.)

110

答:(37.25)10=(100101.01)2=(0.10010101x2)2

00000011010010101000000000000000

13、简化地址结构的基本途径是什么?

(P.42.)

答:采用隐地址(隐含约定)可以简化指令地址结构,即减少指令中的显地址数。

14、减少指令中一个地址码位数的方法是什么?

(P.46.)

答:采用寄存器寻址方式、寄存器间址方式可以使指令中为给出一个地址所需的位数减少。

15、某主存部分单元的地址码与存储内容对应关系如下:

地址码存储内容

1000HA307H

1001H0B3FH

1002H1200H

1003IIF03CH

1004HD024H

(1)若采用寄存器间址方式读取操作数,指定R0的内容为1002H则操作数是多少?

(2)若采用自增型寄存器间址方式(RO)+,R0内容为1000H,则操作数是多少,指令执行完后,R0

内容是什么?

(3)若采用自增减型寄存器间址方式-(RI),R1内容为1003H,则操作数是多少,指令执行完后,

R1内容是什么?

(4)若采用变址寻址方式,X(R2),指令中给出形式地址d=3H,变址寄存器R2内容为1000H,

则操作数是多少?

(P.47.)

答:⑴操作数为120011

(2)操作数为A307H,R0=1001H

(3)操作数为1200H,为=1002H

(4)操作数为F03cH

16、对I/O设备的编址方法有哪几种?请稍作解释。

(P.52.)

答:I/O设备的编址方法有两类

(1)外围设备单独编址

为每台设备分配一个设备码。或为I/O接口中的有关寄存器分配I/O端口地址,。

(2)外围设备统一编址

将I/O接口中的有关寄存器与主存单元统一编址,为它们分配统一的总线地址。

17、对I/O指令的设置方法有哪几种?请稍作解释。

(P.52.)

答:常见I/O指令的设置方法:

(1)设置专用的I/O指令

(2)用通用的数据传送指令实现I/O操作

(3)通过I/O处理器或处理机控制I/O操作

第三章习题参考答案

1、试说明串行进位和并行进位方式的不同之处。

(P.61.)

答:

串行进位中进位是逐级形成的,每一级的进位直接依赖于前一级的进位,延迟时间较长,但节省

器件,成本低。

并行进位中,各位进位信号都有独自的进位形成逻辑,每位进位信号的产生时间都相同,与低位

进位无关,可有效地减少进位延迟时间。但这是以增加逻辑线路为代价的。

2、用74181和74182芯片构成一个64位的ALU,采用分级分组并行进位链。画出逻辑框图,并注明

输入、输出等。

参考(P.63.图3-6)

答:P.63.图3-6画出了一个16位的并行进位ALU结构(每个74181芯片处理4位,16位需要4

片74181芯片,组间用1片74182芯片产生组间并行进位。)

64位ALU,可采用4组图3-6的结构,每组处理16位,再用1片74182,处理组间进位。

3、用变形补码计算DCh+[Y]补,并指出是否溢出,说明是正溢还是负溢。

(P.66.)

答:

(1)[X]»=00,110011[Y]t,.=00,101101

[X]»+[Y]H=01,100000,正溢出

(2)[X]?h=00,010110[Y]朴=00,100101

[X]#+[Y]tt=00,111011无溢出

(3)[X]朴=00,1110011[Y]补=11,101101

[X]»+[Y]tt=11,100000,无溢出

(4)[X]tt=l1,001101[Y]lh=l1,010011

[X]朴+[丫]朴=10,100000,负溢出

4、用变形补码计算[X]k[Y]朴,并指出是否溢出。

(P.64.P.66.)

答:

(1)[X]tt=00,110011[Y]^=00,101101[-Y]ib=ll,010011

[X]tt-[Y]tt=[X]朴」-Y]朴=00,000110

(2)[X]tt=00,110011[Y]th=ll,010011[-0,101101

[X]#-[Y]»=[X]tt+[-Y]»=01,100000

(3)[X]朴=00,100011[Y]tt=00,110100[-Y]th=l1,001100

[X]tt-[Y]tt=[X]tt>L-Y]»=11,101111

(4)[X]tt=ll,101010[Y]IF=11,110111[-Y]th=00,110111

[X][Y]补[X]朴**丫]补=11,110011

5、设两个浮点数X=2"Ux0.llOllk,Y=2⑹°x(-0.101001)2,其浮点格式为:阶码4位,尾数8

位,且均用双符号位补码表示。试按浮点加减运算规则计算[X]朴+[Y]朴和[X]补-[Y]补

(P.70.)

答:按照浮点格式:阶码4位,尾数8位,且均用双符号位补码表示

阶码尾数

2]浮=1101;00.110111

[丫]浮=1110;11.010111

执行[X]补+[丫]补的过程:

(1)对阶

求阶差[Ex]产1101[Ey]th=1110[-Ey]tt=0010

[△E]=[Ex][Ey[补JEX]朴+[-Ey]产1101+0010=1111

[△E]=T表明X的阶码较小,按对阶规则,将X尾数右移一位,其阶码加1,得:

区|浮=1110;00.0110111按舍0入1的原则

日]浮=1110;00.011100

(2)尾数求和

00.011100+11.010111=11.110011

3规格化及判溢出

尾数不是规格化的数,需要左移2位,规格化,11.nooii->11.001100

阶码减2:1100

[X*+[Y]产1100;11.001100

溢出问题:-4WEW3而Ex+y=-4未溢出

4不用舍入

由于是左规,结果不需要舍入。[X]»+[Y]»b=1100;11.001100

100

=2x(0.110111)2

执行[X]y[Y]补的过程:

(1)对阶

求阶差[Ex]行1101[Ey]lh=1110[-Ey]tt=0010

[△E]=[Ex]-[Ey]朴jEx]补+-Ey].=1101+0010=1111

[△E]=T表明X的阶码较小,按对阶规则,将X尾数右移一位,其阶码加1,得:[X]

浮=1110;00.0110111按舍0入1的原则

口]浮=1110;00.011100

(2)尾数相减

[Mx](r00.011100[My]补=11.010111[-MyLn-00.101001

[Mx]补-[My].[Mx][-My]#=00.011100+00.101001=01.000101

3规格化及判溢出

溢出问题:尾数数符为01,发生正溢出,结果不正确。

6、用无符号数一位乘法计算X*Y,写出规范的运算过程。

(P.74.)(绿色数字代表部分积,紫色代表部分积进位,红色是被乘数,褐色是乘数)

答:

(1)X=1001Y=1101

B(被乘数)1001

CaA(部分积)C(乘数)

000001101

000001101

+B1001

co=o1001

01001110

+0()000

co=o0100

00100111

+B1001

co=o1011

01011011

+B1001

co=o1110

01110101

X*Y=01110101

(2)X=1101Y=11H

B(被乘数)

CaA(部分积)C(乘数)

000001111

000001111

+B1101

co=o1101

01101111

+B1101

C0=10011

10011111

+B1101

co=10110

10110111

+B1101

C0=11000

11000011

X*Y=11(MM)()11

(3)X=1010Y=1001

B(被乘数)1010

CaA(部分积)C(乘数)

000001001

000001001

+B1010

co=o1010

01010100

+00000

co=o0101

00101010

+00000

co=o0010

00010101

+B1010

C0=01011

01011010

X*Y=01011010

7、用无符号数不恢复余数法求X+Y,写出运算过程,分别给出求得的尚和余数。

(P.76.)

答:(红色是被除数,褐色是除数)

(1)x=ooioiooiY=ion

B(除数)01011[-B]补=10101

A(被除数高位)C(被除数低位)

000101001初始状态

<-001010010A、C左移一位

+)-B10101减除数

A<0110100010A<0,商0,下步左移后+B

<-101000100A、C左移一位

+)+B01011加除数

A<0111110100A<0,商0,下步左移后+B

<-111101000A、C左移一位

+)+B01011加除数

A>0010011001AM),商1,下步左移后-B

<-100110010A、C左移一位

+)-B10101减除数

A>0010000011A>0,商1

余数商

XvY=0011余1000

(2)X=00110110Y=llll

B(除数)01111[-B]补=10001

A(被除数高位)C(被除数低位)

000110110初始状态

<-001101100A、C左移一位

+)-B10001减除数

A<0101111100A<0,商0,下步左移后+B

<-011111000A、C左移一位

+)+B01111加除数

A<0111101000A<0,商0,下步左移后+B

<-111010000A、C左移一位

+)+B01111加除数

A>0011000001AM),商1,下步左移后-B

<-110000010A、C左移一位

+)-B10001减除数

A>0010010011A>0,商1

余数商

XvY=OOll余1001

(3)X=01011010Y=1001

B(除数)01001[-B]补=10111

A(被除数高位)C(被除数低位)

001011010初始状态

<-010110100A、C左移一位

+)-B10111减除数

A>0000100101A>0,商1,下步左移后-B

<-001001010A、C左移一位

+)-B10111减除数

A<0110111010A<0,商0,下步左移后+B

<-101110100A、C左移一位

+)+B01001加除数

A>0000000101AX),商1,下步左移

<-000001010A、C左移一位,

余数商(因为余数为0,商补0)

X-rY=1010余0000

8、简要解释下列名词术语:

答:

微命令:(p.81.)微操作命令是最基本的控制信号,通常是指直接作用于部件或控制门电路的控制信

号,简称微命令。

同步控制方式:(p.84.)同步控制方式是指各项操作由统一的时序信号进行同步控制,,各个微操作

必须在规定时间内完成,到达规定时间就自动执行后继的微操作。

指令周期:(P.85.)指令周期是指从取指令、分析指令到执行完该指令所需的时间。不同的指令,其

指令周期的长短也可以不同。

机器周期:(p.85.)在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的

时间,称为机器周期,又称CPU工作周期或基本周期。(如取指周期、存储器读周期、存储器写周期、

等)

时钟周期:(P.86.)将一个机器周期划分为若干相等的时间段,每个时间段内完成一步基本操作。这

个时间段用一个电平信号宽度对应,称为节拍或时钟周期。一个机器周期由若干个节拍组成,不同的

机器周期,或不同指令中的同一机器周期,包含的节拍数可能不同。

时钟脉冲:(p.86.)在时序系统中由时钟发生器产生时钟脉冲信号,作为时序系统的基本定时信号。

指令流程:(P.94.)指令流程是指令序列的读取与执行过程,即讨论CPU的工作机制。

微指令:(p.105.)若干个微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一

步操作。

微程序:(p.105.)一系列微指令的有序集合

微周期:(p.105.)通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。

直接控制编码:(p.105.)直接控制编码是指微指令的微命令字段中每一位都代表一个微命令。设计

微指令时,选用或不选用某个微命令,只要将该微命令的对应位设置成1或0就可以了。因此微命令

的产生不需译码。

分段直接编译法:(p.106.)分段直接编译法是在直接编译法基础上,进一步缩短微指令字长的一种

编码方法。在这种编译法中,一个字段的含义不仅决定于本字段编码,还兼由其它字段来解释,以便

使用较少的信息位表示更多的微命令。

增量方式:(p.108.)在微程序控制器中,可设置一个微程序计数器(RPC),在顺序执行微指令时,

后继指令地址由现行微地址(即RPC内容)加上一个增量(通常为1)来形成,遇到转移时,由微指

令给出转移微地址,使微程序按新的顺序执行。

断定方式:(p.108.)断定型微地址是指后继微地址可由程序设计者指定,或者根据微指令所规定的

测试结果直接决定后继微地址的全部或部分值。

垂直型微指令:(p.109.)微指令较短,微指令的并行操作能力有限,一般一条微指令只能控制数据

通路的一二种信息传送操作。

水平型微指令:(P.109.)微指令较长,微指令中的微操作具有高度并行性。特点:执行效率高,灵

活性好,微程序条数少,因此广泛应用于速度较快的机器中,但其微指令字较长,复杂程度高,难以

实现微程序设计自动化。

9、试说明模型机中下列寄存器的作用:

(P.78.)

答:

通用寄存器:RO、RI、R2、R3这是一组可编程访问,具有多种功能的寄存器。在指令系统中为这些

寄存器分配了编号即寄存器地址,因此可编程指定使用某个寄存器。通用寄存器本身在逻辑上只具有

接收信息、存储信息和发送信息的功能。但通过编程与运算部件的配合就可以实现多种功能。

暂存器:暂存器有3个,C,D,Z。可以用来暂存从主存储器读出的数据,这个数据是不能存放在通

用寄存器中,否则会破坏其原有的内容。指令系统中没有为暂存器分配编号,因此程序员不能编程访

问它们,因而是透明的。

IR:指令寄存器IR,用来存放当前正在执行的一条指令。当执行一条指令时,应先将指令从主存中

读出到IR中。

PC:程序计数器又称为指令计数器或指令指针IP,它的作用是提供指令的地址。PC具有加1计数功

能,并可以编程访问。

PS:程序状态字寄存器又称为标志寄存器,用来存放现行程序的运行状态和工作方式,其内容称为程

序状态字PWS。

MAR:地址寄存器MAR,用于存放CPU访问主存或I/O接口的地址。

MDR:数据寄存器MDR,用于存放CPU访问主存或I/O接口之间传送的数据。

10、模型机中的脉冲型微命令有哪些?

(P.81)

答:模型机中,各寄存器均采用同步打入脉冲将ALU总线上的数据打入其中。脉冲型微命令有:CP”,

CPm,CPpc,CP1R,CPsr,CPuAR,CPilDR,

11、何谓组合逻辑控制器?何谓微程序控制器?试比较它们的优缺点。

(P.87.P.102.P.103.)

答:

组合逻辑控制器是用逻辑门电路产生微命令的。每个微命令都需要一组逻辑门电路,根据相应的

逻辑条件(如指令的操作码、寻址方式、时序信号等)产生该微命令。组合逻辑控制器一旦制造完成,

这些逻辑电路之间的连接关系就固定了,不易改动,所以又称为硬连逻辑控制器。

微程序控制器是采用微程序控制方式来产生微命令。基本思想:(1)将机器指令分解为基本的微

命令序列,用二进制代码表示这些微命令,并编成微指令,多条微指令再形成微程序。(2)一条微指

令包含的微命令,控制实现一步(一个节拍)操作;若干条微指令组成的一小段微程序解释执行一条

机器指令。

组合逻辑控制器其速度主要取决于电路延迟,因此在高速计算机如RISC处理器和巨型机中,常

采用这种速度较快的硬连控制方式,但组合逻辑控制器的逻辑形态不规则,设计效率低,检查调试难,

一旦制造完成,这些逻辑电路之间的连接关系就固定了,不易改动。

微程序控制方式,将程序技术引入到CPU的构成级,即像编制程序那样编制微命令序列,从而使

设计规整化。它将存储结构因入CPU,只要修改所存储的代码即微命令信息,就可修改有关的功能与

执行的方式。

12、拟出下述指令的读取与执行流程:。

(P.99.)

答:

MOVRO,R2

FTOPC-»MAR

FT1MfMDR今IR,PC+19PC

ETOR2->RO

MOVRI,(PC)+

FTOPC今MAR

FT1M今MDR今IR,PC+16PC

STOPC今MAR

STIMfMDRTD

ST2PC+1今Z

ST3ZfPC

ETODfRI

13、拟出下述指令的读取与执行流程:。

(P.99.)

答:

ADDRO,X(R1)

FTOPC->MAR

FT1M今MDRIR,PC+1今PC

STOPCfMAR

STIM今MDR6D,PC+1->PC

ST2I)+RI9Z

ST3Z今MAR

ST4M今MDR今D

ETOROADDD-»Z

ET1Z玲RO

SUB(Rl)+,(PC)+

FTOPC今MAR

FT1M玲MDR玲IR,PC+19PC

STOPC玲MAR

STIMfMDR-»D

ST2PC+1TZ

ST3ZfPC

DTORI-»MAR

DTIM9MDR今C

DT2Rl+1玲Z

DT3ZTRI

ETOCSUBD-»Z

ET1Z今MDR

ET2MDR)M

(6)INC-(R2)

FTOPC->MAR

FT1MfMDR玲IR,PC+1今PC

DTOR2T玲Z

DTIZfMAR,R2

DT2M玲MDR玲D

ETOINCDfZ

ET1ZTMDR

ET2MDRfM

14、拟出下述指令的读取与执行流程:。

(P.100.)

答:

JMPR1

FTOPC今MAR

FT1MMDR玲IR,PC+1-»PC

ETORI-»PC

RST(SP)+

FTOPC)MAR

FT1M今MDR今IR,PC+16PC

ETOSP玲MAR

ET1MMDR-»PC

ET2SP+19Z

ET3ZTSP

JSR(R3)

(P.101)

FTOPC今MAR

FT1M玲MDR今IR,PC+1立PC

STOR3->MAR

STIMfMDR9C

ETOSP-1-»Z

ET1ZfMAR,SP

ET2PC玲MDR

ET3MDR-»M

ET4C9PC

第四章课后练习参考答案

1、8086/8088CPU中有哪些寄存器?各有什么用途?

(P.117.)

答:8086/8088CPU中有:

通用寄存器:AX累加寄存器

BX基址寄存器

CX计数寄存器

DX数据寄存器

SP堆栈指针寄存器

BP基址指针寄存器

SI源变址寄存器

DI目的变址寄存器

段寄存器:CS代码段寄存器

DS数据段寄存器

SS堆栈段寄存器

ES附加段寄存器

控制寄存器:IP指令指针

FLAGS标志寄存器

2、试说明8086/8088CPU中标志寄存器各标志位的含义。

(P.120.)

答:8086/8088CPU中设有一个16位标志寄存器FR,用来记录程序执行时的状态。FR中共有9个标

志位。

0CF:进位标志位有进位(或借位)时,CF=1;否则置0

2PF:奇偶标志位低8位中含“1”的个数为偶数时,PF=1;否则置0

4AF:辅助进位标志位低字节中低4位有进位(或借位)时,AF=1;否则置0

6ZF:零值标志位结果各位全为“0”时,ZF=1

7SF:符号标志位结果最高位为1时.,SF=1,否则置0

8TF:单步标志位设置TF=1时,CPU进入单步执行指令工作方式

9IF:中断标志位设置IF=1时,允许CPU响应可屏蔽中断请求。

10DF:方向标志位DF=0时,执行串操作指令,SI或DI内容自动递增,否则递减。

11OF:溢出标志位运算结果超出补码表示数的范围OF=1。

3、在8086/8088CPU中,分别进行下列8位二进制数的运算后,标志寄存器中OF,ZF,SF,CF的

值各是多少?

(P.120.P.66.)

答:

(1)10101011+01010101

1,0101011

+0,1010101

10,0000000

0F=0,无溢出;

ZF=O,结果各位为全0;

SF=O,结果最高位为0;

CF=1,有进位;

(2)11011010+11101101

1,1011010

+1,1101101

11,1000111

0F=0,无溢出;

ZF=1.结果各位不为全0;

SF=1,结果最高位为1;

CF=1,有进位;

(3)01010101-00111110=01010101+11000010

0,1010101

+1,1000010

10,0010111

0F=0,无溢出;

ZF=1,结果各位不为全0:

SF=0,结果最高位为0;

CF=1,有进位;

(4)10110011-01100010

10110011-01100010=10110011+10011110

1,0110011

+1,0011110

10,1010001

0F=0,有溢出;

ZF=1,结果各位不为全0;

SF=0,结果最高位为0;

CF=1,有进位;

4、在002B0H和002B3H字单元中,分别存放了2个16位字2C53H和1F0EH,试用图表示出它们在存

储器中的存放情况。

(P.120.P.66.)

5、试说明段基址与段基值的不同之处。

(P.122.P.116.)

答:8086/8088将1M字节的主存空间按需要划分为若干段(segment),每个段都由连续的字节单元

组成,最大长度为64K字节。一个段起始单元的地址,称为段基址(segmentbaseaddress)20

位。8086/8088对段基址是有所限制的,不能起始于任意地址,要求其低4位必须为0(被16整除)。

在1M字节的地址空间中,可作为段基址的共有64K个,可表示如下:

00000H,00010H,00020H,…,FFFEOH,FFFF0H。

段基址的高16位称为段基值(segmentbasevalue如:

0000H,0001H,0002H,…,FFFEH,FFFFH。

6、试说明8086/8088主存储器的逻辑地址由哪两部分组成。

(P.129.)

答:8086/8088主存储器的逻辑地址由段基值和偏移量两部分组成。

段基值由某个寄存器提供。

偏移量是指存放操作书的存储单元与段其始地址(段基址)之间的字节距离。

7、设某一存储单元的物理地址是34567H,试完成下列不同的逻辑地址表示。

(P.129.)

答:

(1)3456H:0007II

(2)3400H:0567H

8、假设某个程序装入主存后,(SS)=0500H(SP)=64H,试计算该程序的堆栈栈底字单元的物理地

址。

(P.126.)

答:(SS)=0500H

(SP)=64H为堆栈的长度(此时SP指向栈底+2单元)

栈底字单元的物理地址为05000II+64H-2=0506211

9、设堆栈段寄存器(SS)=1E2CH,程序中设置堆栈的长度为100个字节。试计算该程序的堆栈栈底

字单元的物理地址,堆栈指针SP的初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。

(P.126.)

答:(SS)=1E2CH

堆栈的长度为100个字节,则堆栈指针SP的初始值:(SP)=100II

$P初始值所指向的物理地址为:1E2C0H+100H=1E3COH

栈底字单元的物理地址为1E3C0H-2=1E3BEH

10、设(SP)=40H,(BX)=1234H,(DS)=5678H,如现有两条压栈指令:

PUSHBX

PUSHDS

试问两条指令执行后,图4-46中各单元的数据是多少?(SP)等于多少?

(P.126.)

答:主存

0000011

(SP)今783CH

563DI1

343EH

123FH

XX4011

XX

FFFFFH

各单元的数据如上图所示,(SP)等于40H-2H-2H=3CH

11、设(SP)=60H,则执行下述3条指令后,(SP)的值为多少?

PUSHAX

PUSHBS

POPCX

(P.126.)

答:(SP)=60H-2H-2H+2H=5EH

12、试分别说明下列各指令中源操作数使用的寻址方式。若操作数是存储器寻址方式,试说明如何确

定有效地址EA»

答:⑴ADDAX,0A51H立即寻址(P.128.)

(2)MOVBL,DATA1直接寻址(P.129.)EA=DATA1

(3)MOVDS,AX寄存器寻址(P.128.)

(4)ANDAL,VAR+2直接寻址(P.130.)EA=VAR+2

(5)TEST[SI],CL寄存器间接寻址(P.130.)EA=SI

(6)ORARRY[BX],-1基址寻址(P.131.)EA=ARRY+BX

(7)SUBDS:[01FEH],DX直接寻址(P.130.)EA=01FEH

(8)ADC[BP][DI],BII基址变址寻址(P.133.)EA=BP+DI

(9)ANDCX,-19[BX][SI]基址变址寻址(P.133.)EA=BX+SI

(10)PUSHES寄存器寻址(P.128.)

(11)CLC(清进位标志)寄存器寻址(P.128.)

13、试分别指出下列各指令语句的语法是否有错,若有错,指明是什么错误。

答:(1)MOVAL,0F5H正确

(2)ADD[BX][BP],BX错误,不能同时使用[BX][BP]进行寻址(P.131.)

(3)CMPAL,100H错误,AL为8位,100H大于8位,类型不匹配。

(4)TEST[BP],DL正确

(5)ADC15,CL错误,目的操作数不能是立即数

(6)SUB[DI],DA_WORD错误,两个操作数不能同时是存储器操作数。(P.136.)

(7)ORCH,CL正确

(8)MOVAL,1000H错误,AL为8位,1000H为16位,类型不匹配。

(9)SAR1OH[DI],2错误,AL为8位,移位多次必须CL中。(P.150.)

(10)NOTAL,BL错误,逻辑非操作是单操作指令。(P.149.)

(IDDECCX,1错误,逻辑非操作是单操作指令。(P.143.)

(12)LEAES,TAB[BX]错误,目的寄存器只能是通用寄存器。(P.139.)

14、执行下面2条指令后,标志寄存器中CF、AF、ZF、SF和0F分别是什么状态?

MOVAL,91

ADDAL,OBAH

答:91H=10010001

+OBAH=10111010

101001011

CF=1(有进位)AF=O(无辅助进位)ZF=O(结果不为0)

SF=O(符号标志位)0F=l(有溢出)

15、假设(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,

(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E4OH,(1E4F6H)=091DH.试给出

下列各指令或程序段的分别执行的结果。

答:

(1)MOVCL,20H[BX][SI]

有效地址EA=2OH+[BX]+[SI]=2011+002411+001211=005611

逻辑地址DS:0056H

物理地址=091I)0H+0056H=09226H(逻辑地址左移1为加有效地址)

CL=[09226H]=00F6H

(2)MOV[BP][DI],CX

有效地址EA=[BP]+[DI]=0024H+0032H=0056H

逻辑地址SS:005611

物理地址=1E4A0H+0056H=lE4F6H

[1E4F6H]=CX=5678H

(3)LEABX,20H[BX][SI]

MOVAX,2[BX]

有效地址EA=2OH+[BX]+[SI]=20H+0024H+0012H=0056H

BX=0056H

有效地址EA=2H+[BX]=2H+0056H=0058H

逻辑地址DS:0058H

物理地址=091D0H+0058H=09228H

AX=[O9228H]=1E4OH

(4)LDSSI,[BX][DI]

MOV[SI],BX

有效地址EA=[BX]+[DI]=0024H+0032H=0056H

逻辑地址DS:0056H

物理地址=09lD0H+0056H=09226H

SI=[09226H]=00F6H

DS=[09226H+2H]=[09228H]=1E40H

有效地址EA=[SI]=00F6H

逻辑地址DS:00F6H

物理地址=1E4OOH+OOF6H=1E4F6H

[1E4F6H]=BX=OO2仙

(5)XCHGCX,32H[BX]

XCHG2011[BX][SI],AX

有效地址EA=32H+EBX]=32H+0024H=0056H

逻辑地址DS:0056H

物理地址=091D0H+0056H=09226H

CX=[09226H>00F6H

[09226H]=5678H

有效地址EA=20H+[BX]+[SI]=20H+0024H+0012H=0056H

逻辑地址DS:0056H

物理地址=091D0H+0056H=09226H

[09226H]=1234H

AX=00F6H

16、假设(SS)=0915H,(DS)=0930H,(SI)=OAOH,(DI)=1COH,(BX)=80H,(BP)=470H,现有

一条指令"MOVAX,OPRD",若源操作数的物理地址为095C0H,试用4种不同寻址方式改写此指

令,并要求至少使用上述条件一次。

答:

(1)MOVAX,220H[SI]

(2)MOVAX,100H[DI]

(3)MOVAX,15OH[BX]

(4)MOVAX,[BP]

17、假设(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H,则下述程序段执行后,

(DS)_,(SI)=,(AX);.

答:

LEASI,[SI];SI=124H

MOVAX,[SI];AX=[12340H+124H]=[12464H]=30ABH

MOV[SI+22H],120011;[12340H+12仙+22H]=[12486]=1200H

LDSSI,[SI+20H];SI=[12340H+124H+20H]=[12484H]=464H

DS=[12486H]=1200H

ADDAX,[SI];AX=[12000H+464H]=[12464H]=30ABH

程序段执行后,(DS)=1200H,(SI)=464H,(AX)=30ABH。

18、假设(AX)=0A5c6H,(CX)=0F03H,则下述3条指令执行后,(AX)=,(CF)=

答:

STC;(P.408.)进位位置位,CF<=1,

RCLAX,CL;(AX)=0A5C6H=1010010111000110

CL=03H循环左移3次。CF=1

(AX)=0100101110001101CF=1

(AX)=1001011100011011CF=O

(AX)=0010111000110110CF=1

ANDAH,CH;(AH)=00101110

A(CH)=00001111

(AH)=00001110

RCRAX,CL(AX)=0000111000110110循环右移3次。CF=1

(AX)=1000011100011011CF=O

(AX)=0100001110001101CF=1

(AX)=1O1OOOO111OOO11O=OB1C6I1CF=1

则下述3条指令执行后,(AX)=

温馨提示

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

最新文档

评论

0/150

提交评论