09 Conjunto de Instrucciones de los Atmega

Post on 23-Jun-2015

8.421 views 4 download

description

Instrucciones y Modos de direccionamiento de los Microcontroladores AVR

Transcript of 09 Conjunto de Instrucciones de los Atmega

jaime.velarde@epn.edu.ec 1

CONJUNTO DE INSTRUCCIONES DE LOS MICROCONTOLADORES

ATmega

Elaborado por: Ing. Jaime E. Velarde

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 7

DE CONTROL DE LA CPU

AQUELLAS QUE REALIZAN ACCIONES SOBRE TODO EL FUNCIONAMIENTO DEL MICROCONTROLADOR (BREAK, NOP, SLEEP, WDR)

jaime.velarde@epn.edu.ec 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”

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 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)

jaime.velarde@epn.edu.ec 14

INMEDIATO

EN EL CÓDIGO DE MÁQUINA SE ESPECIFICA UN NÚMERO QUE CORRESPONDE AL OPERANDO DE ORIGEN

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

jaime.velarde@epn.edu.ec 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

AVR INSTRUCTION SET

jaime.velarde@epn.edu.ec 24

jaime.velarde@epn.edu.ec 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