/*
* jump
*/
只改变 EIP 的值,不影响堆栈
等价于:mov eip 0x12345678 # 跳转地址
jmp short 指令实现的是段内短转移,它对IP的修改范围为 -128~127,
也就是说,它向前转移时可以最多越过128个字节,向后转移可以最多越过127个字节。
jmp near ptr 标号 的功能为:(IP)=(IP)+16位位移
(1) 16位位移=“标号”处的地址-jmp指令后的第一个字节的地址;
(2) near ptr指明此处的位移为16位位移,进行的是段内近转移;
(3) 16位位移的范围为 -32769~32767,用补码表示;
(4) 16位位移由编译程序在编译时算出。
jump short 标号与jump near ptr 标号非常相似,不同点实际上就是跳转的范围