今天做(chao)作业的时候突然觉得CALL和JMP没什么区别,但是我知道一定是有区别的(。)所以百度了一下。
自己想到的一个例子:
;JMP
……
JMP TEST1
……
TEST1:
JMP TEST2
TEST2:
JMP TEST3
……
;CALL
……
CALL TEST1
……
TEST1 PROC NEAR
……
CALL TEST2
RET
TEST1 ENDP
TEST2 PROC NEAR
……
CALL TEST3
RET
TEST2 ENDP
(其实还没学子进程【。这个格式是照着书上抄的= =)
JMP和CALL的一个朴实的区别就是:
JMP跳走之后,它可以跳回来,也可以再跳到别的地方不回去。
CALL调用子程序后,就算再调用别的子程序也一定会返回主程序。
JMP和CALL在有些时候应该都可以用吧→ _→
好了没了。
11.26更新
学完一个学期的汇编,今天打开博客想到,应该还有关于段内跳转和段间跳转的区别。
但是我现在不想再看书了= =所以没法写具体的。