Red de conocimiento informático - Conocimiento sistemático - ¿Qué significa la instrucción jc en lenguaje ensamblador?

¿Qué significa la instrucción jc en lenguaje ensamblador?

JC=Saltar si lleva

Cuando la operación genera un indicador de acarreo (es decir, CF=1), salte al programa de destino.

Por ejemplo:

add al,bl

jc carrybit

inc al; sentencia no ejecutada.

carrybit:

neg al

Este programa no tiene ningún sentido, es sólo un ejemplo.

Las mismas instrucciones:

JNC, salta cuando CF=0

JZ, salta cuando ZF=1, JNZ, salta cuando ZF= Salta cuando 0; ;

JO, salta cuando OF=1, JNO, salta cuando OF=0

JP, salta cuando PF=1.. ....

Las mismas instrucciones:

JO, salta cuando PF=1;

JP, salta cuando PF=1;

JO, salta cuando PF=0;

JP, salta cuando PF=0

JO, salta cuando PF=1

JP, salta cuando PF=0; p> JP, salta cuando PF=1...

Y así sucesivamente. Básicamente, cada bit del registro de bandera se puede utilizar como condición para el "salto condicional".

Por supuesto, el salto condicional no es solo un bit de registro de bandera, también puede ser un CX

Por ejemplo:

a_loop:

;hacer algo

dec cx

jcxz

jmp a_loop

Como puedes ver, esto es equivalente a un bucle instrucción. Esto es equivalente a la instrucción de bucle.

Además, para determinar el tamaño:

cmp op1,op2

JXX XXXX

JXX tiene lo siguiente:

JA representa el operador 1>operador 2, JNA representa el operador 1

JA representa el operador 1>operador 2, JNA representa el operador 1