新免武藏 发表于 2017-6-13 15:34:43

实验二(1)仍有疑问

题中
pop ax               ;sp=fe还是fc?
pop bx                ;sp=100还是fe?

新免武藏 发表于 2017-6-13 15:46:11

pop ax      ;sp= 00FCH ,ax= 6122H
pop bx      ;sp= 00FEH ,bx= 5CCAH

AX=5CCABX=6122CX=0000DX=0000SP=00FCBP=0000SI=0000DI=0000
DS=FFFF    ES=0C1CSS=2200   CS=0C1CIP=011E   NV UP EI PL NZ NA PE NC
0C1C:011E 58            POP   AX
-t
AX=6122BX=6122CX=0000DX=0000SP=00FEBP=0000SI=0000DI=0000
DS=FFFF   ES=0C1CSS=2200CS=0C1C   IP=011F   NV UP EI PL NZ NA PE NC
0C1C:011F 5B            POP   BX
-t
AX=6122BX=5CCACX=0000DX=0000SP=0100BP=0000SI=0000DI=0000
DS=FFFF   ES=0C1C   SS=2200   CS=0C1CIP=0120   NV UP EI PL NZ NA PE NC
0C1C:0120 FF360400      PUSH                               DS:0004=31F0

在执行完pop ax之后,sp为什么不是00FE而是00FC?
同样的,执行完pop bx之后sp为什么不是0100而是00FE?
问题大致如上,这个早已有帖子,但是我没看懂以前的帖子,跪求大神

3-3 发表于 2017-6-13 20:43:13

新免武藏 发表于 2017-6-13 15:46
pop ax      ;sp= 00FCH ,ax= 6122H
pop bx      ;sp= 00FEH ,bx= 5CCAH



执行完pop ax之后,sp已经变成00FE了。以你提供的内容为例:

AX=5CCABX=6122CX=0000DX=0000 SP=00FCBP=0000SI=0000DI=0000
DS=FFFF    ES=0C1CSS=2200   CS=0C1CIP=011E   NV UP EI PL NZ NA PE NC
0C1C:011E 58            POP   AX             ;这时候还没有执行到POP   AX   这句
-t         ;执行 POP   AX   
AX=6122BX=6122CX=0000DX=0000SP=00FEBP=0000SI=0000DI=0000
DS=FFFF   ES=0C1CSS=2200CS=0C1C   IP=011F   NV UP EI PL NZ NA PE NC
0C1C:011F 5B            POP   BX
-t
AX=6122BX=5CCACX=0000DX=0000SP=0100 BP=0000SI=0000DI=0000
DS=FFFF   ES=0C1C   SS=2200   CS=0C1CIP=0120   NV UP EI PL NZ NA PE NC
0C1C:0120 FF360400      PUSH                               DS:0004=31F0




你理解的是正确的。

新免武藏 发表于 2017-6-14 13:41:28

谢谢了
页: [1]
查看完整版本: 实验二(1)仍有疑问