Set de Instrucciones – MICROCONTROLADOR DE ARQUITECTURA 8051 INSTRUCCIÓN OPERACIÓN INSTRUCCIONES PARA LA TRANSFERENC
Views 79 Downloads 0 File size 126KB
Set de Instrucciones – MICROCONTROLADOR DE ARQUITECTURA 8051 INSTRUCCIÓN
OPERACIÓN
INSTRUCCIONES PARA LA TRANSFERENCIA DE DATOS CON RAM INTERNA MOV A, A = MOV , A = A MOV , = MOV DPTR, #D16 DPTR = 16bits PUSH INC SP MOV @SP, (Almacenamiento en la pila) POP MOV ,@SP X DEC SP XCH A, A (se produce un intercambio de contenidos) XCHD A,@Ri A @Ri (intercambia 4bits LSB de A con 4bits LSB que apunta Ri) INSTRUCCIONES ARITMETICAS ADD A, A=A+ ADDC A, A=A++C (acumulador + byte indicado + acarreo) SUBB A, A=A‐ INC A A=A+1 INC =+1 (Incrementa el byte en 1) INC DPTR DPTR=DPTR+1 (Incrementa el apuntador de datos) DEC A A=A‐1 DEC =+1 MUL AB B:A=BxA (A=byte bajo, B=byte alto) DIV AB A=cociente de [A/B] (acarreo y OV son limpiados) DA A Ajuste decimal del acumulador por adición. INSTRUCCIONES LÓGICAS ANL , Operación AND bit a bit. Guarda resultado en variable ORL , Operación OR entre las variables indicadas. Resultado en byte XRL , ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit MOV C,bit MOV bit,C CLR C CLR bit SETB bit SETB C CPL C CPL bit CPL A JC rel
Operación OR‐EX entre las variables indicadas. INSTRUCCIONES BOOLEANAS C=C AND bit C=C AND /bit C=C ORL bit C=C ORL /bit C=bit bit=C C=0 (Limpia el acumulador) bit=0 (Limpia el bit. Puede ser el bit C u otro directamente direccionable) bit=1 C=1 C=/C (complemento del acarreo) bit=/bit (Complemento del bit. Puede ser el bit C u otro direc. direccionab.) Complementa los 8 bits del acumulador Salto si C=1
Modo de Direccionado Afecta a: DIR IND REG INM CY OV AC X X X X X X X X X X X X X X X
X
1 1 2 2 2
X
2 1
1
X
X X
X X
X X
X X
X Acc X
X
X
X
X
X
DPTR
Acc X Acc,B
X
X
� CM
Acc,B
Acc
X X
X X
X X
1 1
X
X
1 1 1
2
X
0
X
1 1 4
0
X
4
X
X
X
X X
X
X
X
X
X
X
X
X
2 2 2 2 1 2 1 1
1 X
1 1 1 1
2
X X X X X 0
1
INSTRUCCIÓN JNC rel JB bit,rel JNB bit,rel JBC bit,rel
OPERACIÓN
Modo de Direccionado Afecta a: DIR IND REG INM CY OV AC
� CM 2 2 2 2
2
2
2 2
2
2 1
X
Salto si C=0 Salto si bit=1 Salto si bit=0 Salto si bit=1 y clear bit INSTRUCCIONES DE SALTO INCONDICIONAL JMP dir Salto a dir SJMP dir Salto –128 a +127 del PC corriente AJMP dir Sustituye 11 bits LSB del PC (salto absoluto dentro de los 2K) LJMP dir Salto a cualquier lugar de las 64K (dirección 16, salto largo) JMP @A+DPTR Salto A+DPTR (salto indirecto) CALL dir Llama a la subrutina “dirección”. LCALL dir Llamada a subrutina a cualquier lugar de memoria de programa de 16 bits. ACALL dir Usa formato 11bits. Llama a subrutina presente en el corriente bloque de 2K RET Extrae de la pila los bytes bajo‐alto del PC, Decrementa dos veces el apuntador de apilamiento RETI Retorno de interrupción. NOP La ejecución continúa con la instrucción siguiente. No afecta al PC. INSTRUCCIONES DE SALTO CONDICIONAL JZ rel Salto si A=0 Acc JNZ rel Salto si A0 Acc DJNZ ,rel Decrementa y salta si no es 0 X CJNE A, ,rel Salta si A X CJNE , #D,rel Salta si #D ACCESO A MEMORIA DE DATOS Y PROGRAMA EXTERNA. RAM EXTERNA MOVX A,@Ri A @Ri ext MOVX @Ri,A @Ri A MOVX A, @DPTR A @DPTR MOVX @DPTR, A @DPTR A ACCESO A MEMORIA DE DATOS Y PROGRAMA EXTERNA. EPROM EXTERNA MOVC A, @A+DPTR Lee memoria de programa @(A+DPTR) MOVC A, @A+PC Lee memoria de programa @(A+PC) INSTRUCCIONES DE ROTACIÓN RL A Los 8 bits de A son rotados 1bit a la izquierda. El bit7 pasa al bit0. RLC A Los 8 bits de A y el acarreo son rotados 1bit a la izq. El bit7 pasa al acarreo. RR A Los 8 bits de A son rotados 1bit a la derecha. El bit0 pasa al bit7. RRC A Los 8 bits de A y el acarreo son rotados 1bit a la der. El bit0 pasa al acarreo. SWAP A Intercambia los 4 bits altos con los 4 bits bajos de A. (Sin acarreo.)
Raúl Alejandro QL – [email protected]
X
X X X X
2 2 2
2 2 2 2 2 2 2 2 2 2 2 1
X
1
1
X
1
1