Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
jaime.velarde@epn.edu.ec<br />1<br />SISTEMAS<br />MICROPROCESADOS<br />CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORES...
jaime.velarde@epn.edu.ec<br />2<br />TIPOS DE INSTRUCCIONES<br />A LAS INSTRUCCIONES SE LAS PUEDE AGRUPAR POR EL TIPO DE A...
DE SALTO Y DE BIFURCACIÓN
PARA MANIPULACIÓN DE BITS
ARITMÉTICAS Y LÓGICAS
DE CONTROL</li></li></ul><li>jaime.velarde@epn.edu.ec<br />3<br />DE TRANSFERENCIA<br />SON AQUELLAS QUE PERMITEN MOVER DA...
CARGAR AL REGISTRO UN VALOR (LDI)
CARGAR UN REGISTRO DESDE LA SRAM (LD, LDD, LDS, POP)
ALMACENAR EN SRAM UN REGISTRO (ST, STD, STS, PUSH)
CARGAR UN REGISTRO DESDE LA FLASH (LPM)
ENTRADAS Y SALIDAS MEDIANTE LOS REGISTROS DE LOS PÓRTICOS (IN, OUT)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />4<br /...
LLAMADAS Y RETORNOS DE SUBRUTINAS (RCALL, ICALL, CALL, RET)
COMPARACIÓN Y SALTO INCLUIDO (CPSE)
SALTOS CONDICIONADOS (SBRC, SBRS, SBIC, SBIS)
BIFURCACIONES DE ACUERDO AL ESTADO DE LAS BANDERAS (BRxC, BRxS)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />5<br />ARI...
INCREMENTOS, DISMINUCIONES (INC, DEC)
OPERACIONES LÓGICAS AND, OR, OR EXCLUSIVO (AND, ANDI, TEST, OR, ORI, EOR)
COMPLEMENTO DE UNO, COMPLEMENTO DE DOS (COM, NEG)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />6<br />MANIPULACIÓN DE B...
 MOVER UN BIT (BLD, BST)
 PONER UNO EN UN BIT Y BORRAR UN BIT (SER, CLR, SBR, CBR, SBI, CBI)
 PONER UNO EN UNA BANDERA Y BORRAR UNA BANDERA (BSET, SEx, BCLR, CLx)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />7<br...
jaime.velarde@epn.edu.ec<br />8<br />COMPONENTES DE LAS INSTRUCCIONES<br />LAS INSTRUCCIONES SE COMPONEN DE LA OPERACIÓN Y...
jaime.velarde@epn.edu.ec<br />9<br />DEFINICIÓN<br />MODOS DE DIRECCIONAMIENTO, SON LOS DISTINTOS PROCEDIMIENTOS QUE UTILI...
jaime.velarde@epn.edu.ec<br />10<br />NÚMERO DE OPERANDOS<br />A LAS INSTRUCCIONES TAMBIÉN SE LAS PUEDEN CLASIFICAR POR EL...
jaime.velarde@epn.edu.ec<br />11<br />NÚMERO DE OPERANDOS Y MODOS DE DIRECCIONAMIENTO<br /> LAS INSTRUCCIONES SIN OPERANDO...
Upcoming SlideShare
Loading in …5
×

09 Conjunto de Instrucciones de los Atmega

10,267 views

Published on

Instrucciones y Modos de direccionamiento de los Microcontroladores AVR

Published in: Technology
  • Be the first to comment

09 Conjunto de Instrucciones de los Atmega

  1. 1. jaime.velarde@epn.edu.ec<br />1<br />SISTEMAS<br />MICROPROCESADOS<br />CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORESATmega<br />Elaborado por: Ing. Jaime E. Velarde<br />
  2. 2. jaime.velarde@epn.edu.ec<br />2<br />TIPOS DE INSTRUCCIONES<br />A LAS INSTRUCCIONES SE LAS PUEDE AGRUPAR POR EL TIPO DE ACCIONES QUE REALIZAN:<br /><ul><li>DE TRANSFERENCIA DE DATOS
  3. 3. DE SALTO Y DE BIFURCACIÓN
  4. 4. PARA MANIPULACIÓN DE BITS
  5. 5. ARITMÉTICAS Y LÓGICAS
  6. 6. DE CONTROL</li></li></ul><li>jaime.velarde@epn.edu.ec<br />3<br />DE TRANSFERENCIA<br />SON AQUELLAS QUE PERMITEN MOVER DATOS ENTRE LAS DISTINTAS LOCALIDADES DE LAS MEMORIAS:<br /><ul><li>COPIAR REGISTROS (MOV, MOVW)
  7. 7. CARGAR AL REGISTRO UN VALOR (LDI)
  8. 8. CARGAR UN REGISTRO DESDE LA SRAM (LD, LDD, LDS, POP)
  9. 9. ALMACENAR EN SRAM UN REGISTRO (ST, STD, STS, PUSH)
  10. 10. CARGAR UN REGISTRO DESDE LA FLASH (LPM)
  11. 11. ENTRADAS Y SALIDAS MEDIANTE LOS REGISTROS DE LOS PÓRTICOS (IN, OUT)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />4<br />DE SALTO Y DE BIFURCACIÓN<br />MODIFICAN LA SECUENCIA NORMAL DE EJECUCIÓN DE LOS PROGRAMAS:<br /><ul><li>SALTOS INCONDICIONALES (RJMP, IJMP, JMP)
  12. 12. LLAMADAS Y RETORNOS DE SUBRUTINAS (RCALL, ICALL, CALL, RET)
  13. 13. COMPARACIÓN Y SALTO INCLUIDO (CPSE)
  14. 14. SALTOS CONDICIONADOS (SBRC, SBRS, SBIC, SBIS)
  15. 15. BIFURCACIONES DE ACUERDO AL ESTADO DE LAS BANDERAS (BRxC, BRxS)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />5<br />ARITMÉTICAS Y LÓGICAS<br />AQUELLAS QUE REALIZAN OPERACIONES CON BYTES:<br /><ul><li>SUMAS, RESTAS, MULTIPLICACIONES, COMPARACIONES (ADD, ADDC, ADIW, SUB, SUBI, SBC, SBCI, MUL, MULS, MULSU, FMUL, FMULS, FMULSU, CP, CPC, CPI)
  16. 16. INCREMENTOS, DISMINUCIONES (INC, DEC)
  17. 17. OPERACIONES LÓGICAS AND, OR, OR EXCLUSIVO (AND, ANDI, TEST, OR, ORI, EOR)
  18. 18. COMPLEMENTO DE UNO, COMPLEMENTO DE DOS (COM, NEG)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />6<br />MANIPULACIÓN DE BITS<br />SON AQUELLAS QUE REALIZAN OPERACIONES A NIVEL DE BITS:<br /><ul><li> DESPLAZAMIENTOS Y ROTACIONES (ASR, LSL, LSR, ROL, ROR, SWAP)
  19. 19. MOVER UN BIT (BLD, BST)
  20. 20. PONER UNO EN UN BIT Y BORRAR UN BIT (SER, CLR, SBR, CBR, SBI, CBI)
  21. 21. PONER UNO EN UNA BANDERA Y BORRAR UNA BANDERA (BSET, SEx, BCLR, CLx)</li></li></ul><li>jaime.velarde@epn.edu.ec<br />7<br />DE CONTROL DE LA CPU<br />AQUELLAS QUE REALIZAN ACCIONES SOBRE TODO EL FUNCIONAMIENTO DEL MICROCONTROLADOR (BREAK, NOP, SLEEP, WDR)<br />
  22. 22. jaime.velarde@epn.edu.ec<br />8<br />COMPONENTES DE LAS INSTRUCCIONES<br />LAS INSTRUCCIONES SE COMPONEN DE LA OPERACIÓN Y LOS OPERANDOS<br /> LA OPERACIÓN ES LA ACCIÓN QUE SE REALIZA SOBRE LOS OPERANDOS. SE REPRESENTA MEDIANTE UN VERBO EN INFINITIVO<br /> LOS OPERANDOS SON LOS DATOS QUE INTERVIENEN EN LA OPERACIÓN. SE REPRESENTAN MEDIANTE LOS “MODOS DE DIRECCIONAMIENTO”<br />
  23. 23. jaime.velarde@epn.edu.ec<br />9<br />DEFINICIÓN<br />MODOS DE DIRECCIONAMIENTO, SON LOS DISTINTOS PROCEDIMIENTOS QUE UTILIZAN LA CPU PARA OBTENER DESDE LA MEMORIA LOS DATOS QUE INTERVIENEN EN LA OPERACIÓN<br />
  24. 24. jaime.velarde@epn.edu.ec<br />10<br />NÚMERO DE OPERANDOS<br />A LAS INSTRUCCIONES TAMBIÉN SE LAS PUEDEN CLASIFICAR POR EL NÚMERO DE OPERANDOS EN:<br /> INSTRUCCIONES SIN OPERANDOS<br /> INSTRUCCIONES CON UN OPERANDO. QUE SE LO DENOMINA COMO EL OPERANDO DE DESTINO<br /> INSTRUCCIONES CON DOS OPERANDOS SEPARADOS POR UNA COMA. EL PRIMERO SE DENOMINA COMO EL DE DESTINO Y EL SEGUNDO COMO EL DE ORIGEN<br />
  25. 25. jaime.velarde@epn.edu.ec<br />11<br />NÚMERO DE OPERANDOS Y MODOS DE DIRECCIONAMIENTO<br /> LAS INSTRUCCIONES SIN OPERANDOS UTILIZAN EL MODO DIRECCIONAMIENTO IMPLÍCITO <br /> LAS INSTRUCCIONES CON UNO O DOS OPERANDO, TIENEN LOS SIGUIENTES:<br />INMEDIATO<br />DIRECTO<br />INDIRECTO SIMPLE, CON DISMINUCIÓN PREVIA, CON INCREMENTO POSTERIOR O CON DESPLAZAMIENTO<br />
  26. 26. jaime.velarde@epn.edu.ec<br />12<br />DIRECTO A UN REGISTRO<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EL NÚMERO DEL REGISTRO QUE CONTIENE EL OPERANDO DE DESTINO (Rd)<br />
  27. 27. jaime.velarde@epn.edu.ec<br />13<br />DIRECTO A DOS REGISTROS<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICAN LOS NÚMEROS DE LOS REGISTROS QUE CONTIENEN LOS OPERANDOS DE ORIGEN (Rr) Y DE DESTINO (Rd)<br />
  28. 28. jaime.velarde@epn.edu.ec<br />14<br />INMEDIATO<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA UN NÚMERO QUE CORRESPONDE AL OPERANDO DE ORIGEN<br />
  29. 29. jaime.velarde@epn.edu.ec<br />15<br />DIRECTO AL REGISTRO DE E/S<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EL NÚMERO DEL REGISTRO DE E/S QUE CONTIENE EL OPERANDO DE ORIGEN O DE DESTINO<br />
  30. 30. jaime.velarde@epn.edu.ec<br />16<br />DIRECTO A LA SRAM<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EN 16 BITS LA DIRECCIÓN DE LA LOCALIDAD DE LA SRAM QUE CONTIENE EL OPERANDO DE ORIGEN O DE DESTINO<br />
  31. 31. jaime.velarde@epn.edu.ec<br />17<br />INDIRECTO A LA SRAM<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EL REGISTRO PUNTERO QUE APUNTA A LA LOCALIDAD DE LA SRAM QUE CONTIENE EL OPERANDO DE ORIGEN O DE DESTINO<br />
  32. 32. jaime.velarde@epn.edu.ec<br />18<br />INDIRECTO A LA SRAM CON DISMINUCIÓN PREVIA<br />IDÉNTICO AL INDIRECTO. PERO, EL PUNTERO PREVIAMENTE DISMINUYE SU CONTENIDO ANTES DE EJECUTAR LA OPERACIÓN<br />
  33. 33. jaime.velarde@epn.edu.ec<br />19<br />INDIRECTO A LA SRAM CON INCREMENTO POSTERIOR<br />IDÉNTICO AL INDIRECTO. PERO, EL PUNTERO INCREMENTA SU CONTENIDO DESPUÉS DE EJECUTAR LA OPERACIÓN<br />
  34. 34. jaime.velarde@epn.edu.ec<br />20<br />INDIRECTO A LA SRAM CON DESPLAZAMIENTO<br />EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EL PUNTERO Y UN VALOR, QUE SUMADOS APUNTAN A LA LOCALIDAD DE LA SRAM QUE CONTIENE EL OPERANDO DE ORIGEN O DE DESTINO<br />
  35. 35. jaime.velarde@epn.edu.ec<br />21<br />LECTURA DE CONSTANTES DE LA MEMORIA DE PROGRAMA<br />EN ESTAS INSTRUCCIONES EL PUNTERO Z PERMITE LEER CONSTANTES DE UN BYTE, DE LA MEMORIA DEL PROGRAMA<br />
  36. 36. jaime.velarde@epn.edu.ec<br />22<br />LECTURA DE CONSTANTES DE LA MEMORIA DE PROGRAMA CON INCREMENTO POSTERIOR<br />IDÉNTICO AL ANTERIOR. PERO, EL PUNTERO INCREMENTA SU CONTENIDO DESPUÉS DE EJECUTAR LA OPERACIÓN<br />
  37. 37. jaime.velarde@epn.edu.ec<br />23<br />CONJUNTO DE INSTRUCCIONES<br />LA UTILIZACIÓN DE ESTOS MODOS DE DIRECCIONAMIENTO, CON LOS DIFERENTES CÓDIGOS DE LAS OPERACIONES DAN COMO RESULTADO EL CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTROLADORES ATmega<br />
  38. 38. AVRINSTRUCTION SET<br />jaime.velarde@epn.edu.ec<br />24<br />
  39. 39. jaime.velarde@epn.edu.ec<br />25<br />RANGOS DE LAS DIRECCIONES<br />EL FABRICANTE PROPORCIONA EN FORMA GENERAL LA INFORMACIÓN DE LAS INSTRUCCIONES Y DE LOS MODOS DE DIRECCIONAMIENTO.<br />EL USUARIO AL ELABORAR EL PROGRAMA DEBE CONSIDERAN EL MICROCONTROLADOR QUE VA A UTILIZAR Y CONTROLAR LOS RANGOS DE DIRECCIONES DE LA MEMORIA<br />

×