Lenguajes ensambladores

25
- Instrucción: ACALL Función: Llamada absoluta dentro de un bloque de 2K Sintaxis: ACALL dir_11 Instrucción Código de Operación 2º Byte Bytes Ciclos Flags ACALL dir_11 a10 a9 a8 1 0 0 0 0 dir 7-0 2 2 - Operación: ACALL (PC) <= (PC) + 2 (SP) <= (SP) + 1 ((SP)) <= (PC7-0) (SP)<= (SP) + 1 ((SP)) <= (PC15-8) (PC10-0) <= dir_11 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.

description

INVESTIGACION DE ALGUNOS SIMBOLOS DE LENGUAJES ENSAMBLADORES

Transcript of Lenguajes ensambladores

Page 1: Lenguajes ensambladores

-

Instrucción: ACALL

Función: Llamada absoluta dentro de un bloque de 2K

Sintaxis: ACALL dir_11

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

ACALL dir_11 a10 a9 a8 1 0 0 0 0

dir 7-0 2 2 -

Operación: ACALL

(PC) <= (PC) + 2 (SP) <= (SP) + 1 ((SP)) <= (PC7-0) (SP)<= (SP) + 1 ((SP)) <= (PC15-8) (PC10-0) <= dir_11

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.

Page 2: Lenguajes ensambladores

-

Instrucción: ADD

Función: Suma el operando implicado al ACC y deja el resultado en ACC

Sintaxis: ADD A,operando

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

ADD A,Rn 0 0 1 0 1 r r r

- 1 1 C-AC-OV

ADD A,direcc 0x25 direcc 2 1 C-AC-OV

ADD A,@Ri 0 0 1 0 0 1 1 i

- 1 1 C-AC-OV

ADD A,#dato 0x24 dato 2 1 C-AC-OV

Operación: ADD A,operando

(A)<= (A) + operando

Descripción: ADD suma el valor del operando al valor del Acumulador, y deja el resultado en el Acumulador. El valor del operando no resulta afectado.

El bit de acarreo (C) se pone a uno si hay llevada desde el bit 7. Es decir, si el resultado de la suma pasa de 255. En caso contrario el bit C se pone a cero.

El bit de acarreo auxiliar (AC) se pone a uno si hay llevada desde el bit 3. Es decir si el nibble bajo del resultado pasa de 15. En caso contrario el bit AC se pone a cero.

El bit de rebasamiento (OV) se pone a uno si hay llevada desde el bit 6, o desde el bit 7, pero no de ambos. En caso contrario se pone a cero. En otras palabras, si al sumar dos números enteros, el flag OV toma valor 1, ello significa que el resultado se encuentra fuera del rango de los enteros de 8 bits, que va desde -128 hasta +127.

Page 3: Lenguajes ensambladores

-

Instrucción: ADDC

Función: Suma el operando implicado, el bit de acarreo y el ACC y deja el resultado en ACC

Sintaxis: ADDC A,operando

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

ADDC A,Rn 0 0 1 1 1 r r r

- 1 1 C-AC-OV

ADDC A,direcc 0x35 direcc 2 1 C-AC-OV

ADDC A,@Ri 0 0 1 1 0 1 1 i

- 1 1 C-AC-OV

ADDC A,#dato 0x34 dato 2 1 C-AC-OV

Operación: ADDC A,operando

(A)<= (A) + (C) + operando

Descripción: ADDC suma el valor del operando, el bit de acarreo C, y el valor del Acumulador, y deja el resultado en el Acumulador. El valor del operando no resulta afectado.

El bit de acarreo (C) se pone a uno si hay llevada desde el bit 7. Es decir, si el resultado de la suma pasa de 255. En caso contrario el bit C se pone a cero.

El bit de acarreo auxiliar (AC) se pone a uno si hay llevada desde el bit 3. Es decir si el nibble bajo del resultado pasa de 15. En caso contrario el bit AC se pone a cero.

El bit de rebasamiento (OV) se pone a uno si hay llevada desde el bit 6, o desde el bit 7, pero no de ambos. En caso contrario se pone a cero. En otras palabras, si al sumar dos números enteros, el flag OV toma valor 1, ello significa que el resultado se encuentra fuera del rango de los enteros de 8 bits, que va desde -128 hasta +127.

Page 4: Lenguajes ensambladores

-

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

AJMP dir_11 a10 a9 a8 0 0 0 0 1

dir 7-0 2 2 -

Operación: AJMP

(PC)<= (PC) + 2 (PC10-0)<= dir_11

Descripción: AJMP realiza una salto a la dirección indicada de la memoria de código. La dirección de salto, o nuevo valor para el PC (Program Counter) se obtiene uniendo a los 5 bits de mayor peso del PC ( incrementado dos veces), los bits 7-5 del código de operación y el segundo byte de la instrucción.

Como la instrucción AJMP 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 2K al que pertenece el primer byte de la instrucción que sigue al AJMP.

Instrucción: AJMP

Función: Salto absoluto dentro de un bloque de 2K

Sintaxis: AJMP dir_11

Page 5: Lenguajes ensambladores

-

Instrucción: ANL

Función: Realiza la AND bit a bit entre los dos operandos. Deja el resultado en operando1

Sintaxis: ANL operando1,operando2

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

ANL A,Rn 0 1 0 1 1 r r r

- - 1 1 -

ANL A,direcc 0x55 direcc - 2 1 -

ANL A,@Ri 0 1 0 1 0 1 1 i

- - 1 1 -

ANL A,#dato 0x54 dato - 2 1 -

ANL direcc,A 0x52 direcc - 2 1 -

ANL direcc,#dato 0x53 direcc dato 3 2 -

Operación: ANL operando1,operando2

(operando1)<= (operando1) AND (operando2)

Descripción: ANL realiza la operación "AND" bit a bit, entre operando1 y operando2, dejando el resultado en operando1. El valor del operando2 no resulta afectado.

Nota: Cuando se utiliza esta instrucción para modificar un puerto de salida, el valor inicial del dato del puerto se lee del latch de salida, no de las patillas del puerto.

Page 6: Lenguajes ensambladores

-

Instrucción: DA

Función: Ajuste decimal del acumulador para la suma

Sintaxis: DA A

Instrucción Código de Operación Bytes Ciclos Flags

DA A 0xD4 1 1 C

Operación: DA A

IF [[(A3-0) > 9] OR [(AC) = 1]] THEN(A3-0)<= (A3-0) + 6 AND IF [[(A7-4) > 9] OR [(C) = 1]] THEN (A7-4)<= (A7-4) + 6

Descripción: Después de una suma de dos números BCD (Binary Coded Decimal), la instrucción DA A ajusta el contenido del acumulador a un número BCD.

Su funcionamiento se realiza en dos fases:

En la primera, si el bit AC vale 1, o si el nibble bajo del acumulador es mayor que 9, se añade 06H al acumulador. Esta operación puede poner a 1 el C, pero no puede ponerlo a 0.

Si después de la primera fase el bit C vale 1, o si el nibble alto del acumulador es mayor que 9, se añade 60H al acumulador.

El bit de acarreo (C) se pone a 1 si el contenido final del acumulador es mayor que 99H. En caso contrario se pone a 0.

La instrucción DA A debe utilizarse siempre después de una suma (ADD o ADDC), y no puede emplearse después de una resta (SUBB).

Page 7: Lenguajes ensambladores

-

Instrucción: JB

Función: Salta si el bit implicado vale 1

Sintaxis: JB bit,offset

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

JB bit,offset 0x20

bit offset 3 2 -

Operación: JB bit,offset

(PC)<= (PC) + 3 IF (bit) = 1 THEN (PC)<= (PC) + offset

Descripción: Si el bit implicado es igual a 1 se salta a la dirección indicada. En caso contrario se procesa la siguiente instrucción. La dirección a donde saltar se obtiene sumando el offset (último byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, medidos desde la dirección de comienzo de la siguiente instrucción.

Page 8: Lenguajes ensambladores

-

Instrucción: INC

Función: Incrementa en una unidad el operando implicado

Sintaxis: INC operando

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

INC A 0x04 - 1 1 -

INC Rn 0 0 0 0 1 r r r

- 1 1 -

INC direcc 0x05 direcc 2 1 -

INC @Ri 0 0 0 0 0 1 1 i

- 1 1 -

INC DPTR 0xA3 - 1 2 -

Operación: INC operando

operando<= operando + 1

Descripción: INC incrementa en una unidad el valor del operando. Si el valor a incrementar es 0FFH, entonces el resultado será 0, aunque el bit C no resulta afectado por ello.

Nota: Cuando se utiliza esta instrucción para modificar un puerto de salida, el valor inicial del dato del puerto se lee del latch de salida, no de las patillas del puerto.

En el caso de INC DPTR se incrementa el registro de 16 bits DPTR. Si la parte baja del registro (DPL), pasa de 0xFF a 0, la parte alta del registro (DPH) se incrementa en una unidad. Si el valor inicial del DPTR es 0xFFFF, entonces el resultado será 0, aunque el bit C no resulta afectado por ello.

Page 9: Lenguajes ensambladores

-

Instrucción: JC

Función: Salta si el bit C vale 1

Sintaxis: JC offset

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

JC offset 0x40 offset 2 2 -

Operación: JC offset

(PC)<= (PC) + 2 IF (C) = 1 THEN (PC)<= (PC) + offset

Descripción: Si el flag C vale 1 se salta a la dirección indicada. En caso contrario se procesa la siguiente instrucción. La dirección a donde saltar se obtiene sumando el offset (último byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, medidos desde la dirección de comienzo de la siguiente instrucción.

Page 10: Lenguajes ensambladores

-

Instrucción:

CPL

Función: Complementa el bit implicado

Sintaxis: CPL bit

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

CPL C 0xB3 - 1 1 C

CPL bit 0xB2 bit 2 1 -

Operación: CPL bit

bit <= NOT bit

Descripción: CPL complementa el bit indicado. CPL puede operar con el bit C o con cualquier bit direccionable de forma directa.

Page 11: Lenguajes ensambladores

-

Instrucción: JBC

Función: Salta si el bit implicado vale 1, y borrar el bit

Sintaxis: JBC bit,offset

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

JBC bit,offset 0x10 bit offset 3 2 -

Operación: JBC bit,offset

(PC)<= (PC) + 3 IF (bit) = 1 THEN (bit)<= 0 (PC)<= (PC) + offset

Descripción: Si el bit implicado es igual a 1, se pone a 0 y se salta a la dirección indicada. En caso contrario se procesa la siguiente instrucción. La dirección a donde saltar se obtiene sumando el offset (último byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, medidos desde la dirección de comienzo de la siguiente instrucción.

Page 12: Lenguajes ensambladores

-

Instrucción: JNC

Función: Salta si el bit C vale 0

Sintaxis: JNC offset

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

JNC offset 0x50 offset 2 2 -

Operación: JNC offset

(PC)<= (PC) + 2 IF (C) = 0 THEN (PC)<= (PC) + offset

Descripción: Si el flag C vale 0 se salta a la dirección indicada. En caso contrario se procesa la siguiente instrucción. La dirección a donde saltar se obtiene sumando el offset (último byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, medidos desde la dirección de comienzo de la siguiente instrucción.

Page 13: Lenguajes ensambladores

-

Instrucción: JZ

Función: Salta si el Acumulador es 0

Sintaxis: JZ offset

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

JZ offset 0x60 offset 2 2 -

Operación: JZ offset

(PC)<= (PC) + 2 IF (A) = 0 THEN (PC)<= (PC) + offset

Descripción: Si el contenido del acumulador es igual a 0 se salta a la dirección indicada. En caso contrario se procesa la siguiente instrucción. La dirección a donde saltar se obtiene sumando el offset (último byte de la instrucción), al PC (Program Counter) después de que éste se haya incrementado hasta el comienzo de la siguiente instrucción. El offset representa una cantidad entera con signo, y permite saltos de hasta 127 posiciones hacia adelante, y hasta 128 posiciones hacia atrás, medidos desde la dirección de comienzo de la siguiente instrucción.

Page 14: Lenguajes ensambladores

-

Instrucción: MOV

Función: Copiar operando2 sobre operando1.

Sintaxis: MOV operando1,operando2

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

MOV A,Rn 1 1 1 0 1 r r r

- - 1 1 -

*MOV A,direcc 0xE5 direcc - 2 1 -

MOV A,@Ri 1 1 1 0 0 1 1 i

- - 1 1 -

MOV A,#dato 0x74 dato - 2 1 -

MOV Rn,A 1 1 1 1 1 r r r

- - 1 1 -

MOV Rn,direcc 1 0 1 0 1 r r r

direcc - 2 2 -

MOV Rn,#dato 0 1 1 1 1 r r r

dato - 2 1 -

MOV direcc,A 0xF5 direcc - 2 1 -

MOV direcc,Rn 1 0 0 0 1 r r r

direcc - 2 2 -

*MOV direc1,direc2 0x85 direc2 direc1 3 2 -

MOV direcc,@Ri 1 0 0 0 0 1 1 i

direcc - 2 2 -

MOV direcc,#dato 0x75 direcc dato 3 2 -

MOV @Ri,A 1 1 1 1 0 1 1 i

- - 1 1 -

MOV @Ri,direcc 1 0 1 0 0 1 1 i

direcc - 2 2 -

MOV @Ri,#dato 0 1 1 1 0 1 1 i

dato - 2 1 -

MOV DPTR,#dato16 0x90 dato 15-8 dato 7-0 3 2 -

Operación: MOV operando1,operando2

(operando1)<= (operando2)

Descripción: MOV copia el valor de operando2 en operando1. El valor de operando2 no resulta afectado. Ambos operandos pertenecen a la RAM interna. Ningún flag resulta afectado, salvo que el movimiento se realice hacia el registro PSW que contiene los flags.

Nota_1: MOV A,ACC no es una instrucción válida. Experimentalmente se ha comprobado que se trata de una instrucción de dos bytes que se ejecuta en un solo ciclo máquina y que parece dejar siempre el contenido del acumulador a 0xFF.

Nota_2: En el caso de "MOV direc1,direc2", los operandos se almacenan en orden inverso. Así la instrucción formada por los bytes 85H, 20H, 50H indica "Mover el contenido de la dirección 20H de RAM Interna a la dirección 50H de RAM Interna.

Page 15: Lenguajes ensambladores

-

Instrucción: MOV

Función: Movimiento de bit

Sintaxis: MOV bit1,bit2

Instrucción Código de Operación Byte 2º Bytes Ciclos Flags

MOV C,bit 0xA2 bit 2 1 C

MOV bit,C 0x92 bit 2 2 -

Operación: MOV bit1,bit2

(bit1)<= (bit2)

Descripción: Mueve (copia) el valor del bit2 en el bit1, el contenido de bit2 no resulta afectado. Uno de los operandos es siempre el bit C.

Page 16: Lenguajes ensambladores

-

Instrucción: MOVX

Función: Mover un byte entre el acumulador y la memoria externa de datos XRAM

Sintaxis: MOVX operando1,operando2

Instrucción Código de Operación Bytes Ciclos Flags

MOVX A,@Ri 1 1 1 0 0 0 1 i

1 2 -

MOVX A,@DPTR 0xE0 1 2 -

MOVX @Ri,A 1 1 1 1 0 0 1 i

1 2 -

MOVX @DPTR,A 0xF0 1 2 -

Operación: MOVX operando1,operando2

(operando1)<= (operando2)

Descripción: MOVC copia un byte desde operando2, hacia operando1. Uno de los operandos es el acumulador, y el otro es una posición de la memoria eXterna de datos (XRAM). La dirección de la posición de XRAM implicada en el movimiento es la contenida en los registros DPH y DPL (caso @DPTR), o la contenida en los registros P2 y Ri (caso @Ri). La instrucción no modifica al operando2.

Page 17: Lenguajes ensambladores

-

Instrucción: NOP

Función: No OPeración

Sintaxis: NOP

Instrucción Código de Operación Bytes Ciclos Flags

NOP 0x00 1 1 -

Operación: NOP

(PC)<= (PC) + 1

Descripción: Como su nombre indica, no realiza ninguna operación. Generalmente se utiliza para obtener demoras cortas, ya que en su ejecución se invierte un ciclo máquina.

Page 18: Lenguajes ensambladores

-

Instrucción: PUSH

Función: Apilar un byte de RAM interna

Sintaxis: PUSH direcc

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

PUSH direcc 0xC0 direcc 2 2 -

Operación: PUSH direcc

(SP)<= (SP) + 1 ((SP))<= (direcc)

Descripción: PUSH almacena el valor de una dirección de RAM interna en la pila. En primer lugar incrementa en 1 el valor de SP (Stack Pointer), y después guarda el valor de la dirección de RAM interna implicada, en la posición apuntada por el SP ya incrementado.

Page 19: Lenguajes ensambladores

-

Instrucción: LCALL

Función: Llamada larga

Sintaxis: LCALL dir_16

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

LCALL dir_16 0x12 dir 15-8 dir 7-0 3 2 -

Operación: LCALL

(PC)<= (PC) + 3 (SP)<= (SP) + 1 ((SP))<= (PC.7-0) (SP)<= (SP) + 1 ((SP))<= (PC.15-8) (PC)<= addr15-0

Descripción: LCALL realiza una llamada incondicional a la subrutina situada en la dirección indicada. LCALL incrementa el PC (Program Counter) tres 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.

Page 20: Lenguajes ensambladores

-

Instrucción: SETB

Función: Pone a uno el bit implicado

Sintaxis: SETB bit

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

SETB C 0xD3 - 1 1 C

SETB bit 0xD2 bit 2 1 -

Operación: SETB bit

bit <= 1

Descripción: SETB pone a uno el bit indicado. Puede operar con el bit C o con cualquier bit direccionable de forma directa.

Page 21: Lenguajes ensambladores

-

Instrucción: DEC

Función: Decrementa en una unidad el operando implicado

Sintaxis: DEC operando

Instrucción Código de Operación 2º Byte Bytes Ciclos Flags

DEC A 0x14 - 1 1 -

DEC Rn 0 0 0 1 1 r r r

- 1 1 -

DEC direcc 0x15 direcc 2 1 -

DEC @Ri 0 0 0 1 0 1 1 i

- 1 1 -

Operación: DEC operando

operando<= operando - 1

Descripción: DEC decrementa en una unidad el valor del operando. Si el valor a decrementar es 0, entonces el resultado será 0xFF, aunque el bit C no resulta afectado por ello.

Nota: Cuando se utiliza esta instrucción para modificar un puerto de salida, el valor inicial del dato del puerto se lee del latch de salida, no de las patillas del puerto.

Page 22: Lenguajes ensambladores

-

Instrucción: RET

Función: Retorno desde subrutina

Sintaxis: RET

Instrucción Código de Operación Bytes Ciclos Flags

RET 0x22 1 2 -

Operación: RET

(PC15-8)<= ((SP)) (SP)<= (SP) - 1 (PC7-0)<= ((SP)) (SP)<= (SP) - 1

Descripción: RET se utiliza para retornar desde una subrutina llamada previamente con LCALL o ACALL. La ejecución del programa continúa desde la dirección formada al extraer 2 bytes de la pila. En primer lugar de la pila se saca el byte más significativo.

Page 23: Lenguajes ensambladores

-

Instrucción: XRL

Función: O-exclusiva bit a bit entre dos operandos.

Sintaxis: XRL operando1,operando2

Instrucción Código de Operación Byte 2º Byte 3º Bytes Ciclos Flags

XRL A,Rn 0 1 1 0 1 r r r

- - 1 1 -

XRL A,direcc 0x65 direcc - 2 1 -

XRL A,@Ri 0 1 1 0 0 1 1 i

- - 1 1 -

XRL A,#dato 0x64 dato - 2 1 -

XRL direcc,A 0x62 direcc - 2 1 -

XRL direcc,#dato 0x63 direcc dato 3 2 -

Operación: XRL operando1,operando2

(operando1)<= (operando1) XOR (operando2)

Descripción: XRL realiza la operación "O-exclusiva" bit a bit, entre operando1 y operando2, dejando el resultado en operando1. El valor del operando2 no resulta afectado.

Nota: Cuando se utiliza esta instrucción para modificar un puerto de salida, el valor inicial del dato del puerto se lee del latch de salida, no de las patillas del puerto.

Page 24: Lenguajes ensambladores

-

Instrucción: CLR

Función: Pone a cero los ocho bits del acumulador

Sintaxis: CLR A

Instrucción Código de Operación Bytes Ciclos Flags

CLR A 0xE4 1 1 -

Operación: CLR A

(A) <= 0

Descripción: CLR A pone a cero el acumulador.

Page 25: Lenguajes ensambladores

-

Instrucción: RL

Función: Rota el acumulador hacia la izquierda

Sintaxis: RL A

Instrucción Código de Operación Bytes Ciclos Flags

RL A 0x23 1 1 -

Operación: RL A

(An + 1)<= (An) Para n = 0-6 (A0)<= (A7)

Descripción: RL A rota los ocho bits del acumulador un lugar hacia la izquierda. El bit 7 se lleva a la posición del bit 0.