Instrucción: ICALL |
Función: | Llamada indirecta a Z |
Sintaxis: | ICALL |
Código de Operación de 16 bit |
1100 |
kkkk | kkkk | kkkk |
Operación: | PC(15:0) Ü Z(15:0) |
Operandos: | Ninguno |
Words: | 1 (2 bytes) |
Ciclos: | 3 |
Flags: | Ninguno |
Pila: | STACK Ü PC + 1 |
SP Ü SP - 2 (2 bytes, 16 bits) |
Program Counter: | PC(15:0) Ü Z(15:0) |
Descripción: ICALL realiza una llamada indirecta a una subrutina apuntada por el registro puntero Z (16 bit). El registro puntero Z es de 16 bit y permite la llamada a subrutina dentro de los 64K words (128K bytes) más bajos de la sección de espacio de memoria de programa. El Stack Pointer (puntero de pila) utiliza durante el ICALL un esquema de post-decremento. |
|
Ejemplo: |
|
MOV r30,r0 | ; Poner offset a la tabla de llamada |
ICALL | ; Rutina de llamada que apunta a r31:r30 |