一、JMP指令
无条件跳转,直接跳转到后面跟着的参数地址
jmp 0x0046B995
![](https://i-blog.csdnimg.cn/blog_migrate/b164464fd90bddbfa986be6264f8d281.png)
二、CALL指令
函数指令,可以理解为一个函数,当走到call指令的时候,按一下回车键,就可以看到call里面的内容,即函数内容,如果里面还有calll,说明函数里面套函数。
![](https://i-blog.csdnimg.cn/blog_migrate/c7c2ad38f1f0138d7aac963e8772fef9.png)
按回车后,跳转到call后面跟着的参数地址,此时,和jmp指令功能相同
![](https://i-blog.csdnimg.cn/blog_migrate/9859555ef0ea9616fdd49eab162b04ff.png)
实际运行的时候,首先保存了call下面的地址,到堆栈,然后call里面的语句执行完毕后,ret会返回到call下面的地址
我们按F7进入call,堆栈保存了call下面的地址,46B984,
![](https://i-blog.csdnimg.cn/blog_migrate/3f63aa496bdaecd131dacde81fd72678.png)
![](https://i-blog.csdnimg.cn/blog_migrate/79240b901f87efa2839a264441b88c42.png)
三、RET指令
当执行到ret命令的时候,会返回到call下面的代码处