各位老师:
上述例题有三个地方不明白,请指点一下,谢谢!
1、 SS:SP表示方法与执行结果表示方法不一样。如示意图一4000:0FEH 为什么在执行结果中(400FEH)=1000H表示成这样,SS最后一位0全部省略
2、 (SP)=100H-2=0FEH在这里的SP 100H在这里为什么是(0001 0000 0000H),而不是表示的0100H
3、 POP WORD PTR [DI+2] 按照题意,从堆栈取出字,为什么结果是(100AAH)=2100H,这个100AAH是如何算出来的,
例3.12 假设(DS)=1000H, (SS)=4000H, (SP)=100H, (BX)=2100H, (12100)=00A8H, 指出连续执行下列各条指令后,有关寄存器、存储单元以及堆栈的情况。
PUSH DS
PUSH BX
PUSH [BX]
POP DI
POP WORD PTR [DI+2]
POP DS
执行结果: (SP)=100H-2=0FEH (SP)=0FE-2=0FCH (SP)=0FC-2=0FAH
(400FEH)=1000H (400FCH)=2100H (400FAH)=00A8H
执行结果: (SP)=0FA+2=0FCH (SP)=0FC+2=0FEH (SP)=0FE+2=100H
(DI)=00A8H (100AAH)=2100H (DS)=1000H
[此贴子已经被作者于2007-1-6 10:27:52编辑过]