09 conjunto de instrucciones de los atmega
DESCRIPTION
Instrucciones y Modos de direccionamiento de los Microcontroladores AVRTRANSCRIPT
![Page 1: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/1.jpg)
CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORES
ATmega
Elaborado por: Ing. Jaime E. Velarde
![Page 2: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/2.jpg)
TIPOS DE INSTRUCCIONES
A LAS INSTRUCCIONES SE LAS PUEDE AGRUPAR POR EL TIPO DE ACCIONES QUE REALIZAN:
• DE TRANSFERENCIA DE DATOS• DE SALTO Y DE BIFURCACIÓN• PARA MANIPULACIÓN DE BITS• ARITMÉTICAS Y LÓGICAS• DE CONTROL
![Page 3: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/3.jpg)
DE TRANSFERENCIASON AQUELLAS QUE PERMITEN MOVER DATOS ENTRE LAS DISTINTAS LOCALIDADES DE LAS MEMORIAS:
• COPIAR REGISTROS (MOV, MOVW)• 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)
![Page 4: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/4.jpg)
DE SALTO Y DE BIFURCACIÓNMODIFICAN LA SECUENCIA NORMAL DE EJECUCIÓN DE LOS PROGRAMAS:
• SALTOS INCONDICIONALES (RJMP, IJMP, JMP)• 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)
![Page 5: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/5.jpg)
ARITMÉTICAS Y LÓGICAS
AQUELLAS QUE REALIZAN OPERACIONES CON BYTES:
• SUMAS, RESTAS, MULTIPLICACIONES, COMPARACIONES (ADD, ADDC, ADIW, SUB, SUBI, SBC, SBCI, MUL, MULS, MULSU, FMUL, FMULS, FMULSU, CP, CPC, CPI)
• 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)
![Page 6: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/6.jpg)
MANIPULACIÓN DE BITS
SON AQUELLAS QUE REALIZAN OPERACIONES A NIVEL DE BITS:
• DESPLAZAMIENTOS Y ROTACIONES (ASR, LSL, LSR, ROL, ROR, SWAP)
• 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)
![Page 7: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/7.jpg)
DE CONTROL DE LA CPU
AQUELLAS QUE REALIZAN ACCIONES SOBRE TODO EL FUNCIONAMIENTO DEL MICROCONTROLADOR (BREAK, NOP, SLEEP, WDR)
![Page 8: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/8.jpg)
COMPONENTES DE LAS INSTRUCCIONES
LAS INSTRUCCIONES SE COMPONEN DE LA OPERACIÓN Y LOS OPERANDOS• LA OPERACIÓN ES LA ACCIÓN QUE SE REALIZA SOBRE LOS OPERANDOS. SE REPRESENTA MEDIANTE UN VERBO EN INFINITIVO• LOS OPERANDOS SON LOS DATOS QUE INTERVIENEN EN LA OPERACIÓN. SE REPRESENTAN MEDIANTE LOS “MODOS DE DIRECCIONAMIENTO”
![Page 9: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/9.jpg)
DEFINICIÓN
MODOS DE DIRECCIONAMIENTO, SON LOS DISTINTOS PROCEDIMIENTOS QUE UTILIZAN LA CPU PARA
OBTENER DESDE LA MEMORIA LOS DATOS QUE INTERVIENEN
EN LA OPERACIÓN
![Page 10: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/10.jpg)
NÚMERO DE OPERANDOS
A LAS INSTRUCCIONES TAMBIÉN SE LAS PUEDEN CLASIFICAR POR EL NÚMERO DE OPERANDOS EN:• INSTRUCCIONES SIN OPERANDOS• INSTRUCCIONES CON UN OPERANDO. QUE SE LO DENOMINA COMO EL OPERANDO DE DESTINO• INSTRUCCIONES CON DOS OPERANDOS SEPARADOS POR UNA COMA. EL PRIMERO SE DENOMINA COMO EL DE DESTINO Y EL SEGUNDO COMO EL DE ORIGEN
![Page 11: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/11.jpg)
NÚMERO DE OPERANDOS Y MODOS DE DIRECCIONAMIENTO• LAS INSTRUCCIONES SIN OPERANDOS UTILIZAN EL MODO DIRECCIONAMIENTO IMPLÍCITO • LAS INSTRUCCIONES CON UNO O DOS OPERANDO, TIENEN LOS SIGUIENTES:
– INMEDIATO– DIRECTO– INDIRECTO SIMPLE, CON DISMINUCIÓN
PREVIA, CON INCREMENTO POSTERIOR O CON DESPLAZAMIENTO
![Page 12: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/12.jpg)
DIRECTO A UN REGISTRO
EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA EL NÚMERO DEL REGISTRO QUE CONTIENE EL OPERANDO DE DESTINO (Rd)
![Page 13: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/13.jpg)
DIRECTO A DOS REGISTROS
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)
![Page 14: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/14.jpg)
INMEDIATO
EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA UN NÚMERO QUE CORRESPONDE AL OPERANDO DE ORIGEN
![Page 15: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/15.jpg)
DIRECTO AL REGISTRO DE E/S
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
![Page 16: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/16.jpg)
DIRECTO A LA SRAM
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
![Page 17: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/17.jpg)
INDIRECTO A LA SRAM
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
![Page 18: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/18.jpg)
INDIRECTO A LA SRAM CON DISMINUCIÓN PREVIA
IDÉNTICO AL INDIRECTO. PERO, EL PUNTERO PREVIAMENTE DISMINUYE SU CONTENIDO ANTES DE EJECUTAR LA OPERACIÓN
![Page 19: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/19.jpg)
INDIRECTO A LA SRAM CON INCREMENTO POSTERIOR
IDÉNTICO AL INDIRECTO. PERO, EL PUNTERO INCREMENTA SU CONTENIDO DESPUÉS DE EJECUTAR LA OPERACIÓN
![Page 20: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/20.jpg)
INDIRECTO A LA SRAM CON DESPLAZAMIENTO
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
![Page 21: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/21.jpg)
LECTURA DE CONSTANTES DE LA MEMORIA DE PROGRAMA
EN ESTAS INSTRUCCIONES EL PUNTERO Z PERMITE LEER CONSTANTES DE UN BYTE, DE LA MEMORIA DEL PROGRAMA
![Page 22: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/22.jpg)
LECTURA DE CONSTANTES DE LA MEMORIA DE PROGRAMA CON INCREMENTO POSTERIOR
IDÉNTICO AL ANTERIOR. PERO, EL PUNTERO INCREMENTA SU CONTENIDO DESPUÉS DE EJECUTAR LA OPERACIÓN
![Page 23: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/23.jpg)
CONJUNTO DE INSTRUCCIONES
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
![Page 25: 09 Conjunto de Instrucciones de los Atmega](https://reader034.vdocuments.co/reader034/viewer/2022052307/5588fc3dd8b42a321a8b4672/html5/thumbnails/25.jpg)
RANGOS DE LAS DIRECCIONES
EL FABRICANTE PROPORCIONA EN FORMA GENERAL LA INFORMACIÓN DE LAS INSTRUCCIONES Y DE LOS MODOS DE DIRECCIONAMIENTO.
EL USUARIO AL ELABORAR EL PROGRAMA DEBE CONSIDERAN EL MICROCONTROLADOR QUE VA A UTILIZAR Y CONTROLAR LOS RANGOS DE DIRECCIONES DE LA MEMORIA