你這樣來考慮:堆棧操作中任何連續(xù)的PUSH、POP的效果,都相當(dāng)于棧頂指針未移動,因為POP的棧頂指針移動抵消了它前面PUSH的棧頂指針移動。因此PUSH 1、PUSH 2、POP 2、PUSH 3、POP 3、PUSH 4、PUSH 5的最終效果,相當(dāng)于PUSH 1、PUSH 4、PUSH 5,每個元素占4個字節(jié),1、4、5共3個元素占12個字節(jié),100Ch-1000h=0Ch=12d,正好12個字節(jié)。所以棧頂指針是100Ch。
你這樣來考慮:堆棧操作中任何連續(xù)的PUSH、POP的效果,都相當(dāng)于棧頂指針未移動,因為POP的棧頂指針移動抵消了它前面PUSH的棧頂指針移動。因此PUSH 1、PUSH 2、POP 2、PUSH 3、POP 3、PUSH 4、PUSH 5的最終效果,相當(dāng)于PUSH 1、PUSH 4、PUSH 5,每個元素占4個字節(jié),1、4、5共3個元素占12個字節(jié),100Ch-1000h=0Ch=12d,正好12個字節(jié)。所以棧頂指針是100Ch。