prac2 microcontroladores
UNIVERSIDAD AUTÓNOMA
DE NUEVO LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA
Laboratorio de Microcontroladores
Práctica N°2
“Introducción al CodeWarrior for HCS08”
Profesor: MONTES DE OCA LUNA SAUL M.C.
Daniella Alejandra Moreno G
1612162
Miércoles M4
Cd. Universitaria, San Nicolás de los Garza a 16 de Febrero del 2014
MODOS DEDIRECCIONAMIENTO
La familia HC9S08 (CPU HCS08) posee 16 modos de direccionamiento al igual que la familia HC908. Se han implementado algunas mejoras en la familia HC9S08, algunas de ellas referidas a la reducción de los ciclos de máquina empleados por cada una de las instrucciones con respecto a la HC908 y además se han agregados modos de direccionamiento en las instrucciones LDHX y STHX que ayudan atrabajar con mejor eficiencia de código cuando se utilizan compiladores de alto nivel como el lenguaje “C”.
A continuación repasaremos muy brevemente los distintos modos de direccionamiento disponible en la familia HC9S08 y sobre el final veremos las diferencias entre HC9S08 y HC908.
Modo de direccionamiento Inherente (INH).
Las instrucciones no tienen operando a buscar y no requieren de operandode dirección. De un byte de longitud y son típicamente “inherentes” al CPU.
Por ejemplo:
CLRX ; Limpio el registro X.
Modo de direccionamiento Inmediato (IMM).
El operando para las instrucciones inmediatas está contenido en el byte inmediato al código de operaciones (opcode). Las instrucciones inmediatas tienen constantes como operando.
Por ejemplo:
LDA #$50 ; Carga el acumulador con elvalor hexadecimal $50.
Modo de direccionamiento Directo (DIR).
El modo de direccionamiento Directo se utiliza para acceder a operandos en la página directa (rango de memoria de $0000 a $00FF), o sea en las primeras 256 posiciones del mapa de memoria. El byte de mayor orden (más pesado) no es incluido en la instrucción, de esta forma se ahorra un byte y un ciclo de máquina con respecto aldireccionamiento Extendido.
Ejemplo:
LDA $55 ; Carga el acumulador con el contenido de la posición $0055.
Modo de direccionamiento Extendido (EXT).
Las instrucciones de direccionamiento Extendido poseen 3 bytes de longitud y pueden acceder a operandos en cualquier posición de los 64 Kbytes del mapa de memoria.
Ejemplo:
LDA $1996 ; Carga el acumulador con el contenido de la posición$1996
STA $1044 ; Almacena el contenido del acumulador en la posición $1044
Modo de direccionamiento Relativo (REL).
Todas las instrucciones de saltos condicionales utilizan el modo de direccionamiento Relativo para evaluar la dirección efectiva. Si la condición del salto se cumple, el CPU evalúa el salto de destino por medio de la suma de un byte signado al contador de programa. Elrango del salto es –128 a + 127 bytes desde la posición de memoria después de la instrucción de salto.
Ejemplo:
BEQ $8100 ; salta a $8100 si Z = 1 (si el resultado de la operación anterior es igual a cero).
Modo de direccionamiento Indexado.
Tanto en los HC908, como en los HC9S08 hay 5 modos de direccionamiento indexados. Las instrucciones con direccionamiento indexado utilizan el contenidodel registro índice de 16 Bits H:X para acceder a operandos con direccionamiento variable, tales como variables accedidas por medio de un puntero (tablas).
Indexado sin Offset (IX).
Se accede al contenido de la memoria apuntado por el contenido del índice H:X.
Por ejemplo:
Si H:X = $1000 LDA ,X ; Carga el acumulador con el contenido de la dirección apuntada por el ; índice H:X (posición dememoria $1000).
Indexado, con Offset de 8 Bits no signados (IX1).
Se accede al contenido de la memoria apuntado por el contenido del índice H:X + el valor no signado de un offset de 8 bits.
Ejemplo:
Si H:X = $1000
LDA $44,X ; Carga el acumulador con contenido de la dirección apuntada por el ; índice H:X + el offset de 8 bits (posición de memoria $1044).
Indexado, con Offset de 16 Bits no...
Regístrate para leer el documento completo.