Este apéndice sirve al usuario para proporcionar una referencia de los modos de direccionamiento del MCS650X. Cada modo de direccionamiento se muestra con una ilustración simbólica del estado del bus en cada ciclo durante la obtención y ejecución de la instrucción. El número de ejemplo tal como se muestra en el texto se proporciona con fines de referencia.
===E.1 DIRECCIONAMIENTO IMPLÍCITO===
__Ejemplo 5.3 : Ilustración del direccionamiento Implícito__
%%Ciclo
de Reloj Bus de Direcciones Contador de Programa Bus de Datos Comentarios
1 PC PC + 1 OP CODE Obtener OP CODE
2 PC + 1 PC + 1 OP CODE Ignorar OP CODE
Nuevo Nuevo;
Decodificar OP CODE
Viejo
3 PC + 1 PC + 2 OP CODE Obtener OP CODE
Nuevo Nuevo;
Ejecutar OP CODE
Viejo%%
===E.2 DIRECCIONAMIENTO INMEDIATO===
__Ejemplo 5.4 : Ilustración del direccionamiento Inmediato__
%%Ciclo
de Reloj Bus de Direcciones Contador de Programa Bus de Datos Comentarios
1 PC PC + 1 OP CODE Obtener OP CODE
2 PC + 1 PC + 2 Datos Obtener Datos,
Decodificar OP CODE
3 PC + 2 PC + 3 OP CODE Obtener OP CODE
Nuevo Nuevo;
Ejecutar OP CODE
Viejo%%
===E.3 DIRECCIONAMIENTO ABSOLUTO===
__Ejemplo 5.5 : Ilustración del direccionamiento Absoluto__
%%Ciclo
de Reloj Bus de Direcciones Contador de Programa Bus de Datos Comentarios
1 PC PC + 1 OP CODE Obtener OP CODE
2 PC + 1 PC + 2 ADL Obtener ADL,
Decodificar OP CODE
3 PC + 2 PC + 3 ADH Obtener ADH,
Retener ADL;
4 ADH, ADL PC + 3 Datos Obtener Datos
5 PC + 3 PC + 4 OP CODE Obtener OP CODE
Nuevo Nuevo,
Ejecutar OP CODE
Viejo%%
===E.4 DIRECCIONAMIENTO DE PÁGINA CERO===
__Ejemplo 5.6 : Ilustración del direccionamiento de Página Cero__
%%Ciclo
de Reloj Bus de Direcciones Contador de Programa Bus de Datos Comentarios
1 PC PC + 1 OP CODE Obtener OP CODE
2 PC + 1 PC + 2 ADL Obtener ADL,
Decodificar OP CODE
3 00, ADL PC + 2 Datos Obtener Datos
4 PC + 2 PC + 3 OP CODE Obtener OP CODE
Nuevo Nuevo;
Ejecutar OP CODE
Viejo%%
===E.5 DIRECCIONAMIENTO RELATIVO - (Salto Positivo, sin cruce de límites de página)===
__Ejemplo 5.8 : Ilustración del direccionamiento Relativo--salto positivo,__
__sin cruzar los límites de una página__
%%Ciclo Operación Operación
de Reloj Bus de Direcciones Bus de Datos Externa Interna
1 0100 OP CODE Obtener Finalizar Operación Anterior,
OP CODE Incrementar Contador de Programa
a 101
2 0101 +50 Obtener Interpretar Instrucción,
Offset Incrementar Contador de Programa
a 102
3 0102 Siguiente Obtener Siguiente Verificar banderas, Sumar Relativo a
OP CODE OP CODE PCL, Incrementar Contador de Programa
a 103
4 0152 Siguiente Obtener Siguiente Transferir Resultado a PCL,
OP CODE OP CODE Incrementar Contador de Programa
a 153%%
===E.6 DIRECCIONAMIENTO INDEXADO ABSOLUTO - (Con cruce de página)===
El paso 5 se elimina y los datos del paso 4 son válidos cuando no se cruza ninguna página.
__Ejemplo 6.7 : Indexado Absoluto; Con cruce de página__
%%Ciclo Operación Operación
de Reloj Bus de Direcciones Bus de Datos Externa Interna
1 0100 OP CODE Obtener OP CODE Finalizar Operación Anterior,
Incrementar Contador de Programa
a 101
2 0101 BAL Obtener BAL Interpretar Instrucción,
Incrementar Contador de Programa a 102
3 0102 BAH Obtener BAH Sumar BAL + Índice,
Incrementar Contador de Programa a 103
4 BAH, BAL Datos Obtener Datos Sumar BAH + Acarreo
+X (Ignorar) (Datos son
ignorados)
5 BAH+1, Datos Obtener Datos
BAL+X
6 0103 Siguiente Obtener Siguiente Finalizar Operación
OP CODE OP CODE%%
===E.7 DIRECCIONAMIENTO INDEXADO DE PAGINA CERO===
__Ejemplo 6.8 : Ilustración de Indexación de Página Cero__
%%Ciclo Operación Operación
de Reloj Bus de Direcciones Bus de Datos Externa Interna
1 0100 OP CODE Obtener OP CODE Finalizar Operación
Anterior
2 0101 BAL Obtener byte inferior Interpretar Instrucción
de la Dirección
Base (BAL)
3 00,BAL Datos Obtener Sumar: BAL + X
(Des- Datos
cartar) Descartados
4 00,BAL Datos Obtener Datos
+X
5 0102 Siguiente Obtener Siguiente Finalizar Operación
OP CODE OP CODE%%
===E.8 DIRECCIONAMIENTO INDIRECTO INDEXADO===
__Ejemplo 6.10 : Ilustración del direccionamiento Indirecto Indexado__
%%Ciclo Operación Operación
de Reloj Bus de Direcciones Bus de Datos Externa Interna
1 0100 OP CODE Obtener OP CODE Finalizar Operación
Anterior
2 0101 BAL Obtener BAL Interpretar Instrucción
3 00,BAL DATOS Obtener Sumar BAL + X
(Des- Datos
cartar) Descartados
4 00,BAL ADL Obtener ADL Sumar 1 a BAL + X
+ X
5 00,BAL Obtener ADH Retener ADL
+ X + 1
6 ADH,ADL DATOS Obtener DATOS
7 0102 Siguiente OP Obtener Siguiente Finalizar Operación
OP CODE%%
===E.9 DIRECCIONAMIENTO INDIRECTO INDEXADO (CON CRUCE DE PÁGINA)===
El paso 6 se elimina y los datos del paso 5 son válidos cuando no se cruza ninguna página.
__Ejemplo 6.12 : Direccionamiento Indexado Indirecto (Con cruce de página)__
%%Ciclo Operación Operación
de Reloj Bus de Direcciones Bus de Datos Externa Interna
1 0100 OP CODE Cargar OP CODE Finalizar Operación
Anterior
2 0101 IAL Obtener IAL Interpretar Ins-
trucción
3 00,IAL BAL Obtener BAL Sumar 1 a IAL
4 00,IAL BAH Obtener BAH Sumar BAL a Y
+ 1
5 BAH,BAL DATOS (Des- Obtener Datos Sumar 1 a BAH
+ Y cartar) (Descartados)
6 BAH + 1 DATOS Obtener Datos
BAL + Y
7 0102 Siguiente OP Obtener Siguiente Finalizar Esta
CODE OP CODE Operación%%