INICIO WEB

        

Instrucción: RCALL

    
        
Función: Llamada relativa a subrutina
                
Sintaxis: RCALL k

123.gif (858 bytes)

       

Código de Operación de 16 bit

          

1101

kkkk kkkk kkkk
                    
                     
Operación: PC Ü PC + k + 1
                
Operandos: -2K £ k < +2K
                        
Words: 1 (2 bytes)
                 
Ciclos: 3
                       
Flags: Ninguno
             
Pila:

STACK Ü PC + 1

SP Ü SP - 2 (2 bytes, 16 bits)
          
Program Counter: PC Ü PC + k + 1
  

Descripción: RCALL realiza una llamada relativa a una dirección que se encuentra dentro de PC - 2K + 1 y PC +2K (words). En ensamblador, se usan etiquetas en lugar de operadores relativos. Para los microcontroladores AVR con memoria de programa que no excede 4K words (8K bytes) esta instrucción puede dirigirse a toda la memoria desde cualquier posición de dirección. El Stack Pointer (puntero de pila) utiliza durante el RCALL un esquema de post-decremento.

    
 

Ejemplo:

 

                    RCALL routine

; Llamada a subrutina

                    ...

routine:         PUSH r14

; Guardar r14 en la pila

                    ...

                    POP r14

; Restaurar r14
                    RET ; Retorno de subrutina
              
                                         

ARRIBA