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

(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

联系客服:779662525#qq.com(#替换为@)