Sie sind auf Seite 1von 6

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.

Das könnte Ihnen auch gefallen