El documento contiene una lista de comandos de la familia 8051 divididos en cuatro categorías: comandos aritméticos, lógicos, de transporte y otros. Describe cada comando indicando su función, bytes de código, ciclos de máquina y banderas afectadas. La lista incluye comandos para realizar operaciones aritméticas y lógicas, incrementar/decrementar valores, mover datos entre registros y memoria, y más.
El documento contiene una lista de comandos de la familia 8051 divididos en cuatro categorías: comandos aritméticos, lógicos, de transporte y otros. Describe cada comando indicando su función, bytes de código, ciclos de máquina y banderas afectadas. La lista incluye comandos para realizar operaciones aritméticas y lógicas, incrementar/decrementar valores, mover datos entre registros y memoria, y más.
El documento contiene una lista de comandos de la familia 8051 divididos en cuatro categorías: comandos aritméticos, lógicos, de transporte y otros. Describe cada comando indicando su función, bytes de código, ciclos de máquina y banderas afectadas. La lista incluye comandos para realizar operaciones aritméticas y lógicas, incrementar/decrementar valores, mover datos entre registros y memoria, y más.
Lista de comandos de la familia 8051 / Comandos aritméticos
Mnemonic Función Bytes MZ Flags
ADD A,Rr El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, adición del acumulador y el contenido de Rr. OV,P ADD A,dadr El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, adición del acumulador y el contenido de dadr. OV,P ADD A,@Ri El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, adición del acumulador y el contenido de la celda de OV,P memoria de datos interna que es direccionada por Ri. ADD A,#const8 El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, adición del acumulador y el contenido de las constantes OV,P de 8 bit. ADDC A,Rr El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, adición del acumulador, Rr y el contenido del carry- OV,P flag. ADDC A, dadr El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, adición del acumulador, dadr y el contenido del carry- OV,P flag. ADDC A, @Ri El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, adición del acumulador, el contenido de la celda de OV,P memoria de datos interna que es direccionada por Ri y el contenido del carry-flag. ADDC A, #const8 El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, adición del acumulador, el contenido de la constante de OV,P 8 bit y el contenido del carry-flag. SUBB A,Rr El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, sustracción del acumulador y la suma de los contenidos OV,P de Rr y del carry-flag. SUBB A,dadr El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, sustracción del acumulador y la suma de los contenidos OV,P de dadr y del carry-flag. SUBB A,@Ri El acumulador es sobreescrito por el resultado de la 1 1 CY,AC, sustracción del acumulador y la suma de los contenidos OV,P del carry-flag y el contenido de la celda de memoria de datos interna que es direccionada por Ri. SUBB A,#const8 El acumulador es sobreescrito por el resultado de la 2 1 CY,AC, sustracción del acumulador y la suma de los contenidos OV,P del carry-flag y de la constante de 8 bit. INC A El contenido del acumulador es incrementado. 1 1 P INC Rr El contenido del registro Rr es incrementado. 1 1 - INC dadr El contenido de la celda de memoria dadr es 2 1 - incrementado. INC @Ri El contenido de las celdas de memoria de la memoria 1 1 - de datos interna que es direccionada por Ri es incrementado. INC DPTR El contenido del datapointer es incrementado. 1 2 - DEC A El contenido del acumulador es decrementado. 1 1 P DEC Rr El contenido del registro Rr es decrementado. 1 1 - DEC dadr El contenido de la celda de memoria dadr es 2 1 - decrementado. DEC @Ri El contenido de la celda de memoria de la memoria de 1 1 - datos interna que está direccionada por Ri es decrementado. MUL AB Los contenidos del acumulador y registro B son 1 4 CY,OV,P multiplicados. El byte inferior del producto está a la espera en el acumulador, el byte superior en el registro B. Se borra el carry-flag y se activa el OV-flag, si el resultado en el registro B no es igual a cero. DIV AB Los contenidos del acumulador y del registro B son 1 4 CY,OV,P divididos. El cociente está a la espera en el acumulador, el resto de división en el registro B. Se borra el carry-flag. En una división por cero se activa el OV-flag. DA A El resultado de una adición anterior de dos números 1 1 CY,P BCD está a la espera en el acumulador y es corregido teniendo en cuenta a Carry y a Carry auxiliar.
Lista de comandos de la familia 8051 / Comandos lógicos
Mnemonic Función Bytes MZ Flags
ANL A,Rr El acumulador es sobreescrito por el resultado del 1 1 P enlace Y del acumulador y del contenido de Rr. ANL A,dadr El acumulador es sobreescrito por el resultado del 2 1 P enlace Y del acumulador y del contenido de dadr. ANL A,@Ri El acumulador es sobreescrito por el resultado del 1 1 P enlace Y del acumulador y del contenido de la celda de memoria de datos interna que es direccionada por el contenido de Ri. ANL A,#const8 El acumulador es sobreescrito por el enlace Y del 2 1 P acumulador y de la constante de 8 bit. ANL dadr,A El contenido de dadr es sobreescrito por el enlace Y del 2 1 - acumulador y del contenido de dadr. ANL dadr,#const8 El contenido de dadr es sobreescrito por el enlace Y de 3 2 - la constante de 8 bit y del contenido de dadr. ORL A,Rr El acumulador es sobreescrito por el enlace Ó del 1 1 P acumulador y del contenido de Rr. ORL A,dadr El acumulador es sobreescrito por el enlace Ó del 2 1 P acumulador y del contenido de dadr. ORL A,@Ri El acumulador es sobreescrito por el enlace Ó del 1 1 P acumulador y del contenido de la celda de memoria de datos interna que es direccionada por el contenido de Ri. ORL A,#const8 El acumulador es sobreescrito por el resultado del 2 1 P enlace Ó del acumulador y de la constante de 8 bit. ORL dadr,A El contenido de dadr es sobreescrito por el enlace Ó del 2 1 - acumulador y del contenido de dadr. ORL dadr,#const8 El contenido de dadr es sobreescrito por el enlace Ó de 3 2 - la constante de 8 bit y del contenido de dadr. XRL A,Rr El acumulador es sobreescrito por el resultado del 1 1 P enlace Ó-EXCLUSIVO del acumulador y del contenido de Rr. XRL A,dadr El acumulador es sobreescrito por el resultado del 2 1 P enlace Ó-EXCLUSIVO del acumulador y del contenido de dadr. XRL A,@Ri El acumulador es sobreescrito por el enlace Ó- 1 1 P EXCLUSIVO del acumulador y del contenido de la celda de memoria de datos interna que es direccionada por el contenido de Ri. XRL A,#const8 El acumulador es sobreescrito por el resultado del 2 1 P enlace Ó-EXCLUSIVO del acumulador y de la contante de 8 bit. XRL dadr,A El contenido de dadr es sobreescrito porel enlace Ó- 2 1 - EXCLUSIVO del acumulador y del contenido de dadr. XRL dadr,#const8 El contenido de dadr es sobreescrito por el enlace Ó- 3 2 - EXCLUSIVO de la constante de 8 bit y del contenido de dadr. CLR A El acumulador es borrado. 1 1 P CPL A El contenido del acumulador es invertido. 1 1 P
Lista de comandos de la familia 8051 / Comandos de transporte
Mnemonic Función Bytes MZ Flags
MOV A,Rr Cargar el acumulador con el contenido de Rr. 1 1 P MOV A,dadr Cargar el acumulador con el contenido de dadr. 2 1 P MOV A,@Ri Cargar el acumulador con el contenido de la celda de 1 1 P memoria de datos interna que es direccionada por Ri. MOV A,#konst8 Cargar el acumulador con la constante de 8 bit. 2 1 P MOV Rr,A Cargar el registro Rr con el contenido del acumulador. 1 1 - MOV Rr,dadr Cargar el registro Rr con el contenido de dadr. 2 2 - MOV Rr,#konst8 Cargar el registro Rr con la constante de 8 bit. 2 1 - MOV dadr,A Cargar la celda de memoria de datos interna con el 2 1 - contenido del acumulador. MOV dadr,Rr Cargar la celda de memoria de datos interna con el 2 2 - contenido del registro Rr. MOV dadr,dadr Cargar la celda de memoria de datos interna dadr con el 3 2 - contenido de la celda de memoria interna dadr. MOV dadr,@Ri Cargar la celda de memoria de datos interna dadr con el 2 2 - contenido de la celda de memoria interna que es direccionada por Ri. MOV Cargar la celda de memoria de datos interna dadr con la 3 2 - dadr,#konst8 constante de 8 bit. MOV @Ri,A Cargar la celda de memoria de datos interna que es 1 1 - direccionada por Ri con el contenido del acumulador. MOV @Ri,dadr Cargar la celda de memoria de datos interna que es 2 2 - direccionada por Ri con el contenido de dadr. MOV @Ri,#konst8 Cargar la celda de memoria de datos interna que es 2 1 - direccionada por Ri con la constante de 8 bit. MOV Cargar el datapointer con la constante de 16 bit. 3 2 - DPTR,#konst16 MOVC Cargar el acumulador con el contenido de la celda de 1 2 - A,@A+DPTR memoria de programa que es direccionada por la suma del datapointer y el acumulador. MOVC A,@A+PC Cargar el acumulador con el contenido de la celda de 1 2 P memoria de programa que es direccionada por la suma del contador de programa y el acumulador. MOVX A,@Ri Cargar el acumulador con el contenido de la celda de 1 2 P memoria externa que es direccionada por Ri. MOVX A,@DPTR Cargar el acumulador con el contenido de la celda de 1 2 P memoria de datos externa que es direccionada por el datapointer. MOVX @Ri,A Cargar la celda de memoria de datos externa que es 1 2 - direccionada por Ri con el contenido del acumulador. MOVX @DPTR,A Cargar la celda de memoria de datos externa que es 1 2 - direccionada por el datapointer con el contenido del acumulador. PUSH dadr El stackpointer es aumentado en 1 y el contenido de 2 2 - dadr es archivado en el stack. POP dadr El contenido de la dirección direccionada por el 2 2 - stackpointer es transferida a dadr y el stackpointer es reducido en 1. XCH A,Rr Cambiar los contenidos del acumulador y del registro 1 1 P Rr. XCH A,dadr Cambiar los contenidos del acumulador y de la celda de 2 1 P memoria de datos interna dadr. XCH A,@Ri Cambiar los contenidos del acumulador y de la celda de 1 1 P memoria de datos interna que es direccionada por Ri. XCHD A,@Ri Cambiar los contenidos de las mitades de byte inferiores 1 1 P del acumulador y de la celda de memoria de datos interna que es direccionada por Ri. SWAP A Cambiar las mitades de byte del acumulador. 1 1 - NOP Comando de aprendizaje. 1 1 -
Lista de comandos de la familia 8051 / Comandos de procesamiento de
bits
Mnemonic Función Bytes MZ Flags
CLR C Borrar el carry-flag. 1 1 CY CLR badr Borrar el contenido de badr. 2 1 - SETB C Activar el carry-flag. 1 1 CY SETB badr Activar el contenido de badr. 2 1 - CPL C Invertir el contenido del C-flag. 1 1 CY CPL badr Invertir el contenido de badr. 2 1 - ANL C,badr El carry-flag es sobreescrito por el resultado del enlace 2 2 CY Y del carry-bit y del contenido de badr. ANL C,/badr El carry-flag es sobreescrito por el resultado del enlace 2 2 CY Y del carry-bit y del contenido invertido de badr. ORL C,badr El carry-flag es sobreescrito por el resultado del enlace 2 2 CY Ó del carry-bit y del contenido de badr. ORL C,/badr El carry-flag es sobreescrito por el resultado del enlace 2 2 CY Ó del carry-bit y el contenido invertido de badr. MOV C,badr Cargar el carry-bit con el contenido de badr. 2 2 CY MOV badr,C Cargar el badr con el contenido del carry-bit. 2 2 - Lista de comandos de la familia 8051 / Comandos de desplazamientos
Mnemonic Función Bytes MZ Flags
RL A Desplazar el contenido del acumulador en una posición 1 1 - a la izquierda. La posición de bit más alta es desplazada sobre la posición de bit más baja. RLC A Desplazar el contenido del acumulador en una posición 1 1 CY,P a la izquierda sobre el carry-flag. El contenido del carry- flag es desplazado sobre la posición de bit más baja. RR A Desplazar el contenido del acumulador en una posición 1 1 - a la derecha. La posición de bit más baja es desplazada sobre la posición de bit más alta. RRC A Desplazar el contenido del acumulador en una posición 1 1 CY,P a la derecha sobre el carry-flag. La posición de bit más baja es desplazada sobre el carry-flag.
Lista de comandos de la familia 8051 / Comandos de subprograma
Mnemonic Función Bytes MZ Flags
ACALL adr11 Llamada de subprograma dentro de una página de 2 3 2 - kByte. LCALL adr16 Llamada de subprograma. 2 2 - RET Salto desde un subprograma. 1 2 - RETI Salto desde una rutina de servicio de interrupción. 1 2 -
Lista de comandos de la familia 8051 / Comandos de salto
Mnemonic Función Bytes MZ Flags
AJMP adr11 Continuar el programa en adr11 dentro de la página de 2 2 - 2 kByte. LJMP adr16 Continuar el programa en adr16. 3 2 - SJMP rel Continuar el programa en rel, relativamente al contador 2 2 - de programa. JMP @A+DPTR Continuar el programa en la posición que resulta de la 1 2 - suma de acumulador y DPTR. JZ rel Saltar relativamente por la dirección rel cuando el 2 2 - contenido del acumulador es igual a cero. JNZ rel Saltar relativamente por la dirección rel cuando el 2 2 - contenido del acumulador no es igual a cero. JC rel Saltar relativamente por la dirección rel cuando está 2 2 - puesto el contenido del carry-flag. JNC rel Saltar relativamente por la dirección rel cuando no se 2 2 - ha puesto el contenido del carry-flag. JB badr, rel Saltar relativamente por la dirección rel cuando el 3 2 - contenido de badr es igual a uno. JNB badr,rel Saltar relativamente por la dirección rel cuando el 3 2 - contenido de badr es igual a cero. JBC badr,rel Saltar relativamente por la dirección rel cuando el 3 2 - contenido de badr es igual a uno y borrar el contenido de badr. CJNE A,dadr,rel Saltar relativamente por la dirección rel cuando los 3 2 CY contenidos de acumulador y dadr son diferentes. CJNE Saltar relativamente por la dirección rel cuando el 3 2 CY A,#konst8,rel contenido del acumulador no es igual a la constante de 8 bit. CJNE Saltar relativamente por la dirección rel cuando el 3 2 CY Rr,#konst8,rel contenido del registro Rr no es igual a la constante de 8 bit. CJNE Saltar relativamente por la dirección rel cuando el 3 2 CY @Ri,#konst8,rel contenido de la celda de memoria de datos interna que es direccionada por Ri no es igual a la constante de 8 bit. DJNZ Rr,rel El contenido del registro Rr es reducido en uno. Si 3 2 - entonces el contenido no es igual a cero, saltar relativamente por la dirección rel. DJNZ dadr,rel El contenido de dadr es reducido en uno. Si entonces el 3 2 - contenido no es igual a cero, saltar relativamente por la dirección rel.