Lista de comandos de la familia 8051 / Comandos aritméticos Mnemonic ADD A,Rr
Función
El acumulador es sobreescrito por el resultado de la adición del acumulador y el contenido de Rr. El acumulador es sobreescrito por el resultado de la ADD A,dadr adición del acumulador y el contenido de dadr. El acumulador es sobreescrito por el resultado de la ADD A,@Ri adición del acumulador y el contenido de la celda de memoria de datos interna que es direccionada por Ri. ADD A,#const8 El acumulador es sobreescrito por el resultado de la adición del acumulador y el contenido de las constantes de 8 bit. El acumulador es sobreescrito por el resultado de la ADDC A,Rr adición del acumulador, Rr y el contenido del carryflag. El acumulador es sobreescrito por el resultado de la ADDC A, dadr adición del acumulador, dadr y el contenido del carryflag. El acumulador es sobreescrito por el resultado de la ADDC A, @Ri adición del acumulador, el contenido de la celda de 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 adición del acumulador, el contenido de la constante de 8 bit y el contenido del carry-flag. El acumulador es sobreescrito por el resultado de la SUBB A,Rr sustracción del acumulador y la suma de los contenidos de Rr y del carry-flag. El acumulador es sobreescrito por el resultado de la SUBB A,dadr sustracción del acumulador y la suma de los contenidos de dadr y del carry-flag. El acumulador es sobreescrito por el resultado de la SUBB A,@Ri sustracción del acumulador y la suma de los contenidos 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 sustracción del acumulador y la suma de los contenidos del carry-flag y de la constante de 8 bit. El contenido del acumulador es incrementado. INC A El contenido del registro Rr es incrementado. INC Rr El contenido de la celda de memoria dadr es INC dadr incrementado. El contenido de las celdas de memoria de la memoria INC @Ri de datos interna que es direccionada por Ri es incrementado. El contenido del datapointer es incrementado. INC DPTR El contenido del acumulador es decrementado. DEC A El contenido del registro Rr es decrementado. DEC Rr El contenido de la celda de memoria dadr es DEC dadr decrementado. El contenido de la celda de memoria de la memoria de DEC @Ri datos interna que está direccionada por Ri es decrementado.
Bytes MZ Flags
1 2 1
1 CY,AC, OV,P 1 CY,AC, OV,P 1 CY,AC, OV,P
2
1 CY,AC, OV,P
1
1 CY,AC, OV,P
2
1 CY,AC, OV,P
1
1 CY,AC, OV,P
2
1 CY,AC, OV,P
1
1 CY,AC, OV,P
2
1 CY,AC, OV,P
1
1 CY,AC, OV,P
2
1 CY,AC, OV,P
1 1 2
1 1 1
P -
1
1
-
1 1 1 2
2 1 1 1
P -
1
1
-
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
MUL AB
DIV AB
DA A
Los contenidos del acumulador y registro B son 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. Los contenidos del acumulador y del registro B son 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. El resultado de una adición anterior de dos números BCD está a la espera en el acumulador y es corregido teniendo en cuenta a Carry y a Carry auxiliar.
1
4 CY,OV,P
1
4 CY,OV,P
1
1
CY,P
Lista de comandos de la familia 8051 / Comandos lógicos Mnemonic ANL A,Rr
Función
El acumulador es sobreescrito por el resultado del enlace Y del acumulador y del contenido de Rr. El acumulador es sobreescrito por el resultado del ANL A,dadr enlace Y del acumulador y del contenido de dadr. El acumulador es sobreescrito por el resultado del ANL A,@Ri enlace Y del acumulador y del contenido de la celda de memoria de datos interna que es direccionada por el contenido de Ri. El acumulador es sobreescrito por el enlace Y del ANL A,#const8 acumulador y de la constante de 8 bit. El contenido de dadr es sobreescrito por el enlace Y del ANL dadr,A acumulador y del contenido de dadr. ANL dadr,#const8 El contenido de dadr es sobreescrito por el enlace Y de la constante de 8 bit y del contenido de dadr. El acumulador es sobreescrito por el enlace Ó del ORL A,Rr acumulador y del contenido de Rr. El acumulador es sobreescrito por el enlace Ó del ORL A,dadr acumulador y del contenido de dadr. El acumulador es sobreescrito por el enlace Ó del ORL A,@Ri acumulador y del contenido de la celda de memoria de datos interna que es direccionada por el contenido de Ri. El acumulador es sobreescrito por el resultado del ORL A,#const8 enlace Ó del acumulador y de la constante de 8 bit. El contenido de dadr es sobreescrito por el enlace Ó del ORL dadr,A acumulador y del contenido de dadr. sobreescrito por el enlace Ó de ORL dadr,#const8 El contenido de dadr es sobreescrito la constante de 8 bit y del contenido de dadr. El acumulador es sobreescrito por el resultado del XRL A,Rr enlace Ó-EXCLUSIVO del acumulador y del contenido de
Bytes MZ Flags
1
1
P
2
1
P
1
1
P
2
1
P
2
1
-
3
2
-
1
1
P
2
1
P
1
1
P
2
1
P
2
1
-
3
2
-
1
1
P
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
de memoria de datos interna que es direccionada por el contenido de Ri. El acumulador es sobreescrito por el resultado del XRL A,#const8 enlace Ó-EXCLUSIVO del acumulador y de la contante de 8 bit. El contenido de dadr es sobreescrito porel enlace ÓXRL dadr,A EXCLUSIVO del acumulador y del contenido de dadr. XRL dadr,#const8 El contenido de dadr es sobreescrito por el enlace ÓEXCLUSIVO de la constante de 8 bit y del contenido de dadr. El acumulador es borrado. CLR A El contenido del acumulador es invertido. CPL A
2
1
P
2
1
-
3
2
-
1 1
1 1
P P
Lista de comandos de la familia 8051 / Comandos de transporte Mnemonic MOV A,Rr MOV A,dadr MOV A,@Ri
Función
Cargar el acumulador con el contenido de Rr. Cargar el acumulador con el contenido de dadr. Cargar el acumulador con el contenido de la celda de memoria de datos interna que es direccionada por Ri. Cargar el acumulador con la constante de 8 bit. MOV A,#konst8 Cargar el registro Rr con el contenido del acumulador. MOV Rr,A Cargar el registro Rr con el contenido de dadr. MOV Rr,dadr MOV Rr,#konst8 Cargar el registro Rr con la constante de 8 bit. Cargar la celda de memoria de datos interna con el MOV dadr,A contenido del acumulador. Cargar la celda de memoria de datos interna con el MOV dadr,Rr contenido del registro Rr. Cargar la celda de memoria de datos interna dadr con el MOV dadr,dadr contenido de la celda de memoria interna dadr. Cargar la celda de memoria de datos interna dadr con el MOV dadr,@Ri contenido de la celda de memoria interna que es direccionada por Ri. Cargar la celda de memoria de datos interna dadr con la MOV constante de 8 bit. dadr,#konst8 Cargar la celda de memoria de datos interna que es MOV @Ri,A direccionada por Ri con el contenido del acumulador. Cargar la celda de memoria de datos interna que es MOV @Ri,dadr direccionada por Ri con el contenido de dadr. MOV @Ri,#konst8 Cargar la celda de memoria de datos interna que es direccionada por Ri con la constante de 8 bit. Cargar el datapointer con la constante de 16 bit. MOV DPTR,#konst16 MOVC A,@A+DPTR
Cargar el acumulador con el contenido de la celda de memoria de programa que es direccionada por la suma
Bytes MZ Flags
1 2 1
1 1 1
P P P
2 1 2 2 2
1 1 2 1 1
P -
2
2
-
3
2
-
2
2
-
3
2
-
1
1
-
2
2
-
2
1
-
3
2
-
1
2
-
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
MOVX A,@DPTR MOVX @Ri,A MOVX @DPTR,A PUSH dadr POP dadr XCH A,Rr XCH A,dadr XCH A,@Ri XCHD A,@Ri SWAP A NOP
Cargar el acumulador con el contenido de la celda de memoria de datos externa que es direccionada por el datapointer. Cargar la celda de memoria de datos externa que es direccionada por Ri con el contenido del acumulador. Cargar la celda de memoria de datos externa que es direccionada por el datapointer con el contenido del acumulador. El stackpointer es aumentado en 1 y el contenido de dadr es archivado en el stack. El contenido de la dirección direccionada direccionada por el stackpointer es transferida a dadr y el stackpointer es reducido en 1. Cambiar los contenidos del acumulador y del registro Rr. Cambiar los contenidos del acumulador y de la celda de memoria de datos interna dadr. Cambiar los contenidos del acumulador y de la celda de memoria de datos interna que es direccionada por Ri. Cambiar los contenidos de las mitades de byte inferiores i nferiores del acumulador y de la celda de memoria de datos interna que es direccionada por Ri. Cambiar las mitades de byte del acumulador. Comando de aprendizaje.
1
2
P
1
2
-
1
2
-
2
2
-
2
2
-
1
1
P
2
1
P
1
1
P
1
1
P
1 1
1 1
-
Lista de comandos de la familia 8051 / Comandos de procesamiento de bits Mnemonic CLR C CLR badr SETB C SETB badr CPL C CPL badr ANL C,badr ANL C,/badr ORL C,badr ORL C,/badr MOV C,badr MOV badr,C
Función
Borrar el carry-flag. Borrar el contenido de badr. Activar el carry-flag. Activar el contenido de badr. Invertir el contenido del C-flag. Invertir el contenido de badr. El carry-flag es sobreescrito por el resultado del enlace Y del carry-bit y del contenido de badr. El carry-flag es sobreescrito por el resultado del enlace Y del carry-bit y del contenido invertido de badr. El carry-flag es sobreescrito por el resultado del enlace Ó del carry-bit y del contenido de badr. El carry-flag es sobreescrito por el resultado del enlace Ó del carry-bit y el contenido invertido de badr. Cargar el carry-bit con el contenido de badr. Cargar el badr con el contenido del carry-bit.
Bytes MZ Flags
1 2 1 2 1 2 2
1 1 1 1 1 1 2
CY CY CY CY
2
2
CY
2
2
CY
2
2
CY
2 2
2 2
CY -
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lista de comandos de la familia 8051 / Comandos de desplazamientos Mnemonic RL A RLC A RR A RRC A
Función
Bytes MZ Flags
Desplazar el contenido del acumulador en una posición a la izquierda. La posición de bit más alta es desplazada sobre la posición de bit más baja. Desplazar el contenido del acumulador en una posición a la izquierda sobre el carry-flag. El contenido del carryflag es desplazado sobre la posición de bit más baja. Desplazar el contenido del acumulador en una posición a la derecha. La posición de bit más baja es desplazada sobre la posición de bit más alta. Desplazar el contenido del acumulador en una posición a la derecha sobre el carry-flag. La posición de bit más baja es desplazada sobre el carry-flag.
1
1
-
1
1
CY,P
1
1
-
1
1
CY,P
Lista de comandos de la familia 8051 / Comandos de subprograma Mnemonic ACALL adr11 LCALL adr16 RET RETI
Función
Bytes MZ Flags
Llamada de subprograma dentro de una página de 2 kByte. Llamada de subprograma. Salto desde un subprograma. Salto desde una rutina de servicio de interrupción.
3
2
-
2 1 1
2 2 2
-
Lista de comandos de la familia 8051 / Comandos de salto Mnemonic AJMP adr11 LJMP adr16 SJMP rel JMP @A+DPTR JZ rel JNZ rel JC rel JNC rel
Función
Continuar el programa en adr11 dentro de la página de 2 kByte. Continuar el programa en adr16. Continuar el programa en rel, relativamente al contador de programa. Continuar el programa en la posición que resulta de la suma de acumulador y DPTR. Saltar relativamente por la dirección rel cuando el contenido del acumulador es igual a cero. Saltar relativamente por la dirección rel cuando el contenido del acumulador no es igual a cero. Saltar relativamente por la dirección rel cuando está puesto el contenido del carry-flag. Saltar relativamente por la dirección rel cuando no se ha puesto el contenido del carry-flag.
Bytes MZ Flags
2
2
-
3 2
2 2
-
1
2
-
2
2
-
2
2
-
2
2
-
2
2
-
The world’s largest digital library
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
CJNE A,dadr,rel CJNE A,#konst8,rel CJNE Rr,#konst8,rel CJNE @Ri,#konst8,rel DJNZ Rr,rel DJNZ dadr,rel
contenido de badr es igual a uno y borrar el contenido de badr. Saltar relativamente por la dirección rel cuando los contenidos de acumulador y dadr son diferentes. Saltar relativamente por la dirección rel cuando el contenido del acumulador no es igual a la constante de 8 bit. Saltar relativamente por la dirección rel cuando el contenido del registro Rr no es igual a la constante de 8 bit. Saltar relativamente por la dirección rel cuando el contenido de la celda de memoria de datos interna que es direccionada por Ri no es igual a la constante de 8 bit. El contenido del registro Rr es reducido en uno. Si entonces el contenido no es igual a cero, saltar relativamente por la dirección rel. El contenido de dadr es reducido en uno. Si entonces el contenido no es igual a cero, saltar relativamente por la dirección rel.
3
2
CY
3
2
CY
3
2
CY
3
2
CY
3
2
-
3
2
-