Operación: ACALL
Descripción: ACALL realiza una llamada incondicional a la subrutina situada en la dirección indicada. ACALL incrementa el PC (Program Counter) dos veces para obtener la dirección de la siguiente instrucción, luego guarda dicha dirección en la pila (el byte de menor peso en primer lugar). En consecuencia el apuntador de pila (SP o Stack Pointer) incrementa su valor en 2. Posteriormente el control del programa se transfiere a la dirección indicada en la instrucción. La dirección de salto, o nuevo valor para el PC se obtiene uniendo a los 5 bits de mayor peso del PC ya incrementado, los bits 7-5 del código de operación y el segundo byte de la instrucción. Como la instrucción ACALL sólo afecta a los 11 bits de menor peso del PC, la llamada siempre se produce a una dirección de memoria de código situada dentro del bloque de 2 K al que pertenece el primer byte de la instrucción que sigue al ACALL. |