计算机组成原理与汇编+习题答案

更新时间:2023-12-23 01:32:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

第一章习题参考答案

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)操作系统 如:Windows 2000,Linux,Unix

(2)编译程序、解释程序 如:C++编译程序,Peal解释程序 (3)各种软件平台 如:数据库管理系统

8、对源程序的处理有哪两种基本方式? (P.11.)

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

解释方式是边解释边执行。如:BASIC 它的优点是支持人机对话方式的程序设计,可以边执行边修改;所需要的主存空间较小。但这种方式执行速度较慢,不能解释那些前后关联较多,较难理解的程序设计语言。

编译方式是将源程序全部翻译成机器语言的指令序列,称为目标程序(目标代码)。执行时,计算机将直接执行目标程序,不再需要源程序与翻译程序。在执行程序时,所需主存小,执行速度也较快。

第二章习题参考答案

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

答:( 101010.01 )2 = 1x2+1x2+1x2+1x2 = ( 42.25 )10

5

3

1

-2

= ( 01000010.00100101 ) BCD

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

答:( 37.2 )8 = 3x8+7x8+2x8 = ( 31.25 )10

1

0

-1

= ( 00110001.00100101 ) BCD

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

答:( AC.E )16 = 10x16+12x16+14x16 = ( 172.875 )10

= (000101110010.100001110101 ) BCD

4、将十进制数 (75.34 )10 转换为二进制数及八进制数、十六进制数 (P.25.)

答:( 73.34)10 = (1001001.010101011)2

= (111.253 ) 8 = (49. 55) 16

1

0

-1

5、将十进制数 ( 13/128 )10 转换为二进制数 (P.25.)

答:( 13/128 )10 = ( 1101/10000000 )2 = ( 1101/2 )2

= (0.0001101 ) 2

7

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

答: (1)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 ,X原= 0.1010,真值= +0.1010

8、若X补= 1.1010,则X原、真值等于什么? (P.33.)

答:X补= 1.1010 ,X原= 1.0110,真值= -0.0110

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

答: 真值 代码

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

<- 10011 0010 A、C左移一位

+) -B 10101 减除数

A>0 01000 0011 A>0,商1 余数 商 X÷Y=0011 余1000

(2) X=00110110 Y=1111

B(除数) 01111 [-B]补=10001 A (被除数高位) C(被除数低位) 00011 0110 <- 00110 1100 A +) -B 10001 A<0 10111 1100 <- 01111 1000 +) +B 01111 A<0 11110 1000

<- 11101 0000 +) +B 01111 A>0 01100 0001

初始状态 、C左移一位 减除数

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

A、C左移一位

加除数

A<0,商0,下步左移后+B A、C左移一位 加除数

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

<- 11000 0010 A、C左移一位

+) -B 10001 减除数

A>0 01001 0011 A>0,商1 余数 商

X÷Y=0011 余1001

(3)X=01011010 Y=1001

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

A (被除数高位) C(被除数低位) 00101 1010 <- 01011 0100 A +) -B 10111 A>0 00010 0101 <- 00100 1010 +) -B 10111 A<0 11011 1010

<- 10111 0100 +) +B 01001 A>0 00000 0101 <- 00000 1010 余数 商 X÷Y=1010 余0000

初始状态 、C左移一位 减除数

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

A、C左移一位

减除数

A<0,商0,下步左移后+B A、C左移一位 加除数

A>0,商1, 下步左移

A、C左移一位,

0,商补0)

(因为余数为

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.)在微程序控制器中,可设置一个微程序计数器(?PC),在顺序执行微指令时,后继指令地址由现行微地址(即?PC内容)加上一个增量(通常为1)来形成,遇到转移时,由微指令给出转移微地址,使微程序按新的顺序执行。

断定方式:(p.108.)断定型微地址是指后继微地址可由程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值。

垂直型微指令:(p.109.)微指令较短,微指令的并行操作能力有限,一般一条微指令只能控制数据通路的一二种信息传送操作。

水平型微指令:(p.109.)微指令较长,微指令中的微操作具有高度并行性。特点:执行效率高,灵活性好,微程序条数少,因此广泛应用于速度较快的机器中,但其微指令字较长,复杂程度高,难以实现微程序设计自动化。

9、试说明模型机中下列寄存器的作用: (P.78.) 答:

通用寄存器:R0、R1、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总线上的数据打入其中。脉冲型微命令有:CP10,CPR1, CPpc, CPIR,CPSP, CPMAR, CPMDR,?

11、何谓组合逻辑控制器?何谓微程序控制器?试比较它们的优缺点。 (P.87. P.102. P.103.) 答:

组合逻辑控制器是用逻辑门电路产生微命令的。每个微命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作码、寻址方式、时序信号等)产生该微命令。组合逻辑控制器一旦制造完成,这些逻辑电路之间的连接关系就固定了,不易改动,所以又称为硬连逻辑控制器。

微程序控制器是采用微程序控制方式来产生微命令。基本思想:(1)将机器指令分解为基本的微命令序列,用二进制代码表示这些微命令,并编成微指令,多条微指令再形成微程序。(2)一条微指令包含的微命令,控制实现一步(一个节拍)操作;若干条微指令组成的一小段微程序解释执行一条机器指令。

组合逻辑控制器其速度主要取决于电路延迟,因此在高速计算机如RISC处理器和巨型机中,常采用这种速度较快的硬连控制方式,但组合逻辑控制器的逻辑形态不规则,设计效率低,检查调试难,一旦制造完成,这些逻辑电路之间的连接关系就固定了,不易改动。 微程序控制方式,将程序技术引入到CPU的构成级,即像编制程序那样编制微命令序列,从而使设计规整化。它将存储结构因入CPU,只要修改所存储的代码即微命令信息,就可修改有关的功能与执行的方式。

12、拟出下述指令的读取与执行流程:。 (P.99. ) 答:

MOV R0, R2

FT0 PC ? MAR

FT1 M ? MDR ? IR, PC+1 ? PC ET0 R2? R0

(1) 10101011 + 01010101 1,0101011 + 0,1010101 10,0000000 OF=0, 无溢出; ZF=0,结果各位为全0; SF=0,结果最高位为0; CF=1,有进位;

(2) 11011010 + 11101101

1,1011010 + 1,1101101 11,1000111 OF=0, 无溢出;

ZF=1,结果各位不为全0; SF=1,结果最高位为1; CF=1,有进位;

(3) 01010101 – 00111110 = 01010101 + 11000010

0,1010101 + 1,1000010 10,0010111 OF=0, 无溢出;

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

SF=0,结果最高位为0; CF=1,有进位;

(4) 10110011 - 01100010

10110011 – 01100010 = 10110011 + 10011110

1,0110011 + 1,0011110 10,1010001 OF=0, 有溢出;

ZF=1,结果各位不为全0; SF=0,结果最高位为0; CF=1,有进位;

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

它们在存储器中的存放情况。 (P.120. P.66.) 答: 002B0H 53 2C

002B3H 0E 1F

5、试说明段基址与段基值的不同之处。 ( P.122. P.116.)

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

字节单元组成,最大长度为64K字节。一个段起始单元的地址,称为段基址(segment base address)20位。8086/8088对段基址是有所限制的,不能起始于任意地址,要求其低4位必须为0(被16整除)。 在1M字节的地址空间中,可作为段基址的共有64K个,可表示如下: 00000H,00010H,00020H,? ,FFFE0H,FFFF0H。

段基址的高16位称为段基值(segment base value)。如: 0000H,0001H,0002H,? ,FFFEH,FFFFH。

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

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

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

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

(1)3456H:0007 H (2)3400H:0567H

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

元的物理地址。 ( P.126. ) 答: (SS)= 0500H

(SP)= 64H 为堆栈的长度(此时SP指向栈底+2单元) 栈底字单元的物理地址为 05000H+64H-2 =05062H

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

的堆栈栈底字单元的物理地址,堆栈指针SP的初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。 ( P.126. ) 答: (SS)=1E2CH

堆栈的长度为100个字节,则堆栈指针SP的初始值:(SP)= 100H SP初始值所指向的物理地址为:1E2C0H +100H =1E3C0H 栈底字单元的物理地址为 1E3C0H – 2=1E3BEH

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

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

00000H (SP)? 78 3CH

56 3DH

34 3EH

12 3FH

XX 40H XX

FFFFFH

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

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

PUSH BS POP CX ( P.126. )

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

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

说明如何确定有效地址EA。

答:(1)ADD AX,0A51H 立即寻址 ( P.128.)

(2)MOV BL,DATA1 直接寻址 ( P.129.) EA= DATA1 (3)MOV DS,AX 寄存器寻址 ( P.128.)

(4)AND AL,VAR+2 直接寻址 ( P.130.) EA= VAR+2 (5)TEST [SI],CL 寄存器间接寻址 ( P.130.) EA= SI

(6)OR ARRY[BX],-1 基址寻址 ( P.131.) EA= ARRY+BX (7)SUB DS:[01FEH],DX 直接寻址 ( P.130.) EA= 01FEH (8)ADC [BP][DI],BH 基址变址寻址 ( P.133.) EA= BP + DI (9)AND CX,-19[BX][SI] 基址变址寻址 ( P.133.) EA= BX + SI (10)PUSH ES 寄存器寻址 ( P.128.) (11)CLC (清进位标志) 寄存器寻址 ( P.128.)

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

答:(1)MOV AL,0F5H 正确

(2)ADD [BX][BP],BX 错误,不能同时使用[BX][BP]进行寻址 ( P.131.) (3)CMP AL,100H 错误,AL为8位,100H大于8位,类型不匹配。 (4)TEST [BP],DL 正确

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

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

(8)MOV AL,1000H 错误,AL为8位,1000H为16位,类型不匹配。 (9)SAR 10H[DI],2 错误,AL为8位,移位多次必须CL中。( P.150.) (10)NOT AL,BL 错误,逻辑非操作是单操作指令。( P.149.) (11)DEC CX,1 错误,逻辑非操作是单操作指令。( P.143.)

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

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

MOV AL,91

ADD AL,0BAH 答: 91H = 10010001

+ 0BAH = 10111010

101001011

CF=1 (有进位) AF=0 (无辅助进位) ZF=0 (结果不为0) SF=0 (符号标志位) OF=1 (有溢出)

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

=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。试给出下列各指令或程序段的分别执行的结果。 答:

(1) MOV CL,20H[BX][SI]

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

物理地址=091D0H+0056H=09226H (逻辑地址左移1为加有效地址) CL=[09226H]=00F6H

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

有效地址EA= [BP]+[DI] =0024H+0032H=0056H 逻辑地址 SS:0056H

物理地址=1E4A0H+0056H=1E4F6H [1E4F6H]=CX=5678H

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

MOV AX,2[BX]

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

有效地址EA= 2H+[BX]=2H+0056H=0058H 逻辑地址 DS:0058H

物理地址=091D0H+0058H=09228H AX=[09228H]=1E40H

(4) LDS SI,[BX][DI]

MOV [SI],BX

有效地址EA= [BX]+[DI] =0024H+0032H=0056H 逻辑地址 DS:0056H

物理地址=091D0H+0056H=09226H SI=[09226H]=00F6H

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

有效地址EA= [SI]= 00F6H 逻辑地址 DS:00F6H

物理地址=1E400H+00 F6H=1E4F6H [1E4F6H]=BX=0024H

(5) XCHG CX,32H[BX]

XCHG 20H[BX][SI],AX

有效地址EA= 32H+[BX] =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)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H,

现有一条指令“MOV AX,OPRD”,若源操作数的物理地址为095C0H,试用4种不同寻址方式改写此指令,并要求至少使用上述条件一次。 答:

(1) MOV AX,220H[SI] (2) MOV AX,100H[DI] (3) MOV AX,150H[BX] (4) MOV AX,[BP]

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

执行后,(DS)= ,(SI)= ,(AX)= 。 答:

LEA SI,[SI] ;SI=124H

MOV AX,[SI] ;AX=[12340H+124H]=[12464H]=30ABH MOV [SI+22H],1200H ;[12340H+124H+22H]=[12486]=1200H LDS SI,[SI+20H] ;SI=[12340H+124H+20H]=[12484H]=464H

DS=[12486H]=1200H

ADD AX,[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, RCL AX,CL ;(AX)=0A5C6H =1010010111000110

CL=03H 循环左移3次。CF=1 (AX)= 0100101110001101 CF=1 (AX)= 1001011100011011 CF=0 (AX)= 0010111000110110 CF=1

AND AH,CH ;(AH)=00101110 ∧ (CH)=00001111 (AH)=00001110

RCR AX,CL (AX)=0000111000110110循环右移3次。CF=1 (AX)= 1000011100011011 CF=0 (AX)= 0100001110001101 CF=1 (AX)= 1010000111000110=0B1C6H CF=1 则下述3条指令执行后,(AX)= 0B1C6H ,(CF)= 1 。

19、假设(AX)=0FC77H,(CX)=504H,则下述3条指令执行后,(AX)= ,(CF)

= 。 答:

CLC ;(P.402.)清进位标志,CF <= 0, SAR AX,CL ;(AX)=0FC77H =1111110001110111

CL=04H 算术右移4次。CF=0

(AX)= 1111111000111011 CF=1 (算术右移,符号位不变) (AX)= 1111111100011101 CF=1 (AX)= 1111111110001110 CF=1 (AX)= 1111111111000111 CF=0

XCHG CH,CL ;(CH)=04H,(CL)=05H SHL AX,CL ;CL=04H 逻辑左移4次。CF=0

(AX)= 1111111110001110 CF=1 (逻辑左移,末位补0) (AX)= 1111111100011100 CF=1 (AX)= 1111111000111000 CF=1 (AX)= 1111110001110000=0FC70H CF=1

指令执行后,(AX)= OFC70H ,(CF)= 1 。

20、假设(AX)=1234H,(BX)=0FFFFH,则下述3条指令执行后,(AX)= ,(BX)= 。 答:

INC AX ;(AX)=1234H+1=1235H NEG BX ;(BX)=0-0FFFFH=0001H ADD AX,BX ;(AX)=1235H+0001H=1236H

指令执行后,(AX)= 1236H ,(BX)= 0001H 。

21、假设(AX)=0FFFFH,则下述程序段执行后,(AX)= 。 答:

INC AX ;(AX)=0FFFFH+1=0000H NEC AX ;(AX)=0-0000H=0000H DEC AX ;(AX)=0000H-1=0FFFFH NEG AX ;(AX)=0-0FFFFH=0001H 程序段执行后,(AX)= 0001H 。

22、假设(BX)=12FFH,则下述程序段执行后,(BX)= ,ZF= ,

CF= 。 答:

MOV CL,8 ;(CL)=8

ROL BX,CL ;BL循环左移8位 (P.153.)

(BX)=0FF12H CF=0

AND BX,0FFH ;(BX)=0012H

CMP BX,0FFH ;(BX)=0012H,ZF=0(结果不为0),CF=1(有借位) 程序段执行后,(BX)= 0012H ,ZF= 0 ,CF= 1 。

23、假设(AX)=0B55BH,(DX)=0F0FH则下述程序段执行后,(AX)= 。 答:

AND AH,DL ; (AH)=B5H=10110101H ∧ (DL)=OFH=00001111H

(AH)=00000101H=05H XOR AL,DH ; (AL)=5BH=01011011H ? (DH)=OFH=00001111H (AL)=01010100H NEG AH ;(AH)=0-05H=0FBH NOT AL ;(AL)=10101011H=0ABH 程序段执行后,(AX)= 0FBABH 。

24、假设(AX)=0FF60H,则下述程序段执行后,(AX)= ,(CF)= 。 答:

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

XOR DH,0FFH ; (DH)=00H=00000000H ? OFFH=11111111H

(DH)=11111111H=0FFH

SBB AX,DX ;(AX)=0FF60H-0FF96H=0FFCAH,(CF)=1 (有借位) 程序段执行后,(AX)= 0FFCAH ,(CF)= 1 。

25、假设(AL)=08,(BL)=07,则下述程序段执行后,(AH)= ,(AL)= ,(CF)= 。 答:

ADD AL,BL ; (AL)=08=00001000 +(BL)=07=00000111

(AL)=00001111 AF=0 (无辅助进位)

AAA ;因为AF=0,AL高4位清0 (AL)=00001111=0FH

(AF)=0,(CF)=0

程序段执行后,(AH)= 00H ,(AL)= OFH ,(CF)= 0 。

26、假设DF=0,(DS:0100H)=01A5H则下述程序段执行后,(AL)= ,

SI= 。 答:

MOV SI,0100H ;SI=0100H

LODSW ;(P.153.) 源串地址为 DS:[SI] 即 DS:0100H

(AX)=01A5H, SI=0100H+2=0102H

程序段执行后,(AL)= 0A5H ,SI= 0102H 。

27、用比较指令CMP比较两个带符号数,如果目的操作数大于源操作数,则标志位OF=SF,为什么? 答:如果目的操作数大于源操作数,

(1)若两数都为正数,则OF=0,无溢出,SF=0 正数的符号位为0 (2)若目的操作数为正数,源操作数为负数, 无溢出时,OF=0,SF=0 有溢出时,OF=1,SF=1 (3)若两数都为负数

则OF=0,无溢出,SF=0(目的操作数大于源操作数)

28、试按下列要求分别编制程序段: 答:

(1) 把标志寄存器中符号位SF置“1” (P.138.)

MOV AH,10000000B SAHF

(2) 寄存器AL中高低4位互换

MOV CL,04H ROL AL,CL

(3) 假设有3个字存储单元A,B,C在不使用ADD和ADC指令的情况下,实现(A)+

(B)=> C

MOV AX,A NEG B SUB AX,B MOV C,AX

(4) 把DX,AX中的32位无符号数右移2位

SHR DX,1 RCR AX,1 SHR DX,1 RCR AX,1

(5) 用一条指令把CX中的整数转变为奇数

OR CX,0001H

(6) 将AX中第1,3位变反,其余各位保持不变

XOR AL,00001010B

(7) 根据AX中有0的位对BX中对应位变反,其余各位保持不变。

NOT AX (AX 中内容变反) XOR BX,AX

29、简述80386与80486内部结构的异同。 (P.158.) 答:

1985年Intel公司推出了其第一片32位微处理器80386。它的主要性能如下: ??????????32位地址,可直接寻址的物理存储空间为4G字节; ??????????具有片内存储管理部件;

??????????字长32位,系统总线的数据通路宽度32位; ??????????采用多级流水线结构; ??????????平均运算速度约为4MIPS。

1989年Intel公司又推出80486,它相当于一个增强型的80386、一个增强型的80387

数值协处理器(也称浮点部件FPU)和一个8K字节的高速缓存(cache)的集成,基本上沿用了80386的体系结构。

80486采用了比80386更有效的流水线结构,因此指令的执行速度更快,平均运算速度有了20Mips.

30、解释CISC与RISC的中文含义。 (P.157) 答:

CISC 复杂指令系统计算机 RISC 精简指令系统计算机

31、简述RISC设计思想的要点。

(P.157)

答:精简指令系统计算机的着眼点不是简单地放在简化指令系统上,而是通过简化指令使计算机的结构更加简单合理,从而提高处理速度。其主要途径是减少指令的执行周期数。在设计上主要有以下特点:

(1) 大多数指令在一个机器周期内完成 (2) 采用LOAD/STORE结构 (3) 较少的指令数和寻址方式 (4) 固定的指令格式 (5) 面向积存器的结构 (6) 硬布线控制逻辑 (7) 注重编译的优化。

作业本参考解答1

第1章

一、什么是存储程序工作方式? (P.2.)

答:计算机采用存储程序工作方式,这是诺依曼体制中最核心的思想,它有三点含义:

(1) 事先编制程序 (2) 实现存储程序 (3) 自动、连续地执行程序

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

(P.16.)

答:数字计算机具有如下一些重要特点: (1) 能在程序控制下自动连续地工作 (2) 运算速度快 (3) 运算精度高

(4) 具有很强的信息存储能力 (5) 通用性强,应用领域极其广泛

三、衡量计算机的基本指标有哪些? (P.17.)

答:衡量计算机的基本指标有: (1)基本字长 (2)数据通路宽度 (3)运算速度 (4)主存储器容量 (5)外存容量

(6)配置的外围设备及其性能 (7)系统软件配置

一、简要解释下列名词术语? 1、基数

第2章

(P.24.)

答:基数是指进位制中会产生进位的数值,它等于每个数位中所允许的最大数码值加1,也就是各数位中允许选用的数码个数。例如十进制,每个数位允许选用0~9这10个数码中的一个,基数为10。或者说,逢10进位,基数为10。 2、位权 (P.24.)

答:一个数码在不同的数位上,它所代表的数值不同,例如十进制中的个位的1表示10,

2

而百位上的1表示10,因此,在进位制中,每个数码所表示的数值等于该数码本身的值乘以一个与它所在数位有关的常数,这个常数称为该位的位权。显然,各数位的权值是不同的。 3、真值 (P.30.)

答:在日常的书写习惯中,往往用正负符号加绝对值表示数值,用这种形式表示的数值称为真值。 4、机器数 (P.30.)

答:在计算机内部,常约定数的某一位表示符号,例如用0表示正号,用1表示负号。这种在计算机中使用的,连同数符一起数码化了的数,称为机器数。 5、原码 (P.30.)

答:原码表示法约定:最高位为符号位,符号位为0表示该数为正,为1表示该数为负;有效数值部分用二进制绝对值表示。 对于小数,原码表示范围:-1

n

n

0

6、补码 (P.31.)

答:为了克服原码在加、减运算中的缺点,引入了补码表示法,并以此作为加、减运算的基础。补码表示的核心是让符号位也作为数值的一部分直接参加运算,以简化加减运算的规则,同时又能“化减为加”。 补码的统一定义式:[X]补=M + X (mod M) 7、反码 (P.33.)

答:正数的反码表示与原码相同。负数的反码表示规定为:符号位为1,尾数由原码尾数按位变反,它也能达到化减为加的目的。 8、定点数 (P.34.)

答:在计算机中,小数点位置固定不变的数叫定点数。按照约定,相应有三种类型的定点数: (1)无符号定点整数 (2) 带符号定点整数 (3)带符号定点小数 9、浮点数 (P.35.)

答:浮点数就是让小数点的位置根据需要而浮动,一个浮点数由一个定点整数和一个定点小数组成,,因此浮点运算是由两组相关的定点运算来实现的。

10、ASCII码 (P.38.)

答:国际上广泛采用美国信息交换标准码(American Standard Code For Information Interchange,简称ASCII码)作为标准。ASCII码字符集中共有128种常用字符,每个ASCII字符用七位编码,一个字节单元正好可存放一个ASCII字符。

11、指令系统 (P.40.)

答:除了数据信息,计算机中还存放着程序信息,程序的最终可执行形态就是用机器代码表示的指令序列,它们是产生各种控制信息的基础。一台计算机全部指令的集合,构成了该机的指令系统。

12、地址结构 (P.41.)

答:在大多数指令中,地址信息所占位数最多,因此地址结构是指令格式的一个重要问题。指令的地址结构是指:在指令中给出几个地址?给出哪些地址?

13、隐地址 (P.41.)

答:如果地址是以隐含的方式约定,例如事先隐含约定操作数在某个寄存器中或在堆栈之 中,而指令中并不给出地址码,则这种隐含约定的地址就称为隐地址。简化指令地址结构的基本途径就是使用隐地址。 14、堆栈 (P.50.)

答:堆栈是一种按“后进先出”(从另一个角度看也就是“先进后出”)存取顺序进行存取的存储结构。通常在主存中划出一段区域作为堆栈区,其起点可通过程序设定,其范围可根据

需要变化。

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

答:( 101010.01 )2 = 1x2+1x2+1x2+1x2 =32+8+2+0.25 =( 42.25 )10

= ( 01000010.00100101 ) BCD

5

3

1

-2

三、将八进制数 ( 37.2 )8 转换为十进制数及BCD码 (P.25.)

答: ( 37.2 )8 = 3x8+7x8+2x8 = ( 31.25 )10

= ( 00110001.00100101 ) BCD

1

0

-1

四、将十进制数 ( 13/128 )10 转换为二进制数 (P.25.)

答:( 13/128 )10 = ( 1101/10000000 )2 = ( 1101/2 )2

= (0.0001101 ) 2

7

五、若X补= 0.1010,则X原、真值等于什么? (P.33.)

答:X补= 0.1010 ,X原= 0.1010,真值= +0.1010

本文来源:https://www.bwwdw.com/article/ldg5.html

Top