无条件短转移机器码为EBxx,其中EB00~EB7F是向后转移(高址方向),EB80~EBFF是向前转移(低址方向),因为80~FF的二进制为1000 0000~1111 1111,高位为“1”代表负数。
转移指令的机器码 = “转移类别机器码” + “位移量”
位移量 = 目的地址 - 起始地址 - 跳转指令本身长度
跳转后执行EIP位于跳转指令下一行,这时应执行EIP + “位移量”处的指令,如下例:
向后转移:
汇编指令:
...
:401000 jmp 401005
...
:401005 xor eax,eax
...
内存中:

本文探讨了无条件转移指令jmp在汇编语言中的应用,特别是无条件短转移。通过EBxx系列机器码解释了转移方向,并介绍了如何计算位移量,确保跳转后正确执行后续指令。举例说明了向后转移的情况,如 jmp 401005,该指令导致EIP加位移量后指向401005处的xor eax,eax指令。"
72773258,5591913,CentOS6.5安装Hive本地模式指南,"['大数据开发', 'Hadoop', 'hive', 'MySQL']
最低0.47元/天 解锁文章
1513

被折叠的 条评论
为什么被折叠?



