09 conjunto de instrucciones de los atmega

25
[email protected] .ec 1 CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORES ATmega Elaborado por: Ing. Jaime E. Velarde

Upload: jaime-e-velarde

Post on 23-Jun-2015

8.421 views

Category:

Technology


4 download

DESCRIPTION

Instrucciones y Modos de direccionamiento de los Microcontroladores AVR

TRANSCRIPT

Page 1: 09 Conjunto de Instrucciones  de los Atmega

[email protected] 1

CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORES

ATmega

Elaborado por: Ing. Jaime E. Velarde

Page 2: 09 Conjunto de Instrucciones  de los Atmega

[email protected] 2

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

[email protected] 3

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

[email protected] 4

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

[email protected] 5

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

[email protected] 6

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

[email protected] 7

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

[email protected] 8

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

[email protected] 9

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

[email protected] 10

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

[email protected] 11

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

[email protected] 12

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

[email protected] 13

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

[email protected] 14

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

[email protected] 15

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

[email protected] 16

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

[email protected] 17

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

[email protected] 18

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

[email protected] 19

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

[email protected] 20

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

[email protected] 21

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

[email protected] 22

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

[email protected] 23

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 24: 09 Conjunto de Instrucciones  de los Atmega

AVR INSTRUCTION SET

[email protected] 24

Page 25: 09 Conjunto de Instrucciones  de los Atmega

[email protected] 25

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