Contenido>Indice>Intro Instrucciones


Instrucción: CJNE
Función: Compara y salta si los dos operandos no son iguales
Sintaxis: CJNE operando1,operando2,offset

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags
CJNE A,direcc,offset

0xB5

direcc offset 3 2 C
CJNE A,#dato,offset

0xB4

dato offset 3 2 C
CJNE Rn,#dato,offset
1 0 1 1 1 r r r
dato offset 3 2 C
CJNE @Ri,#dato,offset
1 0 1 1 0 1 1 i
dato offset 3 2 C

Operación: CJNE operando1,operando2,offset

(PC)<= (PC) + 3
IF operando1 < > operando2
THEN
(PC)<= (PC) + offset
IF operando1 < operando2
THEN
(C)<= 1
ELSE
(C)<= 0

Descripción: CJNE compara la magnitud de operando1 y operando2 y salta si sus valores no son iguales. Si ambos operandos son iguales, el programa continúa con la siguiente instrucción a CJNE. La dirección a donde saltar se obtiene sumando el offset (tercer byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, sobre la dirección de comienzo de la siguiente instrucción.

La instrucción no modifica ninguno de los dos operandos.

El flag de acarreo (C) se pone a uno si el valor del primer operando es menor que el segundo operando. En caso contrario el bit C se pone a 0.

Véase también: DJNZ   


  Contenido>Indice>Intro Instrucciones