JxX 条件转移指令 Jxx label 条件满是发车转移:IP←8 条件不满足,顺序执行 指定的条件ⅹ如果成立,程序转移到由标号 labe指定的目标地址去执行指令;条件不成立, 则程序将顺序执行下一条指令 操作数labe是采用短转移,称为相对寻址方式
二 条件转移指令 ◼ 指定的条件xx如果成立,程序转移到由标号 label指定的目标地址去执行指令;条件不成立, 则程序将顺序执行下一条指令 ◼ 操作数label是采用短转移,称为相对寻址方式 Jxx Jxx label ;条件满足,发生转移:IP←IP+8位位移量 ;条件不满足,顺序执行
JxX 相对寻址方式 ×指令的操作数lbe是一个标号 个8位位移量,表示Jcc指令后的那条指令的偏移 地址,到目标指令的偏移地址的地址位移 8位位移量是相对于当前IP的,且距当前IP地址 128~+127个单元的范围之内,属于段内短距离转 移 Jcc目标地址就采用这种相对寻址方式 ■]×X指令为2个字节,条件不满足时的顺序执行 就是当前指令偏移指针IP加2
相对寻址方式 ◼ Jxx指令的操作数label是一个标号 ◼ 一个8位位移量,表示Jcc指令后的那条指令的偏移 地址,到目标指令的偏移地址的地址位移 ◼ 8位位移量是相对于当前IP的,且距当前IP地址- 128~+127个单元的范围之内,属于段内短距离转 移 ◼ Jcc目标地址就采用这种相对寻址方式 ◼ Jxx指令为2个字节,条件不满足时的顺序执行 就是当前指令偏移指针IP加2 Jxx
JxX X指令的分类 ■]X×指令不影响标志,但要利用标志 (表)。根据利用的标志位不同,17条 指令分成4种情况: (1)判断单个标志位状态 (2)比较无符号数高低 (3)比较有符号数大小 (4)判断计数器CX为0
Jxx指令的分类 ◼ Jxx指令不影响标志,但要利用标志 (表)。根据利用的标志位不同,17条 指令分成4种情况: ⑴ 判断单个标志位状态 ⑵ 比较无符号数高低 ⑶ 比较有符号数大小 ⑷ 判断计数器CX为0 Jxx
JxX 判断单个标志位状态 这组指令单独判断5个状态标志之 (和NZ/NE:利用零标志,判断结果例题 (或相等) (S和Ns:利用符号标志S,判断结果是正是例题2 (3)0和JNO:利用溢出标志OF,判断结果是否例题3出 (4)P/PE和JNP/]PO:利用奇偶标志PF,判断结果中“1” 的个数是偶是奇 例题4 (5]C/B/NAE和JNC/JNB/JAE:利用进位标志CF,判断结 果是否进位或借位 例题5
判断单个标志位状态 ◼ 这组指令单独判断5个状态标志之一 ⑴JZ/JE和JNZ/JNE:利用零标志ZF,判断结果是否为零 (或相等) ⑵JS和JNS:利用符号标志SF,判断结果是正是负 ⑶JO和JNO:利用溢出标志OF,判断结果是否产生溢出 ⑷JP/JPE和JNP/JPO:利用奇偶标志PF,判断结果中“1” 的个数是偶是奇 ⑸JC/JB/JNAE和JNC/JNB/JAE:利用进位标志CF,判断结 果是否进位或借位 Jxx 例题1 例题2 例题3 例题4 例题5
JxX 比较无符号数高低 ■无符号数的大小用高( Above)低( Below)表 小 ■利用CF确定高低、利用Z标志确定相等 (equal) ■两数的高低分成4种关系: (1)低于(不高于等于):JB(JNAE) (2)不低于(高于等于):JNB(JAE) (3)低于等于(不高于):JBE(JNA) (4)不低于等于(高于):JNBE(JA)
比较无符号数高低 ◼ 无符号数的大小用高(Above)低(Below)表 示 ◼ 利用CF确定高低、利用ZF标志确定相等 (Equal) ◼ 两数的高低分成4种关系: ⑴ 低于(不高于等于):JB(JNAE) ⑵ 不低于(高于等于):JNB(JAE) ⑶ 低于等于(不高于):JBE(JNA) ⑷ 不低于等于(高于):JNBE(JA ) Jxx