汇编语言中,PUSH和POP对CS:IP有什么影响?

如题所述

第1个回答  2012-12-10
PUSH和POP指令一般用在调用子程序之前用来保护现场,以便返回时返回到正确的代码处。在中断时,系统也默认的会将一些寄存器的值压入堆栈。PUSH指令,将IP压栈,用于保存断点,SP先减2指向栈顶,再将IP(16位地址,即一个字)低八位存进低地址((SP)=IP低八位)),高八位存进高地址(SP+1)=IP高八位;POP指令的过程相反。如果是段内调用,CS是不变的,仅对IP有影响;段间调用时,则需要将CS压入堆栈,所以对CS和IP均有影响。本回答被提问者和网友采纳
第2个回答  2012-12-09
看是16位还是32位!追问

32位的

追答

保护模式下有所不同!

相似回答