①根据单个标志位设置的条件转移指令 JB/JC 低于,或CF=1,则转移 JNB/JNC/JAE;高于或等于,或CF=0,则转移 JP/JPE ;奇偶标志PF=1(偶),则转移 JⅠNP/JPO 奇偶标志PF=0(奇),则转移 JZ/JE 结果为零(ZF=1),则转移 JⅠNZ/JNE 结果不为零(ZF=0),则转移 JS SF=1,则转移 JNS ;SF=0,则转移 JO OF=1,则转移 JNO OF=0,则转移
11 ① 根据单个标志位设置的条件转移指令 JB/JC ;低于,或CF=1,则转移 JNB/JNC/JAE ;高于或等于,或CF=0,则转移 JP/JPE ;奇偶标志PF=1(偶),则转移 JNP/JPO ;奇偶标志PF=0(奇),则转移 JZ/JE ;结果为零(ZF=1),则转移 JNZ/JNE ;结果不为零(ZF=0),则转移 JS ;SF=1,则转移 JNS ;SF=0,则转移 JO ;OF=1,则转移 JNO ;OF=0,则转移
②根据组合条件设置的条件转移指令 这类指令主要用来判断两个数的大小。一般 指令序列为 cmP dist,src;比较 JxX label 根据比较结果转移 判断无符号数的大小 ●JA高于则转移(dist>src) 转移条件为:CF=0∧ZF=0 ●JNA/JBE低于或等于则转移(dist≤src) 转移条件为:CF=1ZF=1
12 这类指令主要用来判断两个数的大小。一般 指令序列为: CMP dist,src ;比较 Jxx label ;根据比较结果转移 ⚫ 判断无符号数的大小 ⚫ JA 高于则转移(dist>src) 转移条件为: CF=0∧ZF=0 ⚫ JNA/JBE 低于或等于则转移(dist≤src) 转移条件为: CF=1∨ZF=1 ② 根据组合条件设置的条件转移指令
●判断有符号数的大小 JG 大于则转移(dist>src) 转移条件为:(SF⊕OF=0)∧zF=0 JGE 大于或等于则转移(dist≥src) 转移条件为:(SFOF=0)zF=1 小于则转移(dist<Src) 转移条件为:(SF⊕OF=1)∧ZF=0 JLE ;小于或等于则转移(dist≤src) 转移条件为:(SF⊕OF=1)zF=1
13 ⚫ JG ;大于则转移(dist>src) 转移条件为: (SF⊕OF=0)∧ZF=0 ⚫ JGE ;大于或等于则转移(dist≥src) 转移条件为: (SF⊕OF=0)∨ZF=1 ⚫ JL ;小于则转移(dist<src) 转移条件为: (SF⊕OF=1)∧ZF=0 ⚫ JLE ;小于或等于则转移(dist≤src) 转移条件为: (SF⊕OF=1)∨ZF=1 ⚫ 判断有符号数的大小
③根据CX内容来决定是否转移的转移指令 JCXZ label 若(CX)=0,则转移到 label处开始执行
14 ③根据CX内容来决定是否转移的转移指令 JCXZ label 若(CX)=0,则转移到label处开始执行