programas
ACALL addr11
Función : Absolute Call - Llamada Absoluta
Descripción : ACALL incondicionalmente llama una subrutina localizada en la dirección indicada. La instrucción incrementa el PC dos veces para obtener la dirección de la siguiente instrucción, luego Push empuja los 16 bits resultantes a la pila (primero el byte de menor orden) e incrementa el StackPointer dos veces. La dirección de destino se obtiene concatenando sucesivamente los bits MSB del PC incrementado, decodificando los bits 7-5, y el segundo byte de la instrucción. La subrutina llamada deberá por ello iniciar con el mismo bloque de 2K de memoria de programa, al igual que el primer byte de la siguiente instrucción ACALL. No se afectan banderas.
Ejemplo : Inicialmente SP es igual a07H. La etiqueta “SUBRTN” esta en la memoria de programa en la localización 0345H. Después de ejecutar la instrucción :
ACALL SUBRTN
en la localización 0123H, SP contendrá 09H, las localizaciones 08H y 09H de la RAM interna contendrán 25H y 01H, respectivamente, y el PC contendrá 0345H.
Bytes : 2
Ciclos : 2
Codificación :
Operación : ACALL
(PC) ß (PC) + 2
(SP) ß (SP) + 1
(SP) ß(PC7-0)
(SP) ß (SP) + 1
(SP) ß (PC15-8)
(PC10-0) ß dirección de página
ADD A,
Función : Add - Sumar
Descripción : ADD suma la variable byte indicada a el Acumulador, dejando el resultado en el Acumulador. Las banderas de carry o carry auxiliar son puestas, respectivamente, si hay un carry-out del bit 7 o del bit 3, o serán borradas si no se dan estascondiciones. Cuando se suman enteros sin signo, la bandera de carry indica que ha ocurrido un sobre flujo.
OV es puesto si hay un carry-out del bit 6 pero no del bit 7, o un carry-out del bit 7 pero no del bit 6 ; de otra manera OV será limpiado. Cuando se suman enteros con signo, el OV indica un número negativo producido de la suma de dos operandos positivos, o una suma positiva de dos operandosnegativos.
Se permiten cuatro formas de dirección de fuentes de suma : registro, directo, registro-indirecto o inmediato.
Ejemplo : El Acumulador tiene 0C3H (11000011B) y el registro 0 contiene 0AAH (10101010B). La instrucción,
ADD A,R0
Dejará 6DH (01101101B) en el Acumulador con la bandera AC limpia y tanto la bandera de Carry como OV puestas a 1
ADD A,Rn Bytes : 1
Ciclos : 1Codificación :
Operación : ADD
(A) ß (A) + (Rn)
ADD A,direct Bytes : 2
Ciclos : 1
Codificación :
Operación : ADD
(A) ß (A) + (direct)
ADD A,@ Ri Bytes : 1
Ciclos : 1
Codificación :
Operación : ADD
(A) ß (A) + ((Ri))
ADD A,#data Bytes : 2
Ciclos : 1
Codificación :
Operación : ADD
(A) ß (A) + #data
ADDC A,
Función : Add with carry - Sumarcon carry
Descripción : ADDC simultáneamente suma la variable byte indicada, la bandera de carry y el contenido del Acumulador, dejando el resultado en el Acumulador. Las banderas de carry o carry auxiliar son puestas, respectivamente, si hay un carry-out del bit 7 o del bit 3, o serán borradas si no se dan estas condiciones. Cuando se suman enteros sin signo, la bandera de carry indica que haocurrido un sobre flujo.
OV es puesto si hay un carry-out del bit 6 pero no del bit 7, o un carry-out del bit 7 pero no del bit 6 ; de otra manera OV será limpiado. Cuando se suman enteros con signo, el OV indica un número negativo producido de la suma de dos operandos positivos, o una suma positiva de dos operandos negativos.
Se permiten cuatro formas de dirección de fuentes de suma : registro,directo, registro-indirecto o inmediato.
Ejemplo : El Acumulador tiene 0C3H (11000011B) y el registro 0 contiene 0AAH (10101010B) con la bandera de carry puesta a 1. La instrucción,
ADDC A,R0
Dejará 6EH (01101110B) en el Acumulador con la bandera AC limpia y tanto la bandera de Carry como OV puestas a 1
ADDC A,Rn Bytes : 1
Ciclos : 1
Codificación :
Operación : ADDC
(A) ß (A)...
Regístrate para leer el documento completo.