汇编_条件跳转
Posted 一只特立独行的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编_条件跳转相关的知识,希望对你有一定的参考价值。
offset指令:
得到相对于cs的偏移地址
assume cs:codesg
codesg segment
start:
s: mov ax, bx
mov si, offset s
mov di, offset s0
mov ax, cs:[si]
mov cs:[di], ax
s0: nop
nop
codesg ends
end start
转移指令:
短转移
1.jmp short ptr 标号(偏移范围:8位(-128~127))
近转移
2.jmp near ptr 标号(偏移范围:16位(-32768~32767))
远转移
3.jmp far ptr 标号
字转移
4.jmp word ptr ds:[0] (将IP寄存器的值修改为ds:[0]处的值,单字长)
双字转移
5.jmp dword ptr ds:[0] (将IP寄存器的值修改为ds:[0]处的值,双字长)
条件跳转指令
6.jcxz 标号(短转移指令)
意义:if( ( cx ) == 0 ) jmp short 标号;
条件跳转指令
7.loop 标号
意义:
1. ( c x ) = ( c x ) − 1 1.(cx)=(cx)-1 1.(cx)=(cx)−1
2.if( ( cx ) != 0 ) jmp short 标号
当在程序循环中cx==1时,可以认为程序结束循环。
以上是关于汇编_条件跳转的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段