汇编_条件跳转

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时,可以认为程序结束循环。

以上是关于汇编_条件跳转的主要内容,如果未能解决你的问题,请参考以下文章

实用汇编指令

arm汇编指令速记

自制反汇编逆向分析工具 迭代第四版本

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

x86汇编 条件跳转

汇编--控制转移指令 jmp