汇编语言中的跳转

       汇编中的各种跳转指令

   先了解下,汇编中flag标志位寄存器的各种标志位的含义

  CF ZF PF DF SF TF OF IF AF 九个标志位,在8086中flag是十六位的

8086的flag寄存器的标志位。

OF=1表是溢出,CF=0无溢出,

DF方向标志位,DF=1,串的操作指令按减地址方式进行,CF=0,串的操作指令将按加地址的方式进行。

IF中断标志位,IF=1,表示允许CPU接受外部的中断请求信号,IF=0,表示禁止CPU接受可屏蔽的中断信号。

TF跟踪标志位。为测试用。

SF符号标志位,SF=1,所计算的结构为负数,SF=0,计算结果为整数。

ZF零标志位,ZF=1,当前运算结果为0,否则ZF为0

AF辅助进位标志,若运算一条加法或者减法的时,若结果的低四位向高四位有进位或者借位,则AF=1,否则AF=0

PF奇偶标示位,当执行的结果低8位含有偶数个1时,PF=1,否则为零

CF进位标志位,CF=1,即有进位或者借位,否则CF=0

JE/JZ disp8 转移条件 ZF=1 即就是等于/零转移

JNE/JNZ disp8 转移条件ZF=0 即就是不等于/非零转移

JS disp8  转移条件 SF=1 即就是负转移

JNS disp8 转移条件 SF=0 即就是正转

JP/JPE disp8 转移条件 PF=1 偶转移(JP等价与JPE)

JNP/JPO disp8 转移条件 PF=0 非偶转移

JO disp8 转移条件 OF=1 溢出转移

JNO disp8 转移条件 OF=0 不溢出转移

JC disp8 转移条件 CF=1 进位转移

JNC disp8 转移条件 CF=0 不进位转移

以上这些转移基本都只依赖与单一的标志位的状态。

以下的跳转与CMP指令结合的比较紧密

JB/JNAE disp8  转移条件CF=1,即低于/不高于或等于

JAE/JNB disp8 转移条件 CF=0,即高于或等于/不低于转移

JA/JNBE disp8 转移条件 CF=0且ZF=0,即高于/不低于或等于转移

JBE/JNA disp8 转移条件 CF=1或ZF=1 ,即低于或等于/不高于转移

JG/JNLE disp8 转移条件 SF=OF且ZF=0。 大于/不小于或等于转移

JGE/JNL disp8 转移条件 SF=OF 。即大于或等于/不小于转移

JL/JNGE disp8 转移条件 SF!=OF且ZF=0 ,即小于/不大于或等于转移

JLL/JNG disp8 转移条件 SF!=OF或ZF=1,即小于或者等于/不大于转移

JCXZ disp8 转移条件 CX=0 CX等于零转移

 

本文出自 “朴树” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,汇编跳转指令)