汇编语言指令集学习条件转移指令详解 - 网站

汇编语言指令集学习条件转移指令详解

分类:汇编语言 · 发布时间:2023-02-24 05:24 · 阅读:3944

这篇文章主要为大家介绍了汇编语言指令集学习条件转移的指令全面总结详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

条件转移指令较多,容易混淆,在此记录一下便于日后使用

1.根据单个条件标志的设置情况转移

指令英文含义格式测试条件
JZ/JEjump if zero/equal结果为零/相等则转移JZ/JE OPRZF=1
JNZ/JNEjump if not zero/equal结果不为零/不相等则转移JNZ/JNE OPRZF=0
JSjump if sign结果为负则转移JS OPRSF=1
JNSjump if not sign结果为正则转移JNS OPRSF=0
JOjump if overflow溢出则转移JO OPROF=1
JNOjump if not overflow不溢出则转移JNO OPROF=0
JP/JPEjump if parity/parity even奇偶位为1则转移JP/JPE OPRPF=1
JNP/JNPEjump if not parity/parity even奇偶位为0则转移JNP/JNPE OPRPF=0
JB/JNAE/JCjump if below/not above、not equal/carry低于/不高于或不等于/进位为1则转移JB/JNAE/JC OPRCF=1
JNB/JAE/JNCjump if not below/ above、equal/not carry不低于/高于或等于/进位为零则转移JNB/JAE/JNC OPRCF=0
适用于测试某一次运算的结果并根据其不同特征产生程序分支不同的处理的情况

2. 比较两个无符号数,并根据比较的结果转移

指令英文含义格式测试条件等价于
JB/JNAE/JCjump if below/not above、not equal/carry低于/不高于或不等于/进位为1则转移JB/JNAE/JC OPRCF=1<
JNB/JAE/JNCjump if not below/ above、equal/not carry不低于/高于或等于/进位为零则转移JNB/JAE/JNC OPRCF=0
JBE/JNAjump if below/equal、not above低于/等于、不高于则转移JBE/JNA OPRCF并ZF=1
JNBE/JAjump if not below/not equal、above不低于/不等于、高于则转移JNBE/JA OPRCF并ZF=0>

3. 比较两个带符号数,并根据比较的结果转移

指令英文含义格式测试条件等价于
JL/JNGEjump if less、not greater/equal小于、不大于/不等于则转移JL/JNGE OPRSF异或CF=1<
JNL/JGEjump if not less、greater/equal不小于、大于/等于则转移JNL/JGE OPRSF异或CF=0
JLE/JNGjump if less/equal、not greater小于/等于、不大于则转移JLE/JNG OPR(SF异或CF)并ZF=1
JNLE/JGjump if not less/not equal、 greater不小于/不等于、大于则转移JNLE/JG OPR(SF异或CF)并ZF=0>

4.测试CX或ECX的值为0则转移指令

1. LCXZ (jump if CX register is zero) CX寄存器的内容为零则转移
  格式:JCXZ OPR
  测试条件:(CX)=0

2. LECXZ (jump if ECX register is zero) ECX寄存器的内容为零则转移
  格式:JECXZ OPR  (386及其后继机型可用)
  测试条件:(ECX)=0

以上就是汇编语言指令集学习条件转移指令详解的详细内容,更多关于汇编语言条件转移指令的资料请关注0133技术站其它相关文章!

标签:
汇编语言 指令集 条件转移

相关文章

汇编语言 跳转指令与C语言的条件分支

这篇文章主要介绍了汇编语言 跳转指令与C语言的条件分支,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

X86汇编调试环境搭建的过程

本次使用vscode搭建的,需要的插件有X86 and X86_64 Assembly(也可以使用masm插件),还有一个hexdump for VSCode。 安装NASM,并添加到环境变量,下面看下X86汇编调试环境搭建的过程吧

汇编语言LDR指令和LDR伪指令详解

这篇文章主要介绍了汇编语言LDR指令和LDR伪指令详解,伪指令是用来自动拆分代码值的,会把一条语句拆分成多条语句,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一文掌握汇编语言 halt 命令

汇编 halt 命令,是一条重复执行指定标号的循环命令。处理器暂停,直到出现中断或复位信号才继续,这篇文章主要介绍了汇编语言 halt 命令,需要的朋友可以参考下

VScode配置8086汇编环境的过程解析

这篇文章主要介绍了VScode配置8086汇编环境的过程解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

返回分类 返回首页