精彩网站 http:// www.iquwu.com
FT M→MDR→IR,PC+1→PC ST PC→MAR
ST M→MDR→D ST D+PC→Z ST Z→PC (4)RST (SP)+
解: FT PC→MAR
FT M→MDR→IR,PC+1→PC ET SP→PC
ET M→MDR→PC ET SP+1→Z ET Z→PC (5)JSR R0
解: FT PC→MAR
FT M→MDR→IR,PC+1→PC ST R0→C ET SP-1→Z
ET Z→MAR , SP ET PC→MDR ET MDR→M ET C→PC (6)JSR (R3)
解: FT PC→MAR
FT M→MDR→IR,PC+1→PC ST R3→MAR ST M→MDR→C ET SP-1→Z
ET Z→MAR , SP ET PC→MDR ET MDR→M ET C→PC (7)JSR (R2)+
解: FT PC→MAR
FT M→MDR→IR,PC+1→PC ST R2→MAR ST M→MDR→C ST R2+1→Z ST Z→R2
1
0
123
0
1
0
12
3
0
1
001234
0
1
O101234
0
101
23
16
精彩网站 http:// www.iquwu.com
ET SP-1→Z
ET Z→MAR , SP ET PC→MDR ET MDR→M ET C→PC
012
3
4
第4章 习题四
3. 在8086/8088CPU中,分别进行下列8位二进制数的运算后,标志寄存器中OF、
ZF、SF、CF的值各是多少? (1)10101011+01010101
(2)11011010+11101101
结果, OF=0 , ZF=1 , SF=0 , CF=1
(3)01010101 – 001111110
(4) 10110011– 01100010
17
精彩网站 http:// www.iquwu.com
5. 试说明段基址和段基值的不同之处。
答:一个段起始单元的地址称为段基址(20位),其低4位必须位0(可被16整除)。 段基址的高16位称为段基值,它保存在段寄存器CS、DS、SS、ES中。
6. 试说明8086/8088主存储器的逻辑地址由哪两部分组成。
答:逻辑地址:段基值:偏移量
7. 设某一存储单元的物理地址是34567H,试完成下列不同的逻辑地址表示。 (1) 3456H:0007H (2)3400H:0567H
8. 假设某个程序装入主存后,(SS)= 0500H,(SP)= 64H,试计算该程序的堆栈栈底的物理地址。
解:SP的内容为栈顶单元相对堆栈段段基址的字节距离(偏移量)。当SP初始化时,其值为栈顶的长度(这时SP指向栈底+2单元)。所以堆栈栈底的物理地址为: 0500H×10H+64H-2 =05062H 习题 9. 假设堆栈寄存器(SS)= 1E2CH,程序中设定堆栈的长度为100个字节。试计算该程序的堆栈栈底字单元的物理地址,堆栈指针SP的初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。
解: 100=64H 堆栈栈底字单元的物理地址: 1E2CH×10H+64H-2=1E322H 堆栈指针SP的初始值: 64H SP初始值指向的物理地址:1E2CH×10H+64H=1E324H
习题 10. 设(SP)=40H,(BX)=1234H ,(DS)=5678H. 如现有两条压栈指令: PUSH BX PUSH DS
试问两条指令执行后,图4 – 46中各单元的的数据是多少?(SP)等于多少? 答: (SP)=3CH
习题 11. 设(SP)=60H,则执行下述3条指令后,(水平)的值为多少? PUSH AX ; (SP)=5EH PUSH BX ; (SP)=5CH
18
精彩网站 http:// www.iquwu.com
POP CX ; (SP)=5EH
解: (SP)=5EH
习题 12. 试分别说明下列各指令中源操作数和目的操作数使用的寻址方式,试说明如何确定有效地址EA.
(1) ADD AX , 0A51H
(2) MOV BL , DATA1
(3) MOV DS , AX
(4) AND AL , VAR1+2
19
精彩网站 http:// www.iquwu.com
(5) TEST [SI] , CL
(6) OR ARRY [BX] ,
(7) SUB DS:[01FEH] , DX
(8) ADC [BP][DI] , BH
(9) AND CX , - 19[BX][SI]
(10) PUSH ES
20