??? 发表于 2011-8-1 09:56:47

检测点10.3

本帖最后由 weixianlang 于 2011-8-1 11:29 编辑

Call far ptr 标号   指令
想问的是:
是不是在执行call far ptr指令时 段地址和偏移地址同时推入栈中。
段地址先进,偏移后进,是这样的吗?

1000:3 运行命令后1000先入3后入
1000=CS    3=IP

bevin 发表于 2011-8-1 10:05:41

嗯,call和ret是调用子程序的一套指令,在调用子程序时候先是当前的cs入栈,再是ip入栈。。。调用ret指令时是弹出ip,弹出cs。。。

chao_prince 发表于 2011-8-1 10:12:51

{:5_109:}CALL就是先把CS,IP进栈..然后..跑去标号地方..执行完..如果你再用RET,或RETF..就会把IP,CS弹出来..指令也就回到了最初你跳转的地方了..

??? 发表于 2011-8-1 10:13:16

bevin 发表于 2011-8-1 10:05 static/image/common/back.gif
嗯,call和ret是调用子程序的一套指令,在调用子程序时候先是当前的cs入栈,再是ip入栈。。。调用ret指令时 ...

子程序?还没学到那,不过明白你的意思了,谢谢

??? 发表于 2011-8-1 10:14:13

chao_prince 发表于 2011-8-1 10:12 static/image/common/back.gif
CALL就是先把CS,IP进栈..然后..跑去标号地方..执行完..如果你再用RET,或RETF..就会把IP ...

明白了,谢谢
页: [1]
查看完整版本: 检测点10.3