INICIO WEB

       

Instrucción: CPC

    

123.gif (858 bytes)

        
Función: Comparación con carry
                
Sintaxis: CPC Rd, Rr

123.gif (858 bytes)

       

Código de Operación de 16 bit

          

0000

01rd dddd rrrr
                    
                     
Operación: Rd - Rr - 1
                
Operandos: 0 £ k £ 31, 0 £ r £ 31
                        
Words: 1 (2 bytes)
                 
Ciclos: 1
                       
Flags: Z, N, V, C, H
          
Program Counter: PC Ü PC + 1
  

Descripción: CPC realiza una comparación entre dos registros Rd y Rr y también tiene en cuenta el carry previo. Ninguno de los registros es cambiado. Todos los desvíos condicionales pueden usarse después de esta instrucción.

    

H: Estará a set (uno) si había una llevada negativa (borrow) del bit 3, de lo contrario se borrará (cero).

    

V: Estará a set si ocurre un desbordamiento del complemento a dos como resultado de la operación, de lo contrario se borrará.

       

N: Estará a set si el bit MSB del resultado está a set, de lo contrario se borrará.

       

Z: El valor previo permanece sin cambio cuando el resultado es cero, de lo contrario se borrará.

            

C: Estará a set si el valor absoluto del contenido de Rr + el carry previo, es mayor que el contenido de Rd, de lo contrario se borrará.

 

Ejemplo:

 

Comparar r3:r2 con r1:r0

                    CP r2,r0

; Compara el byte bajo

                    CPC r3,r1

; Compara el byte alto

                    BRNE noteq

; Desvío si no son iguales

                    ...

noteq:           NOP ; Destino de desvío (No hacer nada)
          
                                         

ARRIBA