Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conjunto de Instrucciones 8051
Conjunto de Instrucciones 8051
UNA
0x MO LLA MOV M SU SU SU SU SU SU SU SU SU SU SU
OV SUBB
90 V MAD
C
BB BB BB BB BB BB BB BB BB BB BB
A
0x AJM MO MO MO MO MO MO MO MO MO MO
ORL MOV Cª MUL ?
a0 P V V V V V V V V V V
0x UNA
LLA CP CJN CJN CJN CJN CJN CJN CJN CJN CJN CJN CJN
b ANL MAD CPL L CJNE E E E E E E E E E E E
0 A
0x EMP AJM CL
INTERC
XC XC XC XC XC XC XC XC XC XC XC
UJA CLR AMBIA
c0 R P R H H H H H H H H H H H
R
0x POP UNA
LLA SE DJN XC XC DJN DJN DJN DJN DJN DJN DJN DJN
d ULA MAD SETB TB DA Z HD HD Z Z Z Z Z Z Z Z
0 R A
0x MO AJM MOV M MO MO MO MO MO MO MO MO MO MO MO
OV CLR
e0 VX P X
X
V V V V V V V V V V V
UNA
0x MO LLA MOV M MO MO MO MO MO MO MO MO MO MO MO
OV CPL
f0 VX MAD X X
V V V V V V V V V V V
A
El bit de acarreo (C) se establece si hay una transferencia del bit 7. En otras
palabras, si el valor sumado sin signo del acumulador, operando y (en el caso
de ADDC) el indicador de acarreo excede de 255, se establece Carry. De lo
contrario, el bit de carga se borra.
Dado que solo 11 bits del Contador de programa se ven afectados por AJMP,
solo se pueden realizar saltos al código ubicado dentro del mismo bloque 2k
que el primer byte que sigue a AJMP.
Descripción: CLR borra (establece a 0) todos los bit (s) del registro
indicado. Si el registro es un bit (incluido el bit de acarreo), solo se ve
afectado el bit especificado. Al borrar el acumulador se establece el valor del
acumulador en 0.
Descripción: divide el valor sin signo del Acumulador por el valor sin signo
del registro "B". El cociente resultante se coloca en el acumulador y el resto se
coloca en el registro "B".
Ver también: JC
Ver también: JZ
** Nota: En el caso de "MOV iram addr, iram addr", los bytes del operando
de la instrucción se almacenan en orden inverso. Es decir, la instrucción que
consiste en los bytes 0x85, 0x20, 0x50 significa "Mover los contenidos de la
ubicación RAM interna 0x20 a la ubicación RAM interna 0x50", mientras que
generalmente se presumiría lo contrario.
Descripción: Multiplica el valor sin signo del Acumulador por el valor sin
signo del registro "B". El byte menos significativo del resultado se coloca en
el Acumulador y el byte más significativo se coloca en el registro "B".
Descripción: desplaza los bits del acumulador hacia la izquierda. El bit más a
la izquierda (bit 7) del Acumulador se carga en el bit 0.
Descripción: desplaza los bits del acumulador hacia la izquierda. El bit más a
la izquierda (bit 7) del acumulador se carga en la bandera de acarreo, y la
bandera de acarreo original se carga en el bit 0 del acumulador. Esta función
se puede usar para multiplicar rápidamente un byte por 2.
Descripción: desplaza los bits del acumulador hacia la derecha. El bit más a
la derecha (bit 0) del acumulador se carga en la bandera de acarreo, y la
bandera de acarreo original se carga en el bit 7. Esta función se puede usar
para dividir rápidamente un byte entre 2.
Descripción: SWAP intercambia los bits 0-3 del Acumulador con los bits 4-7
del Acumulador. Esta instrucción es idéntica a ejecutar "RR A" o "RL A"
cuatro veces.
Descripción: intercambia los bits 0-3 del acumulador con los bits 0-3 de la
dirección de RAM interna apuntada indirectamente por R0 o R1. Los bits 4-7
de cada registro no se ven afectados.
Ver también: DA