Sie sind auf Seite 1von 8

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERA EN COMUNICACIONES Y ELECTRNICA

MICROCONTROLADORES

SET DE INSTRUCCIONES

PROFESOR:

CALDERON DIAZ EDGAR ROMAN

ALUMNO: LOPEZ CERVANTES JOSE

GRUPO:

7CM5

INTRODUCCION Aqu aplicaremos el set de instrucciones que se utilizan a mayores rasgos a lo largo del semestre. Cada uno tiene una funcin especfica que se desarrollara en cada parte de esta material didctico dedicada para el set de instrucciones, son alrededor de 7 y son: -modo de registros -modo x(Rn) -modo indexado -modo simblico -modo absoluto & -modo inmediato(#) -modo indirecto de registro @Rn -modo indirecto de registro auto incrementado (@Rn+) Para mas detalle los elementos que se estn utilizando de acuerdo los bits se rigen por dos niveles de palabra: la Terminal esta dirigida por .w que tiene 16 bits de palabra y .B que tiene 8 bits por palabra que determina un mnimo de caracteres presentado en el programa. De acuerdo al programa se utilizaran los bits de 16 o 8 de forma tal que el programador decidir su uso y conveniencia de todos los set encontrados. Modo de registro (Rn) Permite mover un elemento del registro a un elemento del registro destino. Un ejemplo es el siguiente. Queremos mover los datos que se encuentran en el siguiente valor en forma de palabra. Ejemplo: Mov.w R10, R11 antes Despus R10 0xA023 0xA023 R11 0xFA15 0xA023 En forma de 8 bits es llamado mov.b queda: Ejemplo: Mov.b R10, R11 antes Despus R10 0x23 0x23 R11 0x15 0x23

Modo de registro indexado X(Rn) Mueve los contenidos de la fuente (los contenidos de R5 + 2 ) a el destino. La fuente y el destino de registro (R5 yR6) no son afectados. En el modo indexado los programas cuentan con incrementado automticamente as que el programa continua ejecutndose con la siguiente instruccin. En el nivel de palabra debe ser en valores pares, no funciona en impares La funcin a hacer es la siguiente Ejemplo: Mov.w 2(R5), 6(R6):
Antes Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x5555 0x9123 0x4569 0x1234 0x5678 si: R5 R6 Queda como: R5 R6 0x1080 0x108C desplazado 0x1092 0x1082 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 0x0123 0x1234 0x9123 0x4569 0x1234 0x5678 Despus Memoria 0xFF16 0xFF14 0xFF12 Direccin 0x0006 0x0002 0x4596

Lo nico que hace es que desplaza los elementos que se encuentran en 2(R5) a 6(R6) respetando que siempre sern pares. Ahora en 8 bits no importa que sea par o impar as que realizaremos el siguiente ejercicio. Ejemplo: Mov.b (R5), 6(R6)
Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: R5 R6 Queda como: R5 R6 0x200 0x201 desplazado 0x200 0x207 0x203 0x204 0x205 0x206 0x207 0x208 0x12 0x55 0x91 0x26 0x01 0x56 Despus Direccin 0x200 0x201 0x202 Memoria 0x01 0x00 0x45

Modo simblico (ADDR) Mueve los contenidos de la fuente EDE(contenidos de Pc + x) a el destino TONI(contenido de PC +y). La palabras antes de las instrucciones contienen las diferencias entre la PC y la fuente o direccin destino. Calcula las partes y las inserta en X y Y automticamente. Con el modo simblico el programa puede contar(PC) los incrementos automticamente as que el programa continua ejecutando con la siguiente instruccin. Siempre se respetan los valores pares en los niveles de palabra. Ejemplo: Mov.w TONI, 2(R5)
Antes Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x5555 0x9123 0x4569 0x1234 0x5678 si: EDE TONI R5 0x1080 0x1082 0x1090 Despus Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x1234 0x9123 0x4569 0x1234 0x5678

Ahora a nivel de byte. Ejemplo: Mov.b EDE,TONI


Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: EDE TONI R5 0x200 0x201 0x202 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x01 0x45 0x12 0x55 0x91 0x26 0x01 0x56

Modo absoluto &(ADDR) Mueve los contenidos de la fuente direccin EDE a la direccin destino TONI. Las palabras antes de la instruccin contienen la direccin absoluto de la fuente y el destino. Con el modo absoluto, la PC incrementa automticamente as que la ejecucin del programa contina con la siguiente instruccin. En este modo es para todos los registro de un subsistema. Ejemplo: Mov.w.&TONI,&EDE
Antes Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x5555 0x9123 0x4569 0x1234 0x5678 si: EDE TONI R5 0xFF16 0x1084 0x1090 Despus Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x1234 0x9123 0x0006 0x1234 0x5678

Para el nivel de byte queda. Ejemplo: Mov.b &EDE, 4(R5)


Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: EDE TONI R5 0x200 0x201 0x202 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x01 0x45 0x12 0x55 0x91 0x01 0x01 0x56

4(R5)

0x206

Modo de registro indirecto (@Rn) Mueve lo contenido de la fuente direccin (contenido de R10) a el destino (Contenido de R11). El registro no es modificado. A nivel de palabra siempre ser en par. Ejemplo Mov.w @R4, R8
Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: R4 R5 R8 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x01 0x4501 0x12 0x55 0x91 0x01 0x01 0x56

0x200 0x201 0x202

Ahora nivel de byte queda: Ejemplo: Mov.b R8, 3(R5)


Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: R4 R5 R8 0x200 0x201 0x202 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x01 0x45 0x12 0x45 0x91 0x01 0x01 0x56

Queda que: R5 0x204

Modo autoincremento indirecto (@Rn+) Mueve los contenidos de la fuente (contenidos de R10) a el destino(contenido de R11). Registra R10 y lo incrementa por un byte de operacin o dos para palabra antes de alcanzarlo, este punto avanza sin necesidad de una sobrecarga. Este es til para tablas de procesado. El valor + incrementa el valor cuando ya se hizo la operacin. A nivel de palabra se incrementa valor de 2.Cuando realiza lo que hay en R10 empezara el incremento. En la tabla aparecer ya el recorrido de R10 a R11 para que pueda hacer la siguiente funcin. Ejemplo: Mov. W @R10+, 0(R11)
Antes Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x5555 0x9123 0x4569 0x1234 0x5678 si: R10 R11 Despus Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x1234 0x9123 0x4569 0x4596 0x0002

0xFF12 0x1080

A nivel de byte solo se incrementa el valor a 1. Ejemplo: Mov.b @R10+,0(R11)


Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: R10 R11 0x200 0x205 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x01 0x45 0x12 0x45 0x01 0x01 0x01 0x56

Modo Inmediato (#N) Mueve la constate de 45h, El cual contiene en a palabra la siguiente instruccin para la direccin de destino TONI. Cuando alcanza la fuente, el programa cuenta los puntos para la siguiente palabra instruccin y la mueve al contenido destino. Para ser nfasis este modo solo da el valor deseado que necesitamos sin buscarlo en memoria, solo se manda directo a travs de la funcin # para obtenerla, es decir tu das tu propia localidad de memoria. Ejemplo: Mov.w #0x2541, R11
Antes Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x5555 0x9123 0x4569 0x1234 0x5678 si: R10 R11 0xFF12 0x1080 Despus Memoria 0xFF16 0xFF14 0xFF12 0x1094 0x1092 0x1090 0x1084 0x1082 0x1080 Direccin 0x0006 0x0002 0x4596 0x0123 0x1234 0x9123 0x4569 0x4596 0x2541

A nivel de Byte. Ejemplo: Mov.b 0x27,6(R10)


Antes Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x55 0x91 0x26 0x13 0x56 si: R10 R11 0x200 0x205 Despus Direccin 0x200 0x201 0x202 0x203 0x204 0x205 0x206 0x207 0x208 Memoria 0x01 0x00 0x45 0x12 0x45 0x91 0x27 0x01 0x56

Das könnte Ihnen auch gefallen