8051 Set de Instrucciones

Set de Instrucciones – MICROCONTROLADOR DE ARQUITECTURA 8051  INSTRUCCIÓN  OPERACIÓN INSTRUCCIONES PARA LA TRANSFERENC

Views 79 Downloads 0 File size 126KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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   

   

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

1 1 4



X

4

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