ESCUELA POLITÉCNICA FACULTAD DE INGENIERÍA SISTEMA PARA NACIONAL ELÉCTRICA DE E V A L U A C I Ó N MICROPROCESADORES Z80,6800,8085A POR: FERNANDO EDUARDO A L V E A R TROUP TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INGENIERO EN ELECTRÓNICA Y TELECOMUNICACIONES DE LA ESCUELA POLITÉCNICA NACIONAL Q u i t o , D i c i e m b r e d e 1983 Certifico que el presente trabajo ha sido elaborado en su totalidad por el s£ ñor: Fernando E. Alvear. :NG. ALFONSO ESPINOSA Director de Tesis R. D E D I C A T O R I A A mis padres. ÍNDICE I. INTRODUCCIÓN I II. DISEÑO * 2.1. ESPECIFICACIONES 1 2.2. DISEÑO DEL HARDWARE 2 2.2-1. DESCRIPCIÓN GENERAL 2 2. 2-71.a. DIAGRAMA DE BLOQUES 2.2-l.b. DESCRIPCIÓN 2 FUNCIONAL • 2.3. UNIDADES CENTRALES DE PROCESO 2.4. CIRCUITOS 3 6 DE ENTRADA Y SALIDA (I/O; 9 2.4-1. INGRESO DE DATOS Y DIRECCIONES 9 .2.4-^2. GENERACIÓN DE SEÑALES DESDE EL TECLADO 9 2.4-3. INDICADORES DE DATOS Y DIRECCIONES 11 2.4^4. INDICADORES 12 DE STATUS 2.5. MEMORIA 13 2.6. BUFFERS 16 2.6-1. BUFFERS DE DATOS Y DIRECCIONES DE LOS uPs 2.6-2. BUFFERS 16 DE DATOS Y DIRECCIONES DE TECLA- DO 18 2.6-3. BUFFERS DE INTERCONECCION 2.7. 2.7-1. 20 CIRCUITOS DE CONTROL 21 SEÑALES BÁSICAS 2.7-2. INTERRUPCIONES ' 21 ' 22 2 . 7 r-3 . CONTROL DE I/O 24 2.7-4. CONTROL DE TRANSFERENCIA DE DATOS CON LOS UPS EN ALTA IMPEDANCIA 2.7-4.a. INICIALIZACION DEL SISTEMA PROGRAMACIÓN 26 PARA LA ' 2 . 7-4.b . INGRESO DE DATOS 2.7-4.C. LECTURA DE LOCALIDADES DE MEMORIA 26 29 33 2.7-r5. SELECCIÓN DE LOS uPs 2.7-6. CONTROL 38 DE TRANSFERENCIA DE DATOS BAJO COMANDO DE LOS uPs 42 2 . 7- 7 . CONTROL DE INICIALIZACION (R13SUT) 2.'8. 2.9. P R O G R A M A D O R DE • 2.10. FUENTES DE EPROMS 45 48 PODER 50 DISEÑO DEL SOFTWARE 52 2 . 10-7 1 .DIAGRAMAS DE FLUJO 52 2.10-2.PROGRAMAS 60 III. OPERACIÓN DEL SISTEMA 61 3.1. DESCRIPCIÓN DEL PANEL 61 3.1-1. DESCRIPCIÓN DE LOS TECLADOS 61 3.1-r2. INDICADORES DE STATUS 66 3.1-2.a. INDICADORES DE STATUS DEL MONITOR 66 3.1-2.b. INDICADORES DE STATUS 66 DE LOS uPs 3.1-2.C. INDICADORES DE P R O G R A M A C I Ó N DE EPROMS 67 3.2. ENCENDIDO, POR Y REUBICACION DE MEMORIA 67 3.3. PROCESOS DE OPERACIÓN 68 INTRODUCCIÓN DEL MONITORES PROGRAMA DEL USUARIO \2 USO DE LOS 68 3.3-1 3.3-2.a. 280 72 3.3-2t b. 8085A 85 3.3-2.c. 6800 86 3.4. USO DEL SISTEMA CON CIRCUITOS EXTERNOS 86 3.4-1. PERIFÉRICOS EXTERNOS 90 3.4-2. uPs EXTERNOS 93 CONSTRUCCIÓN 94 IV. 4.1. DISTRIBUCIÓN GENERAL 4.2. DISTRIBUCIÓN DE ELEMENTOS EN LAS TAS 94 TARJE96 72 * V. EXPERIMENTACIÓN Y CONCLUSIÓN 122 VI. BIBLIOGRAFÍA 124 VII. APÉNDICES 125 I N T R O D U C C I Ó N "El microprocesador es uno de los desarrollos tecnológicos más excitantes desde que apareció el -transij^ tor en 1948. Se ha predicho que este artefacto no sólo revolucionará el campo de la electrónica digital, sino que tendrá una gran influencia sobre el modo de vida de las generaciones presente y futura". cro comp u ters and Microprocessors: and Applications," (Traducido de "Mi- Hardware, Software Prentice-Hall, Inc. 1976 .JOHN L.-=• HILBURN- PAUL M. JULICH.) A esta fecha, siete años después de la publicacación del libro mencionado, la cita anterior ha sido completamente comprobada. Dentro de la amplia gama de microprocesadores existentes, son tres los que pueden considerarse como los que más difusión han tenido y que han servido de base para el desarrollo de otros mas sofisticados y eficaces; éstos son: el 8085A de INTEL CORPORATION, el 6800 de MOTOROLA INC. y el Z80 de 2ILOG INC. La mayoría de los fabricantes de microprocesado res, sino todos/ fabrican también pequeños sistemas .llamados de "evaluación", cuyo principal objetivo es el de proporcionar un medio de familiarización con el micropro_ cesador pertinente. El lenguage de programación de es- tos sistemas es el hexadecimal, salvo alguno que otro caso en el que existe un ensamblador de un paso. Estos sistemas soportan solamente un microprocesador, haciendo que la familiarización con varios diferentes sea un pro- blema básicamente económico. Considerando ésto, se decidió que la presente tesis incorpore los tres micros mencionados anteriormente en un solo sistema. Además de ésto, se incorporará un pequeño programador de EPROMS bajo el control del Z80. Al describir las diferentes partes del circuito se hará referencia a las coordenadas en el diagrama general del mismo. paréntesis. Estas coordenadas están encerradas entre Como ejemplo: 280, (2D); al localizar el integrado respectivo en el diagrama se encontrará junto a él un código alfa-numérico que indica su localización en la tarjeta respectiva del aparato. Así, para el ejem pío anterior, se encontrará junto al Z80 elcódigo 3TD , que indica que el circuito integrado está localizado en la tarjeta 3, columna T, fila D. En algunos casos, los in- tegrados se encuentran compartiendo dos filas y/o dos columnas, en este caso habrán mas de dos letras después del numero de la tarjeta. Al analizar la parte circuital de la Tesis, se podrá ver que muchos circuitos pueden eliminarse, si se incorpora su función en los programas de monitor. Sin embargo, es necesario señalar que al momento de realizar la Tesis, no se tenía acceso a ningún equipo que facilitara esta tarea, de ahí que se tuvo que recurrir a im- III plementar circuitalmente muchas funciones. II. 2.1. DISEÑO ESPECIFICACIONES Como se menciono en la introducción, el sistema de evaluación de microprocesadores, acerca del cual trata esta tesis, llevará incorporados los microprocesadores Z80 de ZILOG INC., 6800 de MOTOROLLA INC, y 8085A de INTEL CORPORATION. Para facilitar la familiarización del'usuario con cada uno de estos uPsl/, el sistema tendrá un progra- ma monitor por cada uno que se encargará de realizar las funciones correspondientes a la evaluación de programas y registros de los úPs. Los programas monitores estarán en memoria novolátil (EPROM) , mientras g_ue datos y programas del usuario se almacenarán en RAM. Por medio de un teclado el usuario ingresará datos y/o instrucciones al sistema, el c.ual a su vez se comunicará con el usuario mediante un grupo de indicadores visuales (displays) y LEDS. Para poder expandir la memoria del sistema, así como poder utilizar la familia de circuitos integrados periféricos de cada uP, se deberá poder tener acceso, desde el exterior^ a los buses de datos y direcciones así como señales de control de los .UP s . 2.2. DISEÑO DEL HARDWARE 2.2rl. DESCRIPCIÓN GENERAL O' Q 2 < e: < u 3 2: 4- uJ •z. c/) uJ c FUNCK 2.2-1.a. DIAGRAMA DE BLOQUES /. , \ S 1 0 < UJ Q _J u / •: 0 < 0 c n ^ u 0. _j 6 § O O * •? . m a 2 O c; o. LU J ; _j J t- ' 2 •z. u u c: CL • >• /•« c: ÜJ O Q Q < 0 ce 1U) < LL Q 5 < O UJ t±r o 0 a 5 < < cr o ¿ 0 g v 8 - UJ < -J 0 t2 0 2 U a c/i c; u p LU Q c K- 0 o / ' Q „ u Q > to ir LU O LU u. LL ul UJ o ra ÜJ ~ O £ S u u UJ Q ^ £ /\ 0 ui c: ; 5 E Q — Q Q \ u c < c 5 h CENTRALES ~ O a . < * " to « UJ c; uJ c3 o /) JJ J D ~ UJ tr P: Q "Q o tu S LU Q U) P ° LQ < -1 ^ í! 2.2^1.b. DESCRIPCIÓN FUNCIONAL TECLADO DE DATOS Y MONITOR Estos contienen 19 teclas cada uno, teniendo el de DATOS 16 teclas para generar caracteres aexadecimales (los datos propiamente dichos) y 3 de control que se suman a las 19 teclas del MONITOR para un total de 22 teclas para operación y control del sistema. DECODIPICñDORES DEL TECLADO. Son decodificadores-registros para 20 teclas y se encargan de monitorear el teclado y presentar las señales y palabras de control, en forma binaria, al bloque de control, y los caracteres hexadecimales a los registros de direcciones y datos. REGISTROS DE DIRECCIONES Y DATOS El registro de direcciones se conecta a través de un buffer de 16 bits co'n el' bus de direcciones del sistema. Contiene contadores UP/DOWN para así leer lo- calidades sucesivas de memoria, ya sea hacia arriba, (incremento de direcciones) o hacia abajo (decremento de direcciones). • El registro de datos conecta a éstos al bus de los indicadores de datos a través de dos buffers de 8 bits cada uno. Estos constan de 4 indicadores hexadecimales cada uno. Los indicadores de DIRECCIONES se encienden cuando el sistema está en el modo de programación o. los microprocesadores están en estado de alta impedancia. En los indicadores de DATOS , los dos más significativos se encienden o apagan automáticamente según sea requerido durante las diversas operaciones del sistema mientras que los menos significativos siempre están encendidos. BUFPERS. Estos unen a los microprocesadores con los buses de direcciones y datos del sistema y con los registros que guardan la información proveniente de los teclados. También están considerados dentro de los BUFPERS los circuitos integrados que sirven para la lectura y es critura, por parte de los microprocesadores, de datos re queridos durante su operación. MEMORIA. Esta tiene dos áreas: RAM. una de EPROM y otra de En el área de BPROM se encuentran los programas monitores del sistema. En el área de RAM se almacenan tanto los datos intermedios de los programas monitores como los programas del usuario. CONTROL DE PROGRAMACIÓN/LECTURA DE EPROMS. Este bloque contiene la circultería necesaria para la programac-ión o lectura de las siguientes EPROMS: 2716 (1K x 8 bytes) y las dos versiones de la 2758 (1K x 8 bytes). Estas tres memorias requieren una sola fuente de + 5V para su funcionamiento normal y una adicional de + 25 V para su programación. INDICADORES DE STATUS. Son un conjunto de dio.dos emisores de luz (LEDs) que señalan al usuario la operación en proceso y el status delsistema. UNIDADES CENTRALES DE PROCESO. En este bloque están comprendidos los tres microprocesadores residentes del sistema: 280, 8085A y 6800. Además, se incluyen los circuitos básicos necesarios para el funcionamiento de dichos microprocesadores como la generación de las señales de reloj respectivas y un registro/buffer para el bus de datos del 8085A. CONTROL Contiene todos los circuitos necesarios para el control total de la .operación del sistema por el usua rio y ciertos procesos-por los microprecesadores. 2.3. UNIDADES CENTRALES DE PROCESO Z80/8085A/6800/OTROS POSIBLES Los tres microprocesadores residentes en el sistema son de 8 bits y tienen capacidad para direcciónar directamente 64K bytes de memoria. El Z80 y el 8085A direccionan separadamente memoria y periféricos mientras que el 6800 no establece ninguna diferencia entre ambos. En cuanto a los circuitos adicionales necesarios para su funcionamiento, el Z80 y el 6800 necesitan de generación externa de los pulsos de reloj mientras que el 8085A necesita de un registro de 3-estados para obtener los 8 bits menos significativos de las direcciones, a partir del bus de datos por ser los datos y los 8 bits menos significativos de las direcciones multiplexados en este bus. Estos microprocesadores, en cuanto a los buses de datos y direcciones se refiere, están conectados en paralelo y separados del resto del sistema por buffers de 3-estados, cuyo objetivo es colocar la meno£ carga posible a los uPs. Algunas señales de control están también en paralelo , como son las de escritura (WR) y lectura (RD). Cabe señalar aquí que el 280 y el 8085A tienen estas señales 7 separadas, a diferencia del 6800 que tiene una sola señal para ambos propósitos (R/W). Además, el Z80 tiene una s_e nal para procesos de memoria (MREQ) y una para procesos de I/O (IORQ) , mientras que el 8085A tiene uno solo 'para ambos propósitos (IO/M) y el 6800 no tiene ninguno. El manejo tanto de memoria como periféricos fue diseñado alrededor de las señales de control del Z80 y por tanto fue necesario generar las respectivas señales en base a las existentes en los ü;.Ps restantes. Para el 8085A tamente a MREQ (2B), IO/M está conectado direc- del Z80 (2D) ya que para proceso.s; de memoria las dos líneas funcionan igual. I/O, IO/M dos Para procesos se conecta a través de un inversor de 3-esta- (2H) con IORQ del 280 7 este inver.sor se habilita solamente cuando se selecciona el 8085A. Para el 6800 (2F), antes de obtener estas señalas separadas es necesario una señal de habilitación para estas. Dicha señal se logra haciendo una función AND en- tre la señal VMA del 6800, a través de los inversores (II), y MEM CLK del generador de fases de reloj MC6875L (4J), función que se logra con la compuerta AND de colee tor abierto sores ( 1IH). La función que realizan los inver- (II) se explicara mas adelante. Para la señal rOT se hace un AND de R/W con la señal anterior ( R/W. VM. MEM CL'.K) , (3H) , y luego se in- vierte ésta (3H), conectándose luego la señal obtenida a RD en el Z80 y 8085A. Para la señal WR , R/W pasa sor de colector abierto a través de un inver- (2H) y se hace el sincronismo con la señal especial de habilitación como en el caso anterior, obteniéndose R/W • VMA ' MEMCLK mediante el AND y el inversor respectivo ( 3H), siendo luego conectado a WR en los otros uPs. La señal MREQ se obtiene a partir de la señal BA del 6800 y una señal de habilitación proveniente del biestable ( 9F) , pin 9, la cual está en 1L mientras esté seleccionado el 6800. Estas dos señales, a través del circuito formado por los ÑOR (lj), el ÑOR (3K) y el transistor conectado a la salida de éste, generan la señal MREQ, la cual está siempre presente ( no es un pulso) mientras esté seleccionado el 6800. La habilitación de memoria o periféricos depende entonces solo de RD o WR. Para IORQ, solo se invierte VMA mediante el in versor de colector abierto ( 2H). Esta señal, sin embar- go, hace un OR (2H) con la señal proveniente de la compuerta AND (1H) que realiza la función lógica RD • WR sincronizando de esta manera IORQ con -RD o WR. Esta com-' puerta OR (2H) es común a los 2 uPs. En cuanto a - l a s señales de reloj necesarias pa- ra los uPs, el 8085A necesita de un cristal que se conecta, directamente a dos terminales que tiene para este propósito; la frecuencia de oscilación del cristal utilizado es 4 MHz y esta frecuencia se obtiene dividida por 2, en un terminal dedicado del mismo 8085A. Este reloj es de niveles TTL y en este caso es de aproximadamente 4V. Pasando esta señal de reloj a través de una compuerta AND (IB) se obtiene una señal de reloj que se usa para diversos propósitos en el resto del sistema, obteniendo además un "FAN-OUT" de una compuerta TTL normal. Esta señal pasa también por una compuerta de colector abier to (IB) y se conecta luego a la entrada CLK del Z80. La resistencia recomendada por el fabricante, que debe ser conectada a la salida de la compuerta de colector abierto que maneja a la entrada CLK, es de 330 J * - , para cumplir las características AC y DC de dicha entrada. •Para el 6800 se utilizo un circuito integrado dedicado para generar las críticas fases no superpuestas de reloj que éste necesita. Este circuito integrado es el MC6875L (4J), y la frecuencia que genera para este caso, está entre 900 KHZ y 1 MHZ. 2.4. CIRCUITOS DE ENTRADA Y SALIDA 2.4-1. INGRESO DE DATOS Y (I/O) DIRECCIONES El principal circuito de este grupo es el que se encarga de la decodificacion de los teclados y de la generación de caracteres hexadecimales y señales básicas de control. Para decodificar los dos teclados de, 19 teclas cada uno, se utilizan dos circuitos integrados 74C923 cada uno con capacidad para manejar 20 teclas arregladas en una matriz de 4 x 5. El primero de ellos (7L) se encarga de los caracteres hexadecimales y tres señales de control; el segundo ( 1 3 J) maneja el resto de las señales de control, que con las tres anteriores suman un total de 22. Los caracteres hexadecimales, en el caso de que sean direcciones, son cargados en contadores "UP/DOWN" pro gramables ( 7 K, 7K, 8K, 9K) componiendo así los 16 bits para direccionar las diferentes localidades de memoria. En el caso de que sean datos, son cargados en dos registros de 4 bits 74C175 (10K,11K) obteniéndose así los 8 bits de datos. 2.4-2. GENERACIÓN Estas DE SEÑALES DESDE EL TECLADO. señales se obtienen del decodificador 10 74154 (15J) y del decodificador 74L3155 (8L) . cador de teclado (13J) El decofi- comanda al decodificador (15J) y la mitad del decodificador (8L), mientras que el otro deco_ dificador de teclado codificador (8L). (7L) comanda a la otra mitad del de- Los dos bits menos significativos de los decodificadores de teclado (7L) y (13J) son comunes a ambas mitades del decodificador (8L) y llegan a través de un circuito AND-OR-INVERT 74LS51 (9L)que hace las veces de un multiplexer doble 2 a 1. La habilitación de cada mitad del decodificador (8L) se logra mediante dos señales para cada mitad; una de ellas (la entrada C) proviene del bit mas significati- vo de cada decodificador de teclado mientras que la otra (la entrada G) proviene de las señales DAdecodificadores de teclado de los mismos (7L) y (13J) , previamente tra tados por el circuito formado por los biestables (12L) y (13L)-(14L). Estos circuitos adicionales fueron necesa- rios debido a la forma en que trabajan los 74C923 al momento de señalar la presencia de un dato válido en sus salidas. Esto es, la señal DA indica una entrada válida del teclado y está presente antes de que se estabilize el dato correspondiente a la salida (máximo 150 ns antes). Esta señal, al ser aplicada directamente a la entrada de habilitación respectiva del decodificador (8L) generaría dos pulsos diferentes a la salida en vez de uno solo como es lo deseado. Esto se debe a que como la señal DA está presente antes que el dato, se habilita la mitad respectiva del decodificador (8L) con el dato presente 11 al momento de activarse DA y luego cambia su salida de acuerdo al dato deseado. Se corrige ésto dando una demo- ra a la señal DA mediante el circuito de biestables mencionado -anteriormente. La demora es el tiempo equivalen- te a medio ciclo de la señal de reloj aplicada a la entra. da de reloj en los biestables (aproximadamente 75 u.S.). Esta señal demorada se obtiene de Q del segundo biestable en cada circuito de demora, mientras que las señales para controlar al "multiplexer" (9L) . Se obtienen de las salí. das Q, a través de los OR (12L y 13L, derecha) respectivo, de los dos biestables de cada circuito de demora. 2 . 4-: 3 . INDICADORES DE DATOS Y DIRECCIONES Consisten en dos grupos de 4 indicadores luminosos hexadecimales de 7 segmentos, TIL311, conteniendo cada indicador la lógica necesaria para la retención y conversión de 4 bits binarios a 7 segmentos, como también el manejo de los LEDS que componen los segmentos. En el grupo de indicadores que muestran las direcciones de . localidades de memoria no se utiliza su capacidad de retención de datos ya que éstos son retenidos en los registros retenedores de direcciones y conectados a los indicadores a través de los buffers respectivos. Estos indicadores se encienden solo cuando el sistema está en el modo de programación. En el 'otro grupo, el de datos, los dos dígitos menos significativos se encienden o apagan de acuerdo a las necesidades del sistema; ésto 12 es , cuando el sistema está en el modo de programación están apagados, y son encendidos bajo control de los progr_a ma's monitores o del usuario. Cada indicador tiene, en la parte inferior del dígito, un LED a cada lado del mismo y que normalmente se usan para indicar el punto decimal. Se usan estos LEDS , encendiendo ambos al mismo tiempo, para indicar el próximo dígito a escribirse. La circuitería que con- trola estos LEDS asi como la retención de datos en los indicadores se explica en los numerales 2.7-4.a y 2.7-6 respectivamente. 2.4-4. INDICADORES DE STATUS. Muestran el status tanto de los programas monitores como de algunas señales de control. caso, 16 LEDS realizan dicha En el 'primer función y son manejadas por los retenedores (19H), los cuales son a su vez controlados por el decodificador 74LS154' (13H) que realiza la función de decodificador de periféricos (I/O) bajo control de los programas monitores. 'Para el caso de las señales de control, éstas son manejadas por el retenedor (27E) que trabaja sólo como buffer. Estas señales son activas algunas en alto y otras en bajo, por lo cual, para las activas en alto, se han colocado los inversores (28E) a las salidas res- pectivas del retenedor (27E) para el encendido de los LEDS. 13 2.5. MEMORIA El bloque de memoria puede dividirse en tres gru. pos: MONITOR, RAM DE MONITOR y RAM DEL USUARIO. TOR ocupa tres EPROMS 2716 El MONI_ ( 2 K x 8 bits c/u): dos de ellos (13C) y (14C) en los primeros 4 K bytes de memoria, mientras que al tercero (15C) en los últimos 2K de memoria. Este ultimo 2716 no es utilizado totalmente, ocupándose las siguientes localidades: F800H- F916H y FC00H->FFFFH ; de manera que quedan libres las localidades F917H-*-FBFFH, pudiendo ser utilizadas en el futuro para almacenar algún programa que pueda ser útil al sistema. El RAM DEL MONITOR es el área de memoria utilizja do por los programas monitores para almacenar datos obtenidos durante los diversos procesos que estos realizan. Esta área se encuentra en las localidades 1000H-»1125H El resto de la memoria (aproximadamente 58K bytes! son para el usuario (RAM DEL USUARIO), comenzando en 1126H Existen implementados en el sistema 4k bytes de RAM que se reparten entre RAM del Monitor y RAM del usuario, siendo ésta reubicable mediante el conmutador SW1 (16E) . Antes de explicar esta reubicación es necesario explicar la decodificacion para la memoria, tanto EPROM como RAM. Para ésto se pensó habilitar la memoria resi- 14 dente en el sistema en bloques de IKxS bytes, para lo cual se requerirán 4 decodificadores 4 a 16 ( 74LS154) , de los cuales dos están implementados en el sistema (15D)y (15F) ; un decodificador 2 a 4 (18C) , que habilita a los decodificadores anteriores, complementa el circuito de decodifica ci5n de memoria. El decodificador (15D) selecciona los primeros 16K bytes mientras que el decodificador los últimos 16 K bytes. (15F) selecciona Los dos decodificadores restan- tes necesarios deben ser suministrados exteriormente y seleccionan el segundo y tercer bloque de 16K bytes, recibiendo su habilitación te las salidas del decodificador (18C) median- 2YI y 2Y2 que son accesibles externamen - te . Los primeros 2K bytes de EPROM (13C) se habili- tan mediante el decodificador (15D), 1.a compuerta AND (14D) y el OR (13D) . bido a que el Esta compuerta OR es necesaria de- MP6800 no establece diferencia entre cir- cuitos de I/O y memoria, y dado que la decodificación de. I/O fue diseñado alrededor del Z 8 O y se realiza en los primeros 256 bytes, es necesario deshabilitar los primeros 2K de memoria 6800. (13C) cuando está seleccionado el El OR (13D) recibe las señales para habilitar lo's 2K de memoria mencionados (3K) . El AND (13C) del AND (14D) y del ÑOR (14D) recibe las señales de selección de los primeros 2K de memoria provenientes del decodificador (15D) mientras que el ÑOR (3K) genera la señal de 15 deshab-ilitación mencionada cuando se selecciona el 6800. Los siguientes 2K de EPROM (14C) reciben su habilitación del decodificador (15D) através del AND (15D) re spectivo. Los últimos 2K de EPROM (15C) reciben su habilitación del decodificador (15F) a través del AND (15D) res- pectivo . La RAM incorporada en el sistema recibe su habilitación del multiplexer cuádruple 74S257 (16E) que sirve como " reubicador" de esta, a excepción de los circuitos de memoria (17D) y (18D) que son utilizados para RAM del Monitor y se habilitan directamente del decodificador (15D) r Pin 5, como el quinto K de memoria. El conmutador SW1 (16E) , como se menciono anteriormente, controla la reubicacíón de las áreas de RAM, y estando en la posición indicada en el diagrama (funcionamiento normal) permite que los 2114, que forman la RAM del sistema, reciban las señales presentes en las salidas B del multiplexer (16E). Además, la entrada OE de los 2716'está puesta a tierra mediante el conmutador SW1 y su control depende de la entrada CE en cada uno. La distribución de RAM en este caso, analizando las sal_i das del multiplexer (16E), es la siguiente: 1Y=5K—6K-1, 2Y = 6K-^7K_1, 3Y = 7K->8K— 1 , y 4Y = 8K-'9K~1 . 16 AL cambiar al conmutador SW1 de posición , la entrada ~OE (fe los 2716 se coloca en XL deshabilitando a éstos, y la entrada SEL del multiplexer (16E) se coloca a tierra pasando a sus salidas las señales presentes en las entradas A, en cuyo caso aquellas tienen la siguiente distribución de RAM: 1Y = OK-*1K—1 , 2Y = lK-r2K-l , 3Y=6 2K—6 3K— 1 , y "-tí. u j jx-^ -i- . Esto quiere decir que se pueden utilizar los pr_o_ gramas monitores para desarrollar programas del usuario y probar éstos, luego, en las localidades en las que estarían en la práctica, es decir, a partir de 0000H en el caso del Z80 y 8085A, y en el último K de memoria en el caso del 6800. También es útil ésto al utilizar micro- procesadores externos al sistema cuya primera instrucción se obtiene de 0000H o FFFEH. 2.6. BUFFERS 2.6-71. BUFFERS DE DATOS Y DIRECCIONES DE LOS uP s . 'Están formados por 4 circuitos integrados 8212 y separan a los uPs del resto del sistema con el fin de colocar la mínima carga posible en los respectivos buses de éstos. Dos de ellos, (4B) y (4C), son para el bus de direcciones, y los otros dos, (4E) y (4F), son para el bus de datos. 17 Los primeros, (4B) y (4C) se habilitan cuando se selecciona uno de los tres uPs residentes, y se logra controlando las entradas DS1 y DS2 de estos integrados. La entrda DS2 está comandada por el selector de uP s 74LS175, (10F) pin 14, que es la señal de habilitación (activo en OL) para un uP externo, y que al estar en IL activa la entrada DS2 en los buffers en cuestión. La en. trada DS1 se desactiva solo cuando el sistema entra en el modo de programación lo cual se logra mediante el biestable (16N) pin 9. Los buffers (4E) y (4F) tienen conectadas las entradas del uno con las salidas respectivas del otro formando un buffer de 8 bits de dos vías para el bus de datos. La entrada DS2 del buffer (4E) está comandada por dos señales; la una proveniente del selector de uPs 74LS175 (10F), pin 15, a través del inversor de colector abierto (5D) que habilita al buffer cuando se selecciona uno de los uPs residentes, y la otra proveniente del AND de 4 entradas (3G), a través del transistor (5D) respect^ vo, compuerta que deshabilita al buffer cuando detecta uh estado de alta impedancia en todos los uPs- Estoes nece sario para casos como el de transferencia de datos median te DMA. La entrada DS1 del buffer (4E)' y la entrada DS2 del buffer (4F) están conectadas entre sí y controladas 18 por la señal WR de los uPs; la entrada DS1 del buffer (4F) está controlado por la señal proveniente del circuito formado por los ÑOR (4G), (4G) y (1E). La señal proveniente de este circuito es equivalente a la señal RD y se genera cuando el uP seleccionado ejecuta una operación de lectura. Sinembargo , es nec_e_ sario considerar que aunque los uPs generan directamente la señal RD, el Z80 realiza un cierto tipo de lectura sin generar esta señal. Esto se produce durante inte- rrupciones que utilizan la entrada INT del uP . Este nece sita que le sea suministrada cierta información para poder dar servicio _a dicha interrupción, y el uP genera entonces las señales MI e IORQ juntas/ (sin la señal RD) debiéndose obtener de las mismas la señal requerida para habilitar al buffer (4F). Las tres compuertas ÑOR mencionadas (4G), (4G) y (1E) generan esta señal de habilitación a partir de las señales RD, Mi e IORQ. Con ésto, los buffers se habilitan de acuerdo a la operación en proceso: lectura (RD), escritura o alta impedancia, 2.6-2. BUFFERS DE DATOS Y DIRECCIONES DEL TECLADO A semejanza del caso anterior/ estos buffers están formados por 4 circuitos integrados 8212 y separan 19 las direcciones y datos provenientes del teclado, de los buses de direcciones y datos, respectivamente, del sistema . Los buffers (71) y (81) son para el bus de dire£ cienes, cuyas salidas se conectan a las de los buffers (4B) y (4C), respectivamente, descritos en el numeral anterior; sus entradas son alimentadas desde los contadores UP/DOWN programables (7K), (7K), (8K), (9K) mencionados en los numerales 2.4-1 y 2.7-4.C. Los buffers (101) y 111) corresponden a los datos y están conectados en paralelo, con sus salidas alimentando a los indicadores de datos (11C), (11C) , (12C) , (12C); sus entradas reciben la información de los retenedores (10K) y (11K) que componen los 8 bits de datos. Los buffers (101) y (111) están en paralelo debido a que para ciertos procesos los uPs necesitan leer dos bytes de información provenientes del teclado, bytes que necesitan ser mostrados primero en los cuatro indicadores de datos y luego leidos por los uPs. Debido a ésto, es necesario retener esta información en alguna parte, y esto se logra utilizando los buffers mencionados como retenedores además de buffers. Los buffers (71) se habilitan cuando el sistema está en -el modo de programación y esto se logra controlan do las entradas DS1 desde el biestable (16N) , pin 20 El control de los buffers (101) y (111) es compartido entre señales de control del teclado y el contr_o lador de I/O de los uPs, y será explicado en el numeral 2.7 - -4 .b. Durante el modo de programación solo se habilita el buffer (111) para la transferencia de datos desde el teclado hacia la memoria. 2.6-3. BUFFERS DE INTERCONEXIÓN. A este grupo corresponden los buffers (6H), (61) , (13D) y (13E) . Los dos primeros sirven en reali- dad como pórticos de I/O para la lectura de datos del te ciado y escritura de datos a los indicadores de éstos; reciben su habilitación, en la entrada DS2, desde el biestable (16N), pin 8, deshabilitandose cuando el siste- ma está en el modo de programación. El control de la dirección de flujo de los datos viene del decodificador el buffer de I/O 74LS154 (13H): para (6H) a través del AND decodificador, y para el buffer (19M)/ salidas 4 y 5 del (61) a través del AND (131)/salidas 6 y 7 del decodificador. Las señales pro- venientes de estos AND alimentan las entradas DS1 de los respectivos buffers. Los buffers (13D) y (13E) unen el bus de datos proveniente de la memoria (bus de datos del sistema) con 21 el bus de los indicadores de datos; se habilitan solo cuando el sistema está en el modo de programación y para este proposito, la entrada DSl en el buffer (13D), y la entrada DS2 en el buffer (13E) reciben la señal de habilitación del biestable (16N), pines 8 y 9, respectivamente . La entrada DS2 en el buffer (13D) está conectada a la entrada DSl en el buffer (13E) y señalan la dire_£ ción de flujo de los datos de acuerdo a la señal proveniente de la compuerta OR (L 3L, izquierda). Esta señal será ex plicada en el capítulo 2.7— 4.b. En general, estos dos buffers permiten, gue un dato sea escrito en memoria e inmediatamente leído (programación del sistema), o leer, sucesivamente, localidades de memoria. 2.7. • CIRCUITOS 2.7-1. DE CONTROL SEÑALES BÁSICAS El decodificador '74154 (15J) y el decodificador 74LS155 (8L) constituyen el "centro" de los circuitos de control. Entre los dos generan todas las señales de control del sistema provenientes de los teclados. A continuación se indica la correspondencia en tre las salidas de los decodificadores y las respectivas señales de control. 22 74154 (15J) 74LS155 (8L) 0 - ESCAPE 8 -ARS 1Y0- SHIFT 1 - SS 9 -BREAK CHECK 1Y1- L 2 — RD PGM4- 10 -BREAK REMOVE 1Y2— H 3 _ RD pGMí u -BREAK INSERT 1Y3 4 — RESET CPU 12 —EXTRA 2Y0— GO 5 - WR PGM 2Y1— REG 6 - REG. STR 14 -8085A 2Y2- REG 7 - MNU 2Y3- 13 -6800 15 -280 2 . 7-2. INTERRUPCIONES De las señales anteriores, las siguientes son usadas por los programas monitores: ESCAPE, SS, REG STR, MNU, A R S , BREAK CHECK, BREAK REMOVE, BREAK INSERT, L, GO , REG, REG. Estas señales producen una señal de interrupción a través del NAND de 13 entradas (18J), la cual se canaliza a cada uP mediante los' NAND el paso de la señal proveniente al uP seleccionado. (7F) y (8F) que permiten del NAND (18J) solamente Esto es necesario debido a que si se aplica la señal de interrupción a todos los uPs simultá- neamente, en ciertos casos, al seleccionar uno a continua ción de otro el uP seleccionado reconocerá la señal y entrará a decodificar y dar servicio a dicha interrupción inmediatamente después de haber sido seleccionado, realizando así una función errónea. 23 Estas señales de interrupción se aplican a las entradas de interrupción de mayor prioridad en los uP s: NMI para el caso del 280 y 6800, y TRAP para el 8085A. Las compuertas NAND (7F) que manejan estas entradas de interrupción/ son de colector abierto ,_ lo cual permite que señales de interrupción provenientes de circuitos externos al sistema puedan ser aplicados a las entradas respectivas en los uPs del sistema 8085A la señal de interrupción (Z80 , 6800). Para el (TRAP) externa debe ser aplicada a la entrada del inversor de colector abierto (7E), abriendo antes el interruptor ESI (1),(7E) . Para ejecutar la rutina correspondiente a la fun ción que se desea, el uP seleccionado, al recibir la señal de interrupción, lee los buffcrs 74367 (171) que permiten el paso de las señales provenientes del teclado y que producen una interrupción. El uP identifica la fun- ción que se está solicitando y procede a la ejecución de la rutina respectiva. Si después de leer los buffer (171) el uP encuentra que ninguna de las señales está activa, es decir, no se solicita ninguna función, el uP determina que la in terrupción proviene de algún circuito externo al sistema y salta a una localidad de memoria determinada donde el usuario deberá haber puesto una instrucción de salto hacia la rutina de servicio de dicha interrupción. 24 2.7^3. CONTROL DE I/O El decodificador 74LS154 (13H) genera todas las señales de control para los circuitos de I/O del sistema, bajo control de los programas monitores. Sus entradas de selección (A,B,C,D,) están conectadas al bus de direcciones del sistema, y en cuanto a sus entradas de control, G2 está comandada por la señal 10RQ proveniente de la compuerta OR (2H) cuyo funcionamiento está explicado en el numeral 2.3. La entrada Gl está comandada por el NAND de cuatro entradas (7H), el cual, en conjunto con el AND de dos entradas de colector abierto (7H), determina que para el 280 y el 8085A el decodificador (13H) responda a las últimas 16 direcciones del mapa de I/O, es decir, desde P0H hasta FFH. Para el 6800, el decodificador (13H) responde a las direcciones desde 00F0H hasta 00FFH del mapa de memoria. Esto se logra añadiendo al circuito anterior de habilitación de la entrada Gl del decodificador (13H) el circuito formado por las compuertas OR (7C), el transistor (7D) y el transistor (6F). Las compuertas OR (7C), en conjunto con el transistor (7D), generan un 1L solo cuando los 8 bits más significativos del bus de direcciones'están en OL, y conectan esta señal en paralelo con la salida de colector abierto del AND (7H) para deshabilitar a la entrada Gl del decodificador (13H) , a través del NAND (7H) , si uno 25 de los 8 bits mencionados está en 1L. El transistor (6F) está siempre saturado no está seleccionado el 6800. cuando Mediante la señal prove- niente de la compuerta ÑOR (U) , cuyo funcionamiento fue explicado en general en el numeral 2.3 y que produce un OL siempre que este seleccionado el 6800, este transistor se corta, liberando la base del transistor (7D) y per_ mitiendo así que las OR (7C) formen parte del control de la entrada Gl del decodificador (13H). Las señales de control de I/O que genera el decodificador (13H) se describen a continuación: Las salidas 14 y 15 habilitan a los buffer's (171) para la lectura de las señales de interrupción provenientes del teclado; las salidas 13 y 12 controlan la carga de datos en los retenedores (19H) que manejan a los indicadores de status; las salidas 11,10,9 y 8 controla al interfase de periféricos programables 8255 (27C) que controla el circuito de programación de EPROMS; las salidas 7 y 6 habilitan al buffer de interconexión (GI) através del AND (131) , la salida 7 habilita además al buffer (101) a través ta también al buffer del AND (91), y la salida 6 habili(111) a través del AND (111); las sa- lidas 5 y 4 habilitan la retención de datos en los indica dores (12C) y (lie) a través de los AND de co 1 ector to (19L) y ( 2 0 L ) r e s p e c t i v a m e n t e , las l i b r e s uy p u e d e n ser ^ u t i l i z a d o s por el *• ¿ // s a l i d a s 3 /^:.2 e s t á n u s u a r i o ,' rcí?rbéfe¿on--T [ | c¿; u.- . ív -t . < i f(j . 00340 26 diendo a las direcciones F3H y F2H 00F3H y 00F2H (280 y 8085A) y (6800) de I/O; las salidas 1 y 0 permiten el control de parte del circuito que maneja las funciones de introducción de datos al sistema desde el teclado. Este circuito será explicado en el siguiente subcapítulo. 2.7-4. CONTROL DE TRANFERECNIA DE DATOS CON LOS uPs EN ALTA IMPEDANCIA. Este circuito recibe señales de control desde el teclado, y de los uPs a través del controlador I/O, pa ra manejar la transferencia de datos a los indicadores de datos y direcciones, el encendido o apagado de estos, y a los indicadores del dígito a escribirse. Dado que este circuito recibe varias señales de comando, su funcionamiento será explicado describien do las diversas funciones que realiza. 2.7-4.a. INICIALIZACION DEL SISTEMA PARA LA PROGRA- MACIÓN. Este modo se activa al presionar WRPGM. El de- codificador 74154 (15J) responde colocando la salida 5 en OL, el cual genera una señal de borrado en el contador UP/DOWN 74193 (15L) , a través de los AND (15K) y el inver- sor (15L), sirviendo además como señal de reloj para los biestables (16N) accionando a estos al regresar a 1L. De estos biestables, el de la" derecha 'genera las señales 27 que indican que el sistema está en el modo de programa- ción ocn sus salidas Q y Q. La salida Q (pin 9) habilita (o deshabilita, según sea el caso) a los buffers (13E) entrada DS2 , (4C) entrada DS1, y (4B) entrda DS1; además, a través de los inversores de colector abierto (18K) se coloca un OL en la entrada LSI de los indicadores de dígitos (12C) correspondientes a los dos dígitos menos sig K nificativos / manteniendo a éstos habilitados. Esta misma señal, proveniente del pin 9 del table en cuestión , a través de los inversores ( 18J) coloca un OL en las entradas 2G y 2C del decodificador (18C) habilitando a éste y por lo tanto el acceso a la memoria del sistema; estas dos señales generadas a través de los inversores (18J) están en paralelo con las señales MREQ (salida 12 del inversor inferior) y la formada por RD"WR, mediante el AND (1H) , (salida 10 del inversor superior) , señales explicadas en el numeral 2.3. La señal proveniente de Q (pin 8), del biestable (16N, derecha) habilita o deshabilita según sea el caso a los buffers: (13D) entradas DS1,(6H) entrda DS2, (61) entrada DS2, (71) entrada DS1 y (81) entrada DS1. La salida Q (pin 6) del otro biestable (16N, izquierda) coloca un OL en el OR (12K) para permitir el paso de una señal proveniente de este mismo circuito de transferencia de datos, destinada a incrementar automáticamente los conta dores que direccionan las localidades de memoria cuando se está cargando un programa del usuario en el sistema; 28 también coloca un OL en el OR (17E) que permite el paso de la señal de escritura WR, proveniente del sistema de transferencia de datos, hacia la memoria. Esta señal WR PGM generada desde el decodificador (15J) genera también una señal de borrado a través del AND (10M) que inicializa el circuito de selección de los uPs y el circuito de generación de RESET inicial de los mismos, circuitos que serán explicados mas adelante; esta misma señal, a través del AND (11M) produce una señal de borrado para el biestable (15N izquierda), y el biestable (17M) . Este, a través cb Q (pin 8) controla el bloqueo de los dos dígitos mas significativos de los indicadores de datos (11C), y al estar el biestable borrado, éstos están bloqueados. Al estar borrado (15N) , izquierda) , la salida Q coloca OL en la entrada B del decodificador (16L) a través del AND (15L) respectivo, lo. cual permite que la selección de las salidas del decodificador (16L) dependa solamente de la entrada A: la salida Q del biestable coloca un 1L en la entrada de selección de pala- bra del multiplexer (17L, izquierda) y un OL, a través del inversor respectivo en el multiplexer (17L, derecha). El 1L selecciona la palabra A2, B2 ,C2 ,D2, mientras que un OL selecciona la. palabra £1,131,01,01. Asumiendo que el biestable (15N, dere'cha) esta borrado, éste coloca un OL en la entrada lG,a través AND (15L) del respectivo, y un 1L en la entrada 2G, del deco- dificador (16L) habilitando de esta manera las salidas 29 1YO,1Y1,1Y2,1Y3 del mismo. Las salidas del multiplexer (17L, derecha) dependen, entonces del contador UP/DOWN (15L); al estar este borrado, aparece un OL en la salida 1YO del decodificador (16L), y al estar conectados los multiplexers (17L) como se muestra en el diagrama, este OL aparece en la salida QB del multiplexer (17L, derecha). Las salidas de este multiplexer están conectadas, a través de resistencias, a los cátodos de los LEDS de los pu_n tos decimales del dígito más significativo; estos puntos decimales, al encenderse, indican cual es el siguiente dígito que se va a escribir. De esta manera, para este caso, el dígito a escribirse es equivalente al medio byte más significativo de la palabra (8 bits) que se va a escribir en memoria. 2.7-4.b. INGRESO DE DATOS Al presionar una tecla correspondiente a un carácter hexadecimal, el valor binario correspondiente a dicho carácter se coloca en las salidas del decodificador (7L) y se genera un pulso, DA, mediante el circuito explicado en el numeral 2.4—2. Esta señal pasa por el OR (13L , izquierda) cuya entrada es la señal provenieri te del bit mas significativo del decodificador (7L), a través de los inversores (7L), lo cual determina que solo los caracteres hexadecimales permitan el paso del pulso DA hacia el contador (15L) y los demás circuitos involucrados con esta' señal. Estos circuitos son: el de escritura en memoria, los buffers de interconexión 30 (13D) y (13E)-, y las compuertas que generan diferentes pulsos para la carga de los datos en diferentes retenedores, estas compuertas son las localizadas en (18L), (18M), (19L) y (20L). Para la escritura en memoria, la señal DA proveniente del OR (13L, izquierda) pasa a través del OR (17E) . habilitado, como ya fue explicado, por el biestable (16N , izquierda) hacia la entrada lo.s.-'.inversores (17E). WE de las memorias a través de La salida del inversor de colector abierto (17E) está conectada a la salida WR de los uPs. Como DA es un pulso, cuando éste no está presente, la memoria está habilitada para la lectura, ésto implica que los buffers de Ínter coneccion (13D) y (.13E) permitan el paso de información desde los buffers de datos del teclado hacia la memoria solo durante la duración de DA', mien tras que en ausencia de éste, el sentido del paso de información debe ser desde la memoria hacia los indicadores de dígitos. Esto se obtiene conectando la señal en cues tión a la entrda DS2 del buffer (13D) y a la entrada DS1 del buffer (13E) . La señal DA está conectada a todos los OR (18L) y (18M) pero solo pasará por aquél cuya otra entrada es- té en OL, y esto ocurre, para este caso, s5lo con el OR conectado a QB del multiplexer (17L, derecha) obteniéndose así un pulso a OL en su salida que se transmite a tres compuertas AND como se puede apreciar en la figura. conexión La al AND de colector abierto no tiene, en este 31 caso ( el de ingreso de datos), ninguna consecuencia ya que su salida está fija a OL por acción del biestable (16N, derecha), pin 9 y los inversores (19K) como fue explicado anteriormente. De los otros A N D - aquél que a su salida tiene el inversor (19K, derecha) da un pulso de carga para el retenedor (10K) que cargará el valor c_o rrespondiente al carácter hexadecimal a la salida del decodificador (7L). El tercer AND genera dos pulsos, (uno a OL , a través del AND (91) en la entrada DS1 del buffer (101) y uno a 1L, a través del inversor ( 91) en la entr_a da STB del mismo buffer. Con ésto se realizan dos funciones: Se habilita al buffer para que permita el paso del dato presente a sus entradas y que proviene de los retenedores (10K) y (11K), y al desaparecer los pulsos se retiene este dato aunque el buffer queda deshabilitado, es decir, en alta impedancia. Aquí caben dos explicaciones, una acerca del estado de alta impedancia del buffer y otra para justificar la retención del dato ya que esto parecería ser redundante debido a los retenedores (10K) y (11K). Para el caso-de la alta impendancia, se menciono anteriormente que durante el modo de programación los buffers, (13D) y (13E) estaban conectados de tal manera que la dirección del paso de información - sea desde la 'memoria hacia los indicadores de datos (y por consiguiente a las salidas de los buffers (101) y (111) ), excepto durante la duración de DA, de ahí que es necesario que estos se habiliten solo durante el pulso mencionado. En realidad el 32 buffer (111) se habilita solo para una función que puede realizarse solo bajo control del programa monitor. En cuanto a la retención/ durante ciertos procesos bajo control del monitor/ el uP en funcionamiento necesita -de 16 bits de información desde el teclado { y es aquí donde el buffer (111) entra), información que pasa por los retenedores (10K) y (11K) (solo 8 bits) y por tanto 8 bits deben ser retenidos mien-tras se cargan los otros 8. Al retornar-DA a 1L se incrementa' el contador (15L), y debido a que los AND (15L) no han variado/ la salida QA del multiplexer (17L, derecha) se coloca en OL, con el resto de sus salidas del pulso DA a través 3 AND en 1L. Esto permite el paso del OR (18L) respectivo y hacia los (19L) correspondientes, y en este caso, el AND que tiene a su salida el inversor (18K, izquierda)da vn impul- so de carga en el retenedor (11K)/ el AND de colector abierto no realiza ninguna función debido a la explicación dada en el caso de la salida QB, y el tercer AND es el mismo mencionado en el caso de QB y que genera dos pulsos en el buffer (101) con un resultado semejante al anterior pero en este caso con la nueva información procedente del retenedor (11K) y por supuesto la retenida anteriormente en (10K) . Al retornar DA a 1L , se incrementa nu_e vamenté el contador (15L) y como los AND (15L) aun no han variado/ la salida QB del multiplexer (17L, derecha) , se pondrá en OL y QA regresará a 1L; este pulso generado por QA y DA a través del AND respectivo (18L) pasa por el OR y AND (12K) hasta la entrada CU del contador (9K) el 33 cual incrementa su valor en 1, incrementando así la cadena de contadores que direccionan las localidades de memoria. De aquí en adelante, sin cambiar de función, el proceso anterior ( el de ingreso de datos) es cíclico. Un OL estará alternando entre QA y QB del multiplexer (17L) generando los pulsos de carga, escritura e incremento de direcciones. 2.7-4.C. LECTURA DE LOCALIDADES DE MEMORIA Estando el sistema en el modo de programación, al presionar la tecla H se entra al modo de lectura de una localidad cualquiera de memoria; el decodificador (8L) coloca su salida 1Y2 en OL, el cual acciona la entrada LOAD del contador (15L), da una señal de reloj para el biestable (15N, derecha) , y un.a señal de borrado para el biestable (16N, izquierda). Al borrar (16N , izquierda) su salida Q se coloca en 1L deshabilitando, mediante el OR (12K) el incremen to de direcciones como efecto de la introducción de carao teres hexadecimales. El biestable (15W, derecha), por su parte, al re cibir la señal de reloj, coloca un 1L en su salida Q y un OL en Q. Q está conectado a la entrada PR del biestable (15N, izquierda) y al OR (15L), el cual permite el paso de 34 la señal proveniente de la salida 1YO del decodificador (16L), al mismo tiempo que el OL en la entrada PR de (15N , izquierda) coloca un 1L en su salida Q conectada al AND (15L, superior) habilitando a este para pasar la señal de la salida QB del contador (15L), además la salida Q del mismo biestable (15N, izquierda) se coloca en OL, seleccionando así la palabra Al, B1,C1,D1 en el multiplexer (17L , izquierda) y A2, B2,C2,D2, en (17L , derecha) . El 1L en Q de (15"N , derecha) permite el paso de la señal de la salida QC del contador (15L) a la entra da 1G del decodificador (16L) y el complemento de esta se nal a 2G del mismo decodificador. El OL en la entrada LOAD del contador (1SL) carga el valor 4b, el cual, conjuntamente con los AND selecciona las salidas 2YO ,2Y1 , 2Y2 , 2Y3 (15L) del decodificador (16L) y estando las entradas A y B del mismo en OL, coló ca un OL en la salida 2YO.( , Las salidas 2YO, 2Y1, 2Y2, 2Y3 están conectadas, a través de resistencias, a los catados de los LEOS de los puntos decimales de los indicadores de direcciones, corres pendiendo 2YO al mas significativo, también están conecta dos a los OR (18M). Los puntos decimales, al igual que en el caso de los datos, indican el dígito a escribirse. Los OR (18M) cumplan una función similar a los OR (18L) en cuanto permiten el paso de la señal DA, proveniente 35 del OR (13L), si su otra entrada está en OL, al retenedor respectivo. En este caso, los retenedores son los conta- dores (7K), (7K), (8K), (9K) que componen los 16 bits para direcciónar las localidades de memoria. • Al introducir la dirección de la localidad de memoria que se quiere leer, el OL en la salida 2YO del decodificador (16L) se va desplazando hacia 2Y3 cargando al mismo tiempo cada dígito en el retenedor respectivo, hasta que llega a 2Y3 . contador (contador) En este momento, el (15L) tiene en sus salidas el valor 7b y hasta ahora los AND (15L) no han variado, sin embargo , al intro- ducir otro carácter hexadecimal, las salidas del contador cambian al valor 8b y esto coloca un OL, a través del AND (15L, inferior) en la entrada 1G y un OL en la entrada 2G del decodificador (16L) seleccionando así las salidas 1YO, 1Y1, 1Y2, 1Y3 y colocando un OL en 1YO. transmite a través del OR y los AND Este OL se (15M) a la entrada de borrado del biestable (15N, izquierda); el OL en su entra da PR todavía está presente, de manera que estas dos seña les, en conjunto, colocan tanto a la salida Q como Q en 1L. Este 1L en Q realiza la misma función descrita en el numeral 2.7-4.a. , mientras que el 1L en Q permite aún el paso de la señal de la salida QB del contador (15L), a través del AND respectivo, a la entrada B del decodificador (16L). En este punto, cabe la explicación de la función de retroceso de la señal que indica el siguiente dígito a 36 escribirse. dor Al presionar la tecla SHIFT, el decodifica- (8L) coloca su salida 1YO en OL, el cual se transmite a la entrada CD del contador (15L) decrementando a éste. Esto tiene como efecto que el OL a la salida seleccionada del decodificador (16L) pasa a la salida anteriormente s_e leccionada, y esto a su vez tiene como efecto que los LED que indican el siguiente dígito a escribirse, se apagan y se encienden los del dígito aunteriormente escrito. Con esto se ve la necesidad de aplicar una señal de bo- rrado y PR simultáneamente, en el biestable (15N, izquier; da) para el CHSo anterior. Al presionar SHIFT una vez que el Olf pasó de la salida 2Y3 a la salida 1YO en el decodificador (16L) , dicho OL regresará a 2Y3 y las salidas Q y Q del biestable (15N , izquierda) serán 1L y OL, respectivamente y el sistema estará nuevamente en el modo de lectura de una localidad de memoria. Si, por el contrario, una vez pasado el OL de la salida 2Y3 a la salida 1YO se presiona un carácter hexadecimal, el OL, que pasa a la salida 1Y1 es una señal de bo rrado para el biestable (15N, izquierda) , el cual quita el OL de la entrada PR de (15N, izquierda) permitiendo que sea la entrada de borrado, CLR, la que tome control y mantenga borrado al biestable y el sistema queda fijado para el modo de ingreso de datos excepto por una señal: la proveniente del biestable (16N, izquierda), que fue borrado al presionar la tecla H y no ha sido alterado desde entonces. Esta señal, como ya se ha explicado , permite o (y, en este caso) impide el paso, mediante el 37 OR (12K), de la señal de incremento para los contadores que forman los 16 bits para direccionar las localidades de memoria, como también la señal de escritura de memoria mediante el OR (17E) y los inversores (17E). De esta manera, al seguir tratando de introducir caracteres, hexadecimales, no pasará nada: no variará la dirección de localidad introducida ni se alterará el contenido de dicha localidad aunque sí variarán los datos en los retenedores de éstos. Para poder alterar el contenido de la localidad de memoria es necesario presionar WR PGM nuevamente, y con ésto el sistema se comportará como ya fue descrito para dicho caso. Con el sistema en el modo de programación después de haber presionado WR PGM, H, o haber introducido datos, se puede leer localidades sucesivas de memoria hacia arriba ( incremento de dirección) o hacia abajo (decremento de dirección) presionando las teclas RD PGM! a RD PGMi, respectivamente. Al presionar el primero, el decodificador (15J) coloca su salida 3 en OL, el cual se transmite , a través del AND (12K) , a la entrada CU del contador (9K) incrementando la cadena y por ende la dirección mostrada al momento.. La tecla RD PGMI por su parte, activa la salida 2 del decodificador (1SJ) y esta señal se conecta directamente a la entrada CD del contador mencionado, decrementando la dirección. sucesivas de estas teclas Presiones incrementarán o decrementaran según sea el caso, la dirección que aparece en los indi- cadores respectivos. La acción de estas dos teclas es independiente de cualquier otra función, excepto durante la señal aut£ mática de RESET (POR). 2.7-5. SELECCIÓN DE LOS uPs. Una vez introducido el programa del usuario. se procede a la selección del UP con el que se va a trabajar, esto se logra simplemente presionando la tecla correspondiente al.uP deseado, lo cual coloca un OL en una de las 4 últimas salidas del decodificador (15J). Estas salidas están conectadas al AND de 4 entradas (11G) y a las entradas D de los biestables (10H) y (11H) corres- pondiendo los de (IIH) a las salidas más vas. significati- El AND de 4 entradas (11G) , a través del inversor (11G) produce un pulso de borrado para el circuito de Transferencia de Datos mencionado anteriormente y este mismo pulso, a través del otro AND (11G), cuya otra entrada es la señal proveniente de la salida Q del bies- table (14L), pin 9, generación de la señal DA para el teclado (12J)), genera una señal de habilitación para el biestable (8G) y de reloj para los biestables (10H) y (11H). -Al cargarse estos biestales, solo uno de ellos tendrá a su entrada D el OL que corresponde al uP que se quiere seleccionar, el resto tendrá obviamente un 1L; ésto implica que la salida Q de estos biestables, que es la que se utiliza en este circuito, estará en OL luego 39 del pulso de carga y deberá permanecer en OL hasta que se presione la tecla del uP correspondiente. Esto obliga a que después de un encender el sistema, es decir después de la señal automática de RESET (POR) las salidas Q de los biestables (10H) y (11H) estén en OL, lo cual se logra aplicando la señal POR a las entradas PR de estos biestables. La aplicación de esta señal, proveniente del tem- porizador 555 (41) a través del inversor (51), es a través del AND (10M), cuya otra entrada proviene de la señal WR PGM, la cual causa el mismo efecto que POR, para este caso. Al habilitarse el biestable (8G) , con el mis- mo pulso de carga de (10H) y (11H) , éste genera, en conjunto con: el contador doble 74393 (9H), el AND (9H) y el inversor (8H), el biestable (9G), un solo pulso ha- cia OL en la salida Q del biestable (9H) , que produce , a través del AND (8G), cuya otra entrada es la señal POR'WR PGM del AND (10M), un pulso de borrado en el bie£ table (9G) y el retenedor (10F); el biestable (9G) genera el pulso de reloj para el retenedor que cargará los datos en las salidas Q de (10H) y (11H) a través de•su salida Q y la señal de encendido/apagado a través de ~Q para los indicadores de direcciones. La señal de sincro- nismo del circuito que genera el pulso hacia OL en la salida Q del biestable (9H) es un tren de pulsos prove- niente de la salida CLK (OUT) del uP 8085A a través del AND (IB) que sirve de buffer para esta salida, y que llega a la entrada de reloj del biestable (8G). trada D del biestable La en- (9G) proviene del AND de cuatro entradas (3G), el cual genera un 1L siempre y cuando 40 los uPs hayan generado una señal, un 1L, de reconocimiento de al-ta impedancia y por lo tanto se pueda proceder a la selección de uno de ellos. Mas adelante se explica- ra esto mas detenidamente. Hecho estas descripciones individuales se puede visualizar mejor el funcionamiento del circuito: se pre- siona la tecla correspondiente a un uP, se carga un OL en el biestable respectivo (10H •—• 11H) , se produce un pul- so de borrado en el retenedor (10F) y luego un pulso de carga en el mismo que se carga con los datos provenientes de los biestables (10H) y (11H). Las salidas del retenedor manejan las entradas de control de alta impedancia- de los uPs. Para el S80, la señal de control de alta impedancia proviene de la salida Q2 colector abierto a través del inversor de (6E), de esta manera se puede contro- lar el estado de alta impedancia, medio de algún circuito periférico si sé necesita, por externo al sistema como por ejemplo un controlador de DMA y conectando la señal de control respectiva directamente a la entrada BUSRQ en el Z80. Cabe anotar que esta señal externa de- be provenier de una compuerta o salida de colector abier to . Para el 6800 la señal de control de alta impedancia proviene de la s.alida Q3 del retenedor y es conec tada a la entrada D del biestable (9F)7 cuya entrada de 41 reloj está comandada por la salida MEM CLK, a través del inversor (4H), del circuito generador de las fases 01 y 02 para el uP . Esto es necesario ya que la aplicación d-e la señal HALT al uP debe cumplir una cierta condición de sincronismo, y esto se logra mediante el circuito descrito. La salida Q del biestable se conecta a entrada HALT del 6800 la a través del inversor de colector abierto (8F) que cumple la misma función que el inversor (6E) en el caso del Z80. Para el 8085A, la salida del retenedor (10P) que controla la alta impedancia es Ql y se aplica a la entra da HOLD a través de los inversores (1A, derecha) y (IB) . La señal de control externa debe aplicarse a la entrada del inversor de colector abierto (1A, izquierda), abrien do previamente ES1(8)(1A) . Esta secuencia, de borra.do del retenedor (10F) y luego la carga del mismo con nueva información, es necesaria debido a la demora que puede haber en la puesta en alta impedancia de un uP y la activación inmediata de otro, lo cual puede llevar a que en determinado tante estén ambos activos, produciéndose contención en los buses de éstos. tifica la secuencia descrita: ins- un estado de De esta manera se jus- colocar todos los uPs en alta impedancia monitorear las señales de reconocimiento del alta impedancia, y una vez que todos han respondido, entonces proceder a cargar el retenedor (10P) con la nueva información para seleccionar el nuevo uP con 42 el que se va a trabajar. De esto se deduce la importan- cia del AND (3G) cuya salida está conectada a la entrada D del biestable (9G). 2.7-6. CONTROL DE TRANSFERENCIA DE DATOS BAJO COMAN DO DE LOS uPs. Como se menciono en el numeral anterior, al seleccionar uno de los uPs se produce un pulso de borrado para el circuito de transferencia de Datos, lo cual inicializa al circuito para poder ser utilizado adecuadamert te cuando el programa monitor lo requiera. Mientras está activado uno de los uPs los indicadores de direcciones están apagados, mientras que los correspondientes a los dígitos mas significativos de los datos se encienden o apagan bajo control del monitor. Al requerir el monitor datos desde el teclado se genera un pulso en la salida 1 del decodificador (13H), el cual es una señal de borrado para el contador (15L) a través del AND de 3 entradas (15K), y una señal de reloj para los biestables (17N) y (15N, izquierda); este biestable cumple la misma función que fue explicada en el numeral 2.7-4.a: permite el paso de la señal QB del contador (15L), a través del AND (15L, superior), a la entrada B del decodificador (16L) y selecciona las palabras 1 y 2 en los multiplexers (17L, izquierda) y (17L, derecha) , respectivamente. El biestable (17N) genera un OL en su salida Q, que está conectada a las 43 entradas de control de encendido, BLK, de los indicadores de los dos dígitos mas significativos de los datos, encejí diendo a éstos. Con el circuito de transferencia de datos fijado de esta manera, están encendidos los LEDS de los puntos decimale-s del dígito -mas significativo de los datos , indicando que este es el que se va a escribir, esto implica un OL en la salida QD del multiplexer (17L, derecha) ;es- te OL se desplaza hacia QA del mismo multiplexer a medida que se introducen los datos, y por lo tanto, también los pulsos que aparecen a las salidas de los OR (18L) correspondientes se desplazan en el mismo sentido. La sa- lida de cada uno de estos OR está conectada a tres compuertas AND, una de colector abierto, una cuya salida esta conectada a un inversor, y otra sola. Los AND conec- tados a los OR correspondientes a las salidas QA y QB del' multiplexer (17L, derecha) funcionan de la manera que fue descrita en el numeral 2.7-4.b. excepto los de colector abierto; esto se debía a cjue el biestable (16N , derecha) tenía su salida Q en 1L, que a través de los inversores (19K) colocaban un OL a la salida de estos AND. En es- ta ocasión el biestable está borrado y por tanto su salida Q está en OL de manera que los inversores colocan un 1L a su salida, habilitando a los AND en cuestión. cuatro AND de colector abierto Los (19L) y (20L) controlan las entradas de retención (LSI) de los indicadores de dígitos, estando el que corresponde a la salida QD del multiplexer (17L, derecha) conectado al indicador del 44 dígito mas significativo. En cuanto a los dos AND res- tantes , el funcionamiento de uno de ellos ya fue explicado y es el que controla la carga de información en el buffer (101); el otro realiza una función similar pero con el buffer { 111) y las señales provienen de los OR conectados a las salidas QC y QD del multiplexer (17L, derecha) . El programa de monitor requiere, en ocasiones, no solo de datos provenientes del teclado, sino también transferir datos al usuario, 4 indicadores de datos. y para ésto utiliza los Si son necesarios dos bytes de información, el monitor, tal como en el caso anterior, genera un pulso de reloj para el biestable (17N) a través de la salida 1 del decodificador (13H) > para el encendido de los indicadores correspondientes a los dosdígitos más significativos de los datos; luego procede a escribir la información , en los cuatro indicadores, lo cual se logra escribiendo dos dígitos (1 byte) a la vez . Los pulsos de escritura, o mejor dicho, de retención para los indicadores porvienen del codificador C13H) , salidas 4 y 5 correspondiendo la salida 4 al byte más significativo ( los dos dígitos más significativos). Esta señal está conectada a los dos AND de colec- tor abierto (20L) que corresponden a los OR conectados a las salidas QC y QD del multiplexer (17L, derecha); mientras que la señal proveniente de la salida 5 del 45 decodificador está conectada a los otros dos AND de cole£ tor abierto (19L) y (20L). De manera que mediante estos AND el uP controla la retención de información en los iri dicadores. Estas dos señales (salidas 4 y 5 del decodi- ficador), mediante el AND (19M) generan un pulso de habilitación para el buffer (66H) , tal como se explica en el numeral 2.6-3. En caso de que solo se requiera la escritura de 1 byte ( el menos significativo), no es necesario en- cender los dos indicadores mas significativos y se puede proceder directamente a la escritura del byte en cues tion . 2.7-7 . CONTROL DE INICIALIZACION (RESET) . Existen tres tipos de señales de RESET: RESET automático (POR), RESET desde el teclado, y RESET de selección inicial de uP . La señal POR se produce luego de conectarse el equipo .o de una perdida momentánea o total del voltaje de la línea, y proviene del circuito formado por el compara dor (31) , y el temporizador 555 (41) . En el caso de pérdida momentánea o total del voltaje de línea, si comparador detecta la baja en la señal de 5V y produce una señal de disparo para el 555, el cual actúa como un monoestable y da un pulso a 1L a 46 su salida, ésta es la señal de POR, obteniéndose POR mediante el inversor (51). Para el caso de encendido del sistema, el comparador mantiene disparado al 555 hasta que la fuente (+5V) haya llegado a un valor apto para el funcionamiento de los circuitos del sistema. El pulso generado por el 555 es de aproximadamente dos segundos. Esta situación de POR puede ser generada manualmente mediante SW2 (31), localizado en el panel frontal La señal proveniente del 555 inicializa totalmente el sistema y coloca a los uPs en estado de alta impedancia mediante el circuito de selección de los uPs. uPs La señal-POR llega a las entradas de RESET de los a través de los AND de colector -abierto (9E) . La señal de RESET de selección inicial se refiere solo a los uPa y - s e aplica solamente la primera vez que se selecciona un uP después de un POR o WR PGM. Es- to se hace para asegurar que los uPs empezarán a ejecutar los monitores a partir de las localidades de memoria a las que deben dirigirse después de la aplicación de un RESET. Esto se logra con el circuito formado por los AND (II), el retenedor rables (21) y (3J). (II) y los monoestables redispa- Las salidas de los NAND están conec 47 tadas a las entradas ID, 2D y 3D del retenedor y cada uno corresponde a un uP, estando sus entradas conectadas por un lado, a la señal de reconocimiento del estado de alta impedancia del uP respectivo, y por otro a la salida Q correspondiente a la entrada a la cual están conectados. La entrada de reloj del retenedor es el tren de pulsos proveniente de CLK (OUT) del 8085A debidamente buferado por el AND ( IB, superior) que carga al retenedor constantemente con el valor presente en sus entradas. Después de un POR o WR PGM, las señales de reconocimiento de alta impedancia de los uPs están en 1L al igual que las salidas Q del retenedor, lo cual coloca un OL en las entradas D, y que es cargado constantemente en dicho retenedor manteniendo el 1L en Q. Al seleccionar un uP , su señal de reconocimiento de alta impedancia se coloca en OL lo cual cambia la salida del NAND respecti- vo a 1L, el cual a su vez se carga en el retenedor y aparece en la salida Q respectiva como un OL que se realimen ta a la entrada del NAND manteniendo su salida en 1L independientemente de cualquier variación, en adelante, de la señal de reconocimiento de alta impedancia del uP en cuestión-. Estas salidas Q se conectan a las entradas A de los monoestables mientras que las entradas B están conectadas a la señal RESET CPU proveniente del teclado y que al estar desactivada está en 1L. B en 1L, al cambiar Con la entrada a OL la entrada A, la transición produce un pulso a la salida del monoestable, pulso que se transmite a la entrada de RESET del uP respectivo 48 a través del OR y AND (9E) respectivo. Los OR (9E) per- miten el paso de la señal de RESET solo al uP seleccion_a do, esto se debe a que el RESET desde el teclado dispara a todos los monoestables simultáneamente. Esta señal, correspondiente a la tecla RESET CPU, proviene de la salida 4 del decodificador (15J), y como ya fue mencionado, está conectada a las entradas B de los monoestables. Al aplicarse esta señal, se disparará el mono-estable cuya entrada A esté en OL generando el pulso de RESET respectivo. Inicialmente podría pensarse que los OR (9E) están demás, por lo que se acaba de men cionar al respecto del disparo en B y OL en A, y e.sto es cierto si solo se selecciona un uP durante el funcio namiento del sistema; pero en el caso más general, se puede seleccionar todos sucesivamente, lo cual terminaría en todas las entradas A de los monoestables en OL y por tanto se dispararían todos con la señal en B, y es por e'so que se necesitan dichos OR para permitir el paso de la señal de RESET, desde el teclado, solo al uP seleccionado . Las señales POR y RESET desde el teclado (RST) se conectan al exterior del sistema mediante el AND (5J) , cuya salida se define como POR/RST. El complemen to de esta señal POR/RST también esta conectada al exterior- del sistema, mediante el inversor 2.8. P R O G R A M A D O R DE EPROMS. (5J). 49 Este circuito programa los EPROMS 2716 y las dos versiones del 2758, es decir el que debe tener el bit más significativo de las direcciones en OL y el que debe tenerlo en 1L. La programación se la hace a través del circuito progr-amable de interfase de periféricos, PPI, 8255 (27C); la señal de selección se obtiene del decodificador (13H) cuyas salidas 8,9,10,11, se conectan al NAND (13H) y a tr_a ves del inversor (13H) habilitan o deshabilitan al PPI mediante su entrada CS . Esta señal, conjuntamente con las de RD , WR, A0 y Al, controlan todo el funcionamiento del circuito; A0 y Al se conectan a sus respectivos del bus de direcciones. Las entradas D0 —• D7 se conectan al bus de datos del sistema para recibir palabras de control y datos de los uPs, y transmitir datos a éstos. Los datos hacia y desde la EPROM pasan por las salidas PB0—' PB7 y las direcciones por las salidas PA0 ^PA7 y PC0--PC2 . La salida PC3 genera los pulsos de programación para la EPROM o se mantiene en OL para su lectura. La salida PC4 carga un Oí en la salida Q del biestable (26C) para la lectura de la EPROM o no ejecuta ninguna acción y mantiene a Q en 1L para la programación de la EPROM. El LED controlado por la salida Q al encenderse indica lectura de la EPROM. 50 La salida PC5 , al cargar un 1L en la salida Q del biestable (26D) y mediante el circuito' analógico del diagrama, coloca 25V en la entrada VPP del EPROM habilitánd£ lo para la programación. Por otro lado, con un OL' en la salida Q, mediante el mismo circuito analógico del diagr_a ma, Vpp está a 5V. La salida PC6 e s - u n a señal de RESET generada por el monitor para el circuito de programación y conjuntamente con la señal de POR, a través de los NAND (27C) inicializa este sistema. El NAND (28D) invierte la señal POR para aplicarla al PPI. 2'. 9. FUENTES DE PODER Para las fuentes de poder se tenía disponible un transformador con un primario para 110V y dos secundarios, uno de ellos entrega aproximadamente 45V y el otro aproximadamente 13V, ésto sincarga. El secundario que entrega 13V es utilizado para alimentar los reguladores de 5V del sistema. Previamente, este voltaje es rectificado por el puente de dio,dos PDA 980-1 (21G) y luego filtrado por un capacito.r de 22000uF(22G). El secundario que entrega 45V se utiliza para generar los voltajes necesarios para el programador de EPROMS. Este voltaje es rectificado por el puente de diodos TCG168 (22E) y luego filtrado por un capacitor de lOOOuF (23E) . El voltaje DC obtenido es alimentado a 51 un circuito (21B, 22B) que realiza la función de un dio.do zener y baja el voltaje a 32v que luego es alimentado al regulador de 24v (21C), el cual, debido a los dos diodos conectados en serie con su terminal de tierra, genera los 25V que necesitan las EPROMS para su programación. De estos 25V también se obtienen los 5V necesarios para la polarización del EPROM a programarse. El transistor (22C) baja los 35v a 14v para ser alimentados al regulador de 5v (23D) , el cual, debido al diodo en serie con su terminal de tierra, genera 5.6 v, voltaje que es. alimentado al terminal de Vcc del EPROM a través del diodo D4 (24C) y el circuito analógico (24D, 25D), que alimenta al terminal de programación, Vpp, del EPROM. Debido a que los reguladores de 24V son fijados a cualquier voltaje entre 23V y 25V, el dio.do D5 (25C) puede ser reemplazado por una conexión directa, si, al cambiar el regulador existente, el regulador nuevo entrega nuevos de 24v. 52 2.10. DISEÑO DEL SOFTWARE. 2.10-1. DIAGRAMAS DE FLUJO RUTINA DE ERROR QUITAR INDICADORES CONTADOR 1 = FFH CONTADOR 2 = 30H DECREMENTAR CONTADOR 2 DECREMENTAR CONTADOR 1 COMPLEMENTAR INDICADOR DE ERROR 53 SELECCIÓN DE RUTINA GUARDAR REGISTROS NECESARIOS QUITAR INDICADOR DE "RESET" INFORMACIÓN DESDE TECLADO LOCALIZAR DIRECCIÓN DE RUTINA REESTABLECER REGISTROS SALTAR A RUTINA LOCALIZADA SALTAR A RUTINA DE SERVICIO DE USUARIO 54 RUTINA DE INSERCIÓN DE BREAK.- DE BREAKS INSERTADOS ESPERAR LOCALIDAD DEL BREAK GUARDAR LOCALIDAD DEL BREAK Y OPCODE CORRESPONDIENTE INSERTAR INSTRUCCIÓN DE BREAK ACTUALIZAR CONTROL DE BREAKS INCREMENTAR CONTADOR DE BREAKS SALTAR A RUTINA DE "ESCAPE" SALTAR A RUTINA DE "ERROR" 55 R U T I N A DE C A R G A DE DATOS D E S D E EL T E C L A D O . LEER Y GUARDAR EL BYTE MAS SIGNIFICATIVO LEER EL BYTE MENOS SIGNIFICATIVO EJECUTAR RETORNO 56 RUTINA DE REMOCIÓN DE BREAK DE BREAKS INSERTADOS =00H ESPERAR LOCALIDAD DEL BREAK LOCALIZAR LA INSTRUCCIÓN CORRESPONDIENTE INSERTAR EL OPCODE EN LA LOCALIDAD LEÍDA ACTUALIZAR CONTROL DE BREAKS DECREMENTAR CONTADOR DE BREAKS SALTAR A RUTINA DE "ESCAPE" SALTAR A RUTINA DE "ERROR" 57 R U T I N A DE GO si REINSERTAR EL OPCODE REINSERTAR EL OPCODE ESPERAR DIRECCIÓN • ACTUALIZAR CONTROI DE BREAKS TERMINAR DECREMENTAR CON- SS TADOR DE BREAKS CORRER DESDE LA DIRECCIÓN INTRODUCIDA R U T I N A DE CAMBIO DE C O N T E N I D O DE REGISTROS ENCONTRAR REGISTRO A ALTERAR \t LEER NUEVO DATO GUARDAR DATO DE RAM DE REGISTRO MOSTRAR DATO EN DISPLAY RUTINA DE CHEQUEO DE BREAKS MOSTRAR NUMERO DE BREAKS INSERTADOS ENCONTRAR BREAK MOSTRADO \ S! MOSTRAR SIGUIENTE BREAK RUTINA DE MNU ESPERAR CÓDIGO DE SELECCIÓN LOCALIZAR DIRECCIÓN DE RUTINA SALTAR A RUTINA LOCALIZADA 59 RUTINA DE ROTAR REGISTROS (DERECHA) REGISTRO SELECCIONADO ENCONTRAR REGISTRO ENCONTRAR SIGUIEN TE REGISTRO HACIA LA DERECHA , MOSTRAR CONTENIDO DE NUEVO REGISTRO ACTUALIZAR STATUS DE MONITOR RUTINA DE ROTAR REGISTROS (IZQUIERDA) REGISTRO SELECCIONADO ENCONTRAR REGISTRO ENCONTRAR SIGUIEN TE REGISTRO HACI7Í LA IZQUIERDA MOSTRAR CONTENIDO DE NUEVO REGISTRO ACTUALIZAR STATUS DE MONITOR SELECCIONAR PC 60 RUTINA DE SS REINSERTAR OPCODE ESPERAR DIRECCIÓN REINSERTAR OPCODE ACTUALIZAR CONTROL DE BREAKS ENCONTRAR SIGUIEN TE INSTRUCCIÓN "" DECREMENTAR CONTA. DOR DE BREAKS GUARDAR OPCODE E INSERTAR SS BREAK CARGAR REGISTROS EJECUTAR DESDE INSTRUCCIÓN ANTERIOR . 2.10.2. PROGRAMAS Los listados de los programas se encuentran en los Apéndices. 61 III . 3.1. OPERACIÓN DEL SISTEMA DESCRIPCIÓN DEL PANEL 3.1-1. DESCRIPCIÓN DE LOS TECLADOS Se puede considerar aquí que uno de los teclados está dedicado a la introducción de los caracteres hexadecimales, mientras que el otro se encarga del control del sistema. El primero ( el de la izquierda en el pa- nel) tiene en realidad 16 teclas para caracteres hexadecimales y 3 que pertenecen al grupo de control. La fun ción de cada una de las 22 teclas de control se describe, en forma general, a continuación. Z80 , 8085A, 6800, EXTRA.- Al presionar una de estas teclas se selecciona el uP a utilizarse. EXTRA se refiere a un uP externo al sistema. BREAK_INSERT.- Inicia la rutina'de inserción de un BREAK en el programa del usuario. Pueden insertarse un máximo de 8. BREAK REMOVE.- Inicia la rutina para remover un BREAK del pro- grama del usuario. BREAK CHECK.- Indica cuantos BREAKS se han insertado en el pro grama del usuario y en qué localidades se encuentran. La 62 función de esta tecla es cíclica, es decir , una vez que por presiones sucesivas de la tecla, se ha mostrado la localidad del último BREAK. insertado, indica nuevamente el número de BRE&KS insertados, procediendo luego a mostrar las localidades de los BREAKS y así sucesivamente. ARS . - Esta tecla funciona solamente cuando está selec cionado el Z80 y muestra el contenido del par de registros que tienen registros primos, es decir: AF, BC, DE y HL. En caso de ser presionado luego de seleccionar cualquier otro registo o si se está trabajando con otro uP, da indicación de error. La función de esta tecla es cíclica, es decir, presiones sucesivas de ella mostrarán, alternadamente , el contenido del par de registros primo del seleccionado, y el contenido de éste. MNU.~ En el caso del Z80 esta tecla realiza mas de una función. Selecciona las funciones pertinentes a la lec- tura- programación de una E P R O M , lectura-escritura de una localidad de RAM, y cálculo del OFFSET para saltos relativos - En elcaso de los otros uPs, inicia la rutina de lectura-escritura de una localidad de RAM. 63 REG. STR.- Cambia el contenido del registro seleccionado por el dato introducido a los indicadores de datos. REG, REG Estas teclas se usan para seleccionar (encender) uno de los 16 LEOS (excepto RST , BRK, ERR, SS) que indican el STATUS del MONITOR. El movimiento de encendido del LED seleccionado es hacia la izquierda o derecha, de acuer do al sentido que indica la fecha. No todos los LEOS de status del panel pueden ser seleccionados para un uP dado; así con el Z80 se pueden seleccionar: PC, SP , ARS, AF, BC , DE, HL, IX, IY, IR; con el 8085A se pueden seleccionar: PC, SP, AF, BC, DE, HL,IR; con 6800 se pueden seleccionar; PC, SP, CCR, AB, IX. • El significado 'de estos registros ss, para cada uP, el siguiente: Z80 PC : Contador de programa SP : Stack pointer ARS : Selección de contenido de registros alternos(primos' AF : Acumulador y registro de banderas BC : Par de registros BC DE : Par de registros DE HL : Par de registros HL IX : Registro índice X IY : Registro índice Y. IR : Registro de interrupción 64 8085A PC : Contador de programa SP : Stack poÍnter AF : Acumulador- y registro de banderas BC : Par de registros BC. DE : Par de registros DE HL : Par de registros HL IR : Registro de interrupciones PC : Contador de programa SP : Stack pointer CCR : Registro de banderas ( Condition Code Register) AB : Acumuladores A y B IX : Registro índice 6800 La función de 'estas dos teclas es cíclica, es de cir, una vez seleccionado el último LED, vuelve a seleccionarse el primero y viceversa. WR PGM.- Coloca al sistema en el modo de programación. ESCAPE.- Produce un salto a la rutina del mismo nombre, rutina que permite volver al control del monitor manteniendo todavía datos intermedios como por ejemplo indica ción de status y numero de BREAKS insertados. 65 - GO. - Inicia la rutina que permite ejecutar un programa del usuario. - . RD. PGMt , RD PGM4 .- Estas teclas son utilizadas so'lo cuando el si_s tema está en el modo de programación, e incrementan o decrementan en una unidad la dirección mostrada en los indicadores de direcciones, leyéndose el contenido de d_i cha localidad en los indicadores de datos. RESET CPU.- Produce un RESET solo en el uP seleccionado. ss. Inicia la rutina de ejecución del programa del usuario paso a paso. H. Se utiliza cuando el sistema está en el modo de programación. Coloca á los indicadores de dígito en el .i dígito más significativo de los indicadores de direcciones; esto indica que se debe ingresar la dirección de la localidad de memoria que se quiera leer. L. - .Inicia la rutina por medio del cual el uP seleccionado lee datos -provenientes del teclado. SHIFT.Mueve los indicadores de dígito un dígito hacia 66 la izquierda. De esta manera se puede corregir un ca- rácter antes de que el dato sea ingresado al sistema. 3.1-2. INDICADORES 3.1-2.a. DE STATUS. INDICADORES DE STATUS DEL MONITOR Visualizan las diversas actividades que ejecuta el programa monitor. El significado del encendido de cada L E D e s el siguíente: RST: El monitor ha ejecutado la rutina de RESET. BRK: El programa del usuario ha encontrado y ejecutado un BREAK. ERR: Se ha tratado de ejecutar una función no permitida. SS: El monitor esta ejecutando el programa del usuario paso a paso. PC..IR: El significado de estos indicadores fue explicado en el numeral anterior al describir el fun cionamiento de las teclas REG, REG. 3.2-2.b. INDICADORES DE STATUS DE LOS üí s . - Mediante estos indicadores se puede visualizar el estado de las entradas de los uPs que controlan el estado de alta impedancia de éstos, así como también el de sus salidas de respuesta a este estado de alta impedancia . En el caso del 380 se tiene también una indica- 67 clon de cuando el uP ha ejecutado la instrucción HALT. 3.1-2.C. INDICADORES DE PROGRAMACIÓN DE EPROMS. Estos indican si la EPROM insertada en el zócalo de zero-fuerza de inserción está siendo programada (PROG) o leída ( RD). Una EPROM puede ser insertada o retirada del zócalo solo cuando ambos indicadores están apagados, lo cual indica que no hay ninguna actividad que incluya a dicha EPROM. 3.2. ENCENDIDO, POR Y REUBICACION DE MEMORIA. El encendido del sistema es controlado por el interruptor dentro del marco denominado POWER. El LED dentro del mismo marco indica si el sistema está o no energizado. En el marco denominado POR, el LED indica que el sistema está siendo sometido a una señal de RESET general Esta señal se genera automáticamente al encender o apagar al sistema y puede también ser activada mediante el interruptor pulsante dentro del mismo marco. El interruptor dentro del marco MEM sirve para reubicar la memoria del sistema. Al estar hacia abajo, la EPROM (que contiene al monitor) y la RAM están en las localidades indicadas en la parte inferior del marco. 68 De esta manera, se pueden correr programas del usuario (sin control del monitor) desde las localidades de donde se lee la primera instrucción después de un RESET , generalmente 0000H o FFFEH. 3.3. PROCESOS DE OPERACIÓN 3.3-1. INTRODUCCIÓN DEL PROGRAMA DEL USUARIO. Al encender el sistema, el LED que indica POR se encenderá por aproximadamente 2 segundos y luego se apagará indicado que el sistema puede ser operado. Al mismo tiempo, aparecerá en los indicadores de direcciones FPPPH y en los indicadores de datos un valor cualquie ra. El interruptor MEM debe estar hacia abajo. Luego de esto, y antes de realizar cualquier proceso, es necesario presionar WR PGM, lo cual mostra rá en los indicadores de direcciones 0000H y en los de datos 3EH. Esto corresponde a la primera localidad de memoria y su contenido. Mientras se está en el modo de pr-ogramacion los dos dígitos mas significativos de los indicadores de datos permanecen apagados. En este punto se pueden hacer dos cosas: Se- leccionar uno de los uPs y entrar al comando del monitor o introducir un programa del usuario . Al realizar lo primero se tiene que el monitor funciona pero no exis te un programa sobre el cual pueda actuar, de ahí que 69 esta primera acción no tiene ningún sentido. Para introducir un programa del usuario es necesario escoger un área de RAM destinada para este propósito, y la primera localidad disponible es 1126H y va hasta 1BFFH; otra área va de 2000H hasta 23FFH. Para esta explicación se usará como primera localidad para el programa de prueba 1200H. Presionando H, los indicadores de dígito a introducirse pasarán a indicar el dígito más significativo de los indicadores de direcciones, de manera que ahora se puede introducir la dirección deseada, es decir, 1200H. Se observará que con la introducción de cada carácter, los indicadores de dígito se mueven una posición hacia la derecha indicando el siguiente dígito a escribirse. Al introducirse cada carácter de la dirección, aparecerá en los indicadores de datos el contenido de la nueva localidad; así, en el caso de este proceso, la dirección inicial era 0000H y mostraba el contenido 3E,H, al introducir el primer carácter de 1200H aparecerá el contenido de la dirección 1000H y.así sucesivamente hasta completar la dirección. Es posible cambiar cualquier carácter introducido posicionando los indicadores de dígito debajo del carácter deseado,.presionando la tecla SHIFT. Cada presión de esta tecla mueve los indicadores mencionados una posi-" ción hacia la izquierda. en el Si estando dichos indicadores . dígito más significativo de los indicadores de direcciones, se presiona la tecla SHIFT, aquellos pasaran 70 a indicar el dígito menos significativo de los indicadores de datos, y presiones sucesivas de la tecla harán que se desplazen los indicadores de dígito hacia la izquierda y alrededor de los 4 indicadores de datos. Pa- ra volver al procedimiento normal se presiona WR PGM o "H. Volviendo al procedimiento inicial, y asumiendo que se ha introducido ya la dirección 1200H , si se presi_o na cualquier tecla hexadecimal, no pasará nada y se seguirá observando la misma dirección y su contenido. Pa- ra alterar el contenido es necesario presionar WR PGM , evitándose así que se altere accidentalmente dad leída. Luego de haber presionado WR PGM se puede ingresar el programa de prueba deseada. la locali- o alterar la localidad Al introducir el primer dígito se alterará el contenido de dicha localidad y aparecerá el nuevo dígito como el más significativo del par hexadecimal y el segundo dígito variará de acuerdo con el contenido, en ese momento, del buffer de datos respectivo del sistema, además, los indicadores de dígito indicarán el dígito menos significativo. Al introducir el segundo carácter hexadecimal, los indicadores de dígito pasan a indicar el dígito más significativo del par hexadecimal y se incrementa automáticamente el contador de direcciones observándose en los indicadores de estos la localidad siguiente, es decir, para este caso 1201H, y su contenido. Una vez introducido el primer carácter del par 71 hexadecimal, presiones sucesivas de SHIFT harán que los indicadores de dígito oscilen entre los dos caracteres de dicho par. La introducción del programa completo se limita a introducir los datos uno tras de otro , ya que el contador de direcciones/ como se menciono anteriormente, se incrementa automáticamente luego de la introducción del dígito menos significativo. Mientras el sistema este en el modo de programación, e independientemente del uso de las teclas H y SHIFT, las teclas RDPGMt y RD PGM* incrementarán o decrementarán en 1, respectivamente, el contador de direcciones, observándose la nueva localidad, y su contenido en los indicadores respectivos. En cualquier momento durante el proceso anterior, se puede, mediante la tecla H, leer cualquier localidad de memoria, . En general, si por algún motivo se pierde control del sistema, estando ya sea en el modo de programación o bajo control del monitor, presionando WR PGM devolverá el control del sistema ( por HARDWARE) al tecla- do , y en caso extremo, el botón POR reinicializará todo el sistema. Cabe indicar aquí que el encendido de los indi- 72 cadores de direcciones ( que sucede solo en el modo de programación) está sujeto a una respuesta positiva de todos los uPs al estado de alta impedancia; es decir, si uno de ellos no responde, mediante su salida respectiva , a este estado, no se encenderán dichos indicadores, Estas señales, como ya fue explicado, son monitoreadas mediante los LEOS en el marco denominado STATUSuPs en el panel del sistema. Es recomendable familiarizarse bien con el pro- cedimiento explicado hasta aquí antes de proceder a la selección de uno de los uPs y al uso de su monitor. 3.3-2. USO DE LOS MONITORES Una vez entrado el programa del usuario, presio nando la tecla correspondiente a uno de los uPs residentes (Z80, 8085A, 6800) colocará al sistema bajo el con- trol del monitor respectivo. Para la demostración del uso de los monitores se uóítilizará un programa para el Z80 y se explicará detalladamente el uso de su monitor; para el 8085A y el 6800 se resaltarán las diferencias en el funcionamiento de sus respectivos monitores con respecto al del Z80. 3.3-2.a. 280 El procedimiento de ingreso del programa se 73 describirá en secuencia junto con el programa. El pro- grama cargará algunos de los registros del uP con ciertos valores y terminará en un lazo. 1. Presionar POR y esp.erar a que se apague el LED respectivo . 2. Presionar WR PGM 3. Presionar H e ingresar la dirección 1200H 4. Presionar WR PGM 5. Ingresar el programa que se lista a continuación . El listado corresponde al programa luego de haber "sido ensamblado. 1200 3E22 1202 Z80TST LD A , 22H ED47 LD I, A 1204 3E11 LD A , 11H 1206 010201 LD BC ,0102H 1209 110403 LD DE ,0304H 120C 210605 LD HL ,0506H 120F DD210700 LD IX ,0007H 1213 FD210800 LD IY ,0008H 1217 310013 LD SP 121A 00 NOP 121B NOP 121C 121D 6. ,1300H END 18FD NOP JR END Chequear que el programa esté bien: presionar H, ingresar 1200H y verificar, el contenido de esta localidad; presiones sucesivas de RD PGM1- permitirán veri- 74 ficar todo el programa. 7. Presionar la tecla Z80. En este momento deben estar encendidos solamente los dos dígitos menos significativos de los indicadores de datos y debe leerse 00H; en los LEOS de status de los uPs deben estar apagados todos los LEDS correspondientes al 280 (BUSRQ, BUSAK, HALT), y en los LEDS de Status del Monitor debe encenderse solamente RST. Esto indica que el sistema está bajo control del monitor del Z80 y ha ejecutado la rutina RESET. Con el fin de constatar el buen funcionamiento del programa, se puede insertar un BREAK en la localidad 121CH, el cual transferirá el control nuevamente al monitor una vez que el programa de prueba haya alcanzado dicha localidad. Para esto hay que proceder de la siguien_ te manera: 1. Presionar BREAK INSERT. Se observará que los indi- cadores de datos muestran 0000H y los indicadores de dígito están posicionados en el dígito más significativo. RST debe apagarse. 2. Ingresar la dirección para el BREAK, es decir, 121CH 3. Presionar L. Esto hará que el monitor lea la direc- ción que se acaba de ingresar y proceda a la inserción del BREAK. de datos. Debe leerse ECH en los indicadores 75 Para verificar la inserción del BREAK se presiona BREAK CHECK: debe verse en los indicadores de da- tos 01H, lo que indica que hay 1 BREAK insertado. Pre- sionando nuevamente esta tecla mostrará la localidad de este BREAK, en este caso, 121CH. Una nueva presión vol- verá a mostrar 01H , repitiéndose la secuencia. Ahora se está listo para correr el programa y debe precederse de la siguiente manera: 1. Presionar ESCAPE. Debe aparecer ECH en los indica- dores de dato s, 2. Presionar GO. Aparecerá 0000H, tal como en el caso de la inse'rción del BREAK. 3. Ingresar la dirección desde el cual se desea correr el programa, para el caso, 120011. 4. Presionar L. Se observará que en los indicadores de datos se lee 121CH, que es la localidad donde se insertó el BREAK, además estarán encendidos BRK y PC indicando que se ejecutó un BREAK, y en los indicadores de datos aparece la localidad donde se ejecutó. Para ver el contenido de los registros del uP al momento de ejecutarse el BREAK se presiona REG (REG), esto desplazará el LED que indica PC hacia la derecha (izquierda) para indicar el siguiente registro, SP (IR) y su contenido. Asumiendo presiones sucesivas de REG, primero 76 se observará SP , luego AF, etc. Para los pares de regi_s tros AF, BC, DE Y HL. Los dos dígitos más significati- vos de los indicadores de datos muestran el contenido del primer registro y los menos significativos el del segun- do; así para el ejemplo: PAR INDICADORES DE . EQUIVALENCIA REGISTROS DE 'DATOS AF 11XX A =11 F = XX BC 0102 B =01 C = 02 DE 0304 D =03 E = 04 HL 0506 H =05 L = 06 X=Desconoc Para IX, IY, éstos son de 16 bits, luego los cuatro dígitos de los indicadores muestran el contenido del registro seleccionado. Para IR, éste es un registro de 8 bits, por lo tanto deben tornarse en cuenta solo los dígitos más significativas de los indicadores. El procedimiento i anterior puede ser modificado para que una vez que se ejecuta el BREAK, lo que se observe sea cualquiera de los registros del uP. Esto se logra seleccionando el registro deseado mediante REG, REt^ y luego realizando el proceso' a partir del numeral 2 en el proceso anterior. Así, si en el ejemplo se selecciona el par DE y luego se corre el programa, lo que observará en los indicadores de datos es el contenido de este par de re- 77 gistros. Es posible cambiar el contenido de cualquiera de los registros después de la ejecución de un BREAK,simplemente se selecciona el registro deseado, se ingresa el nuevo valor y se presiona REG STR, ésto cargará el nuevo valor en el registro y se puede comprobar seleccionando el par de registros siguiente o anterior y regresando al par cuyo valor se quiso cambiar. Debido a que los registros se muestran en pares, si se desea cambiar el contenido de uno de ellos sin variar el otro, éste deberá ser cargado con el mismo valor, así: Si el contenido de BC muestra 0102H y se desea cambiar C a 34H, se procede a ingresar 0134H y se presio na REG STR. Si por el contrario so quisiera cambiar B, entonces habría que ingresar 34021 i y presionar REG Para visualizar STR. esto, puede insertarse otro BRBAK en la localidad 120FH realizando el proceso ya descrito y también verificar la existencia de los dos BREAKS por medio de BREAK CHECK. SI correr el programa desde 1200H se observará que ejecuta el BREAK 120FH. Ahora se puede proceder al cambio del contenido del registro del ejemplo: 1. Seleccionar BC 2. Ingresar 0134H (cambio del contenido de C) 3. Presionar REG. STR. 4. Seleccionar PC En este punto se corre el programa a partir de la localidad del BREAK ejecutado (120FH) presionando GO e ingresando esta dirección y se observará que el programa para en 121CH, que es la dirección del otro BREAK insertado . Seleccionando BC se puede comprobar que contiene el nuevo valor 0134H. Si se verifica ( con BREAK CHECK) el número de BREAKS insertados, se observará que hay uno solo y está en 121CH, es decir, donde paro el programa. Esto se debe a que al dar el comando de GO a partir de una dirección donde está insertado un BREAK, el monitor reinserta la instrucción del programa correspondiente a dicha localidad y sertados. actualiza el contador de BREAKS in- Si ahora se corre el programa a partir de es- te BREAK, entrará al lazo de NOP del programa; si, por el contrario, se presiona RESET CPU el monitor la rutina de RESET, y la instrucción ejecutará correspondiente a la dirección donde está el BREAK no será reinsertada quedando la instrucción ma. de BREAK (FFH) insertado en el progra- Si se corre el programa nuevamente bajo estas condi- ciones, esta instrucción (FFH) será interpretada como RST 38H y se saltará a la localidad de servicio de esta instrucción (1138H) con la posible destrucción del pro- grama insertado ( de no haber un programa del usuario direccionado en esta localidad). En general, esto su- 79 cederá con todos los BREAKS insertados que no hayan sido removidos mediante GO o BREAK REMOVE. Si se ha seleccionado uno de los pares de registros AF , BC, DE , o HL, es posible ver su par alterno presionando ARS, esto encenderá el LED que indica ARS y significará lo que se observa en los indicadores de datos es el contenido del par de registros alterno del par seleccionado, así, si se ha seleccionado BC y se presiona ARS se observará en los indicadores de datos el contenido de B'C ' . Presiones sucesivas de ARS encejT. derán y apagarán el LED respectivo y se mostrará alternadamente el contenido del par de registros seleccionados y el de sus respectivos alternos. Si se pre- siona ARS habiendo seleccionado algún registro diferen- te a los mencionados, el monitor responderá con una indicación de error. Si se desea remover un BREAK insertado -en el pro grama simplemente se presiona BREAK REMOVE, se ingresa la dirección del BREAK que se quiere remover y se presiona L. Para verificar que efectivamente el BREAK fue removido, se cla MNU. puede utilizar BREAK CHECK o la te- Esta tecla será explicada mas adelante. Es posible ejecutar el programa que se haya ingresado, paso a paso mediante la tecla SS. Igual que en el caso de ejecución de un BREAK, se puede observar el contenido de todos los registros del uP, pero esta 80 vez después de la ejecución de cada instrucción. Pueden darse dos casos en el funcionamiento de esta tecla. Primero, cuando el programa no ha sido co- rrido aún o se ha presionado ESCAPE 5 RESET; en este caso, después de presionar SS el monitor responderá colocando 0000H en los indicadores de datos, indicando que hay que ingresar la dirección desde la cual se desea ejecutar el programa y se enciende el LED correspondiente a SS indicando que esta función está en proceso. Para el programa de ej emplo se ingresa 1200H y se presiona L , apa. reciendo 1202H en los indicadores de datos y encendiéndose PC, lo cual indica que se ejecuto la instrucción en 1200H y que el contenido del contador de programa después de ejecutar esta instrucción es 1202H. (PC) A partir de aquí, presiones sucesivas de la tecla ejecutarán el programa instrucción por instrucción, leyéndose luego de cada presión el contenido del registro seleccionado. El segundo caso en el funcionamiento se refiere al funcionamiento de SS luego de la ejecución de un BREAK. En este caso, presiones sucesivas de SS ejecutarán el programa a partir de la localidad en la que se ejecuto el BREAK t reeinsertando primero la instrucción correspon- diente a dicha localidad y actualizando el contador de BREAKS (disminuyéndolo en 1). De esta manera, se puede correr el programa normalmente hasta un punto determinado por un BREAK, para luego proseguir s.u ejecución paso a paso. 81 Para terminar la función SS se presiona GO y se ingresa la última localidad mostrada en los indicadores de datos, así el programa se ejecutará normalmente a pa_r tir de dicha localidad. Otra manera es utilizando MNU para leer la localidad mostrada y reingresar la instrucción correspondiente. MNU será explicada mas adelante. Como en el caso de BREAK, existen teclas que al ser presionadas terminan la función SS dejando insertada en el programa la instrucción utilizada por él- moni- tor para ejecutar dicha función; estas teclas son: BREAK -INSERT, BREAK REM'OVE , BREAK CHECK, ESCAPE y RESET. La tecla MNU, en el caso del Z8Q, selecciona la lectura-escritura de una localidad de memoria, lecturaprogramación de EPROMS y cálculo de offset para saltos relativos. Al presionar esta tecla aparece en los indicado- res de datos 11H, indicando que se debe ingresar un código hexadecimal para seleccinar la 'función deseada; la correspondencia entre código y función se encuentra en el cuadro denominado MNU en el panel frontal, y a continuación se describen dichas funciones. 00 — R/W MEM. Al ingresar 00H y presionar L el monitor responde colocando 0 0 0 0 H en los indicadores de datos, a continua- 8 o¿. : ció n se ingresa la dirección de la localidad cuyo cont_e nido se desea leer y se presiona L , en seguida aparecerá en.los indicadores de datos dicho contenido. Para alterar este dato, • se ingresa el nuevo dato y se presiona L, aparecerá ECH indicando que se ha ejecutado la alteración y que el monitor esta en la rutina ESCAPE. 03— PGM680 Esta rutina programa las EPROMS 2716 y 2758 0.L) . (AR= Al ingresar 03 y presionar L, el monitor responde colocando 0000H en los indicadores de datos, lo cual significa que se debe ingresar la dirección de memoria del sistema desde la cual se va a grabar en la EPROM insertada en el zócalo del panel. Al ingresar esta lo- calidad y presionar L, aparece 0001H lo que significa que hay que ingresar la dirección de memoria del sistema hasta donde se va a grabar en la EPROM. ta dirección (con L) aparece 0002H, Ingresando es- indicando que ahora se debe ingresar la dirección de la EPROM desde donde se va a grabar la información de la memoria del sistema. Ingresando esta dirección (con L), se encenderá el LED denominado PROG dentro del "marco llamado EPROM en el panel. La última dirección ingresada permanecerá en los indicadores de datos mientras dure la programación, es decir, hasta que se apague el LED PROG. Luego de esto aparecerá ECH indicando el fin de la programación y que el monitor está en la rutina ESCAPE. Si el área de memoria del sistema que se está 83 grabando excede la dirección 2048H de la EPROM, el monitor realizará la grabación hasta esta localidad y luego dará indicación de alarma sin grabar el resto, ésto para evitar el escribir sobre lo que este grabado en 0000H de la EPROM. Dado que el 2758 es solo de 1K x 8 bytes y que utiliza el mismo programa, es posible escribir sobre su contenido si se excede la localidad 1024H sin que se active la alarma. La EPROM puede ser insertada o removida del zócalo en el panel solamente cuando los LEOS del cuadro denominado EPROM estén apagados, .esto tanto para las funciones de programación como de lectura. 0-6 — PGM581 Esta rutina programa la EPROM 2758 SÍ865 (AR-1L). El procedimiento para la programación es idéntico al caso anterior excepto por la alarma que esta vez se activa al excederse la localidad 1024H. i 09—LD680 Esta rutina lee datos desde las EPROMS 2716 y 2758 (AR=0L). El procedimiento para la lectura es simi- lar a los dos casos anteriores pero con una diferencia en las indicaciones del monitor: H ; 1H : Dirección de EPROM desde la cual se va a leer. Dirección de EPROM hasta donde se va a leer. 84 0002H: Dirección de RAM del sistema desde donde se va a cargar la información leída desde la EPROM. Una vez terminada la lectura el monitor coloca ECH en los indicadores de datos. Tal como en el caso de la programación de estas EPROMS, si el área de EPROM excede la localidad 2048H se activa la alarma. Mientras dure la lectura, el LED RD permanece encendido. 0C—LD581 Esta rutina lee datos desde la EPROM 2758 S1865 (AR=-1L) . El procedimiento de lectura es idéntico al caso anterior excepto por la alarma, que se activa si se excede la localidad 1024H. 0F:—OFFSET Esta rutina calcula el OFFSET necesario en las instrucciones de salto relativo. siguiente: El procedimiento es el Se ingresa primero el código 0FH y el moni- tor responde con 0000H en los indicadores de datos, lúe go se ingresa la dirección equivalente a la dirección donde está el salto mas 2, luego se ingresa la dirección a" la cual se desea que se produzca el salto y el monitor responde colocando el offset en los indicadores de datos Si la dirección a la cual se desea saltar está fuera del rango permisible, el monitor da indicación de error. programa no acepta sa.ltos que pasen el límite FFFPH y El 85 0000H, dando en estos casos también indicación de error. 3 . 3-2.b. 8085A El funcionamiento del monitor es igual al del Z80 excepto para las teclas ARS y MNU, y los LEDS de Status del Monitor, que responden de acuerdo a los registros del 8085A. En cuanto a las teclas, al presionarse ARS el monitor da indicación de alarma; y el MNU solo realiza la función de lectura-escritura de una localidad dé memoria (R/W MEM en el caso del 280). Con respecto a los LEDS de Status del Monitor, IR se refiere al registro de interrupciones y dato serial; dado que éste es un registro de 8 bits y se muestran 16 bits en los indicadores de datos, deben tomarse en cuenta solo los dos dígitos más significativos ya que estos corresponden al contenido de este registro. Cabe indicar que la única manera de leer este registro es con la instrucción RIM, la cual copia su contenido al acumulador y además lee un bit de dato serial presente en el terminal SID del uP. Al ejecutarse un BREñK, y con el fin de tener acceso al contenido del registro en cuestión al momento del BREAK, se ejecuta esta instrucción (RIM) en algún momento durante la ru- tina de ejecución del dicho BREAK, y como se mencionó anteriormente, en ese momento se lee el dato del terminal SID, lo cual implica que este bit puede ser erróneo 86 si el ^'dato es una señal variable. 3 . 3-2 . c. 6800 El funcionamiento del monitor es igual al del 280 exceptó para las teclas ARS y MNU, en cuyo caso se comporta igual que para el 8085A. A diferencia de los otros dos uPs, el 6800 permite el encendido de los indicadores de direcciones, y cu a n. d'o esto suscede siempre se lee FFFFH; las teclas con las que ésto ocurre son: BREAK INSERT, BREAK REMOVE, M N U , GO, SS, y se debe a que las rutinas activadas por estas teclas utilizan la instrucción SWI y ésto coloca al uP en estado de alta impedancia, y como los otros uPs también es'tán en alta impedancia, se habilita el acceso a los indicadores de direcciones. 3.4. USO DEL SISTEMA CON CIRCUITOS EXTERNOS n Antes de explicar el uso del sistema con circuitos externos, es necesario determinar la equivalencia entre los p'ines de los conectores externos y las señales del sistema. Estos conectores se encuentran localizados al lado izquierdo del sistema. Existen también, junto a estos conectores una toma de tierra (GND) para un conector tipo "banana" para facilitar la conección de tierra de circuitos externos con el sistema. 87 COWECTOR BC1 CONECTOR CONECTOR CONECTOR EC2 EC3 EC4 (280) ' (6800) 1 - BUS02 (8085A) 1- RESET OU 1 - D0 1 - RFSH 2 - DI 2 - MI *2 - DBE 2 — SOD 3 - D2 3 - IORQ *3 - TSC 3- SID 4 - D3 4 - MREQ 4 - HALT 5 - D4 5 - INT 5 - IRQ *5- RST -7 . 5 6 - D5 6 - NMI 6 - NMI *6- RST 6.5. 7 - D6 7 - WA1T 7 - BA *7- RST 5.5. 8 - D7 8 - 8 - R/W *8- INTR 9 - A0 9 - BUSAK 9 - VMA 9- INTA 10 - Al 10 - BUSRQ *10 - VMA 11 - A2 11 - RD *11 - 12 - A3 12 - WR 12 - MEM CLK 12- SI 13 - A4 13 - CLK 13 - RD 13- IO/M 14 - A5 14 - CS2 14 - WR * 14- READY 15 - A6. 15 - CS3 15 16 - A7 16 - POR/RST 16 - CS3 17 - A8 17 - POR/RST 17 - POR/RST 17- HLDA 18 - A9 18 18 - POR/RST 18- RD 19 - A10 19 19 - 48->50K-l 19- *WR 20 - All 20 20 - 50-K-»52K-1 20- CS2 21 - A12 **21 21 - 52K-J-54K-1 21- CS3 22 - A13 * * 2 2 -' 8K^10K-1 22 - 54K-*56K-1 22- POR/RST 23 - A14 23 -10K-T12K-1 23 - 56K^58K-1 23- POR/RST 24 - A15 24 -12K->14K~1 24 - 58K->60K~1 24- 16K-»32K- 25 - EXTRA (HOLD) 25 -14K-*16K-1 25 - 60K^62K-1 25- . 32K-M8K- HALT - 6K->8K-1 *4- TRAP 10- S0 DMA/REG REQ 11- ALE - CS2 15- CLK (OUT *16~ HOLD * Para hacer uso de estas señales se debe abrir los Interruptores respectivos en ESI o ES2. Si no se usan estas señales, los interruptores deben permanecer cerra- dos , caso contrario, el sistema no funcionará debidamente. La correspondencia entre los interruptores y las señales- respectivas se describe en el numeral 3.4-1 ** Estas líneas de habilitación se activan solo cuando se reubica la memoria del sistema. Esta reubica- ción se describe en el numeral 2.5. El conector EC1 contiene las lineas de los buses de datos1 y direcciones del sistema, es decir, los buses a las salidas de -los buffers que separan a los uPs del resto del sistema. Además, contiene la señal de control de alta impedancia para un uí* externo. El conector EC2 contiene las señales de control del 280 (pines 1-13) y algunas señales generales del si_s_ tema como son: CS2 , CS3 (pines 14-15) son señales para la selección de circuitos periféricos y están decodificados en F2H y F3H respectivamente. POR/RST, POR/RST (pines 16-17) son señales de RESET generadas desde el sistema. POR es de RESET automá- tico del sistema.y se activa al conectar o desconectar la alimentación al sistema o se genera manualmente desde el panel frontal; esta señal es activa en OL; POR es simplemente el complemento de POR. RST es activo en OL y se genera desde el teclado (RST CPU) ; RST es el complemento de RST. Los pines 18-20 están libres Los pines 21-25 corresponden a señales que activan 2K x 8 bytes, cada uno, de memoria externa. El conector EC3 contiene las señales de control del 6800 (pines 1-9) y algunas señales extras propias para un sistema basado en este uP, como también algunas señales generales del sistema. VMA (pin 10), es una señal de entrada al sistema y pa- ra utilizarlo se debe abrir el interruptor ES 2/3). DMA/REF REQ (pin 11), es una señal de entrada al gene- rador de fases de reloj ( MC&875L), utilizado ciertos procesos de DMA. durante Para su uso, debe abrirse 89 el interruptor ES2(2). MEM CLK {pin 12) es una señal proveniente del generador de fases de reloj ( MC5875L) normalmente utilizado para la habilitación de memoria. RD , WR (pines 13-14) son las señales de lectura y escritura de los uPs . Para el Z80 y el 8085A son tomados directamente de sus terminales respectivos, mientras que para el 6800 son obtenidas de la siguiente manera: RD = R/W'02'VMA, y WR=R/W'02'VMA. Esto se explica, a nivel de circuito, en el numeral 2.3. CS2 , CS3 (pines 15-16) son señales para la selección de circuitos periféricos y están decodificados en 00F2H y 00F3H respectivamente. POR/RST, POR/RST (pines 17-18) cumplen la misma función explicada anteriormente al describir el coyrector EC2. Los pines 19-25 corresponden a señales que activan 2K x 8 bytes, cada uno, de memoria externa. El conector EC4 contiene las señales de control del 8 O 8 5 A {pines 1-19) y- algunas señales generales del si_s_ tema. Los pines 20-23 cumplen la misma función explicada al describir el conector EC2. Los pines 24-25 corresponden a señales que activan 16K x 8 bytes cada uno de memoria externa. Al utilizar las señales marcadas con (*), se debe, antes, abrir el interruptor respectivo en ESI o ES2 explicados en el siguiente numeral. 90 3.4-1. PERIFÉRICOS EXTERNOS El uso de periféricos externos al sistema es muy simple, y se reduce a utilizar las señales necesarias de los conectores externos del sistema mencionados en el numeral anterior. Sinembargo, es necesario una explicación adicional acerca de aquellos terminales marcados con (*) en las listas del numeral anterior. Las señales correspondientes a estos terminales, en estado inactivo, deben estar conectados a Vcc o tierra, y esto se logra mediante los interruptores SS1 y ES2 localizados junto a los conectores externos. En con secuencia, para poder utilizar las señales anteriormente mencionadas, es necesario abrir el interruptor respecti- vo ya que el estado normal de estos interruptores es cerrado. La correspondencia entre las señales y los inte- rruptores se indica a continuación: ESI 1 - TRAP ES2 ' 1 - READY 2 - RST 7.5 2 - DMA/REF REQ 3 - RST 6.5 3 - VMA 4 - RST 5.5 4 - LIBRE 5 - INTR 5 - LIBRE 6 - TSC 6'- LIBRE 7 - DBEt-*BUS 02 1 - LIBRE 8 - HOLD . 8 - LIBRE 91 En el caso de la señal DBE del 6800/ ES1(7), la señal no está conectada ni a Vcc ni a GND , sino a la señal BUS02 proveniente del generador do fases de reloj para el 6800 (MC6875L) ya que en funcionamiento normal éste debe ser su conexión. Abriendo este interruptor deja libre la entrada DBE. En el caso de VMA, ésta no es una de salida del si_s tema, es decir, el complemento de la señal VMA del 6800 como podría pensarse. Es una señal de entrada necesaria p.ara casos, por ejemplo/ de acceso directo a memoria (DMA) y debe ser suministrada exteriormente. Para el caso en que se requiera del uso de las líneas de interrupciones que producen saltos a localidades preestablecidas de memoria, como son: NMI en el Z80; TRAP, RST 7.5, RST 6.5, RST 5.5, en el 8085A; NMI,'IRQ en el 6800; es necesario colocar instrucciones de salto a las rutinas respectivas, en ciertas localidades de memoria ÍRAM) reservadas para estos casos. .Esto se debe a que las localidades originales hacia las cuales se pr'educen los saltos, luego de recibir los uPs dichas interrupciones, están dentro de las áreas de los programas monitores y han sido fijadas para saltar a las localidades de RAM siguientes: 92 UP Z80 8085A 6800 LOCALIDAD NUEVA ORIGINAL LOCALIDAD NMI 0066H 1144H RST 0 0000H 0000H RST 8 0008H '1126H RST 10H 0010H 1129H RST 18H 0018H 112CH RST 20H 0020H 112FH RST 28H 0028H 1132H RST 30H 0030H 1135H RST 38H 0038H 1138H TRAP 0024H 1147H *VER EXPLICACIÓN EN INTERRUPCIÓN RST 7. 5 003CH 1141H RST 6. 5 0034H 113EH RST 5. 5 002CH 113BH RST 0 0000H 0000H RST 1 0008H 1126H RST 2 0010H 1129H RST 3 0018H 112CH RST - 4 0020H 112FH RST 5 0028H 1132H RST 6 0030H 1135H RST 7 0038H 1138H NMI FFFCH 111DH IRQ FFF8H 1123H . SWI FFFAH 1120H NO HAY CAMBIO No hay cambio Para ilustrar el uso de las nuevas localidades, supóngase que para el 280 se desea utilizar algún circuito que interrumpa al uP con NMI; entonces es necesario colocar en la localidad 1144H la instrucción de salto extendido no condicionado, C3, seguido luego de dos bytes que indican la localidad en donde empieza la rutina respectiva . Este procedimiento es igual para el resto de inte- 93 rrupciones al igual que en los otros uPs, excepto en el caso de la interrupción TRAP del 8085A en que se coloca la dirección de la rutina de servicio y no la instrucción de salto. Para ésta interrupción , las localidades para la mencionada instrucción son: 1147 (byte menos significativo) y 1148 (byte más significativo). La señal HOLD no está conectada directamente al terminal respectivo en el 8085A, pero su efecto es el mis mo sobre el uP. El acoplamiento de esta señal al uP está explicado en el numeral 2.7-5. 3.4-2. uPs EXTERNOS El uso de uPs externos al sistema es también muy simple y se reduce, como en el numeral anterior, a utilizar las señales necesarias de los conectores externos. Debe tenerse cuidado, sin embargo, de no conectar una señal hacia el sistema en un terminal que es exclusivamente salida de uno de los uPs residentes del sistema. Estos se indican a continuación: EC1 EC.2 (Z80) EC3 (6800) EC4 (8Q85A 2 5-EXTRA 1 - RFSH 1 - BUS 02 1 - RESET OUT 2 - MI 7 - BA 2 - SOD 9 - - VMA 3 - SID (HOLD) - HALT 9 - BUSAK 12 - MEM CLK 9 - INTA 13 - CLK 15 - CS2 10 - SO 14 - CS2 16 - CS3 11 - ALE 15 - CS3 17 - POR/RST 12 - SI 16 - POR/RST 18 - POR/PST 15 - CLK (OUT) 94 17 - POR/RST 19 - 48K-^50K-1 17 - 21 - 6IO8K-1 20 - 50K—>52K-1 20 - CS2 22 8K-*10K-1 21 - 52K—54K-1 21 - CS3 - HLDA 23 -10K->12K-1 22 - 54K—>56K-1 22 - POR/RST 24 -12K-*14K-1 23 - 56K—»58K-1 23 - POR/RST 25 -14K-»16K-1 24 - 58K—60K-1 24 -16K—y32K-l 25 - 60K—*62K-1 25 -32K—»48K-1 Es necesario también, antes de trabajar con un uP externo, deshabilitar las EPROMS del sistema. Esto se logra mediante el interruptor de reubicación de memoria, . localizado en el panel frontal en el cuadro denominado MEM, colocándolo hacia arriba. 2.10-2. PROGRAMAS Los listados de los programas monitores de los tres uPs residentes en el sistema se encuentran en la par te final de este volumen. IV. " CONSTRUCCIÓN 4.1. DISTRIBUCIÓN GENERAL En la figura a continuación se muestra, en forma general, la distribución de las tarjetas y partes prin cipales del sistema. Las tarjetas, sean éstas de circui- tos impresos o de entorchar se identifican con la tecla T seguida de un número, mientras que los zócalos (de las tar jetas que los tienen) se identifican con la tecla J, igua_l mente seguida de un número. 95 .Las dos regletas de conexión se identifican corno RC1 y RC2, mientras que los conectores extras, localiza- dos sobre algunas t a r j e t a s , se i d e n t i f i c a n con la letra E seguida de un numero. PORTAFUSIBLE VENTILADOR 1 1 <=*•** r—i J / s~^\ 22000 V f (^\^^ 1000 1 (v^X ^ TF -^ RC1 | 1 1U } 11 C / FL FS1 T3/J3 E2 f | ES2 Í ES | Qsv T2/J2 1 EC¿ 1 Q.5V 1— tLj U/JA T3/J3 El ] _-..!_ 1 EC2 1 Q5V EC1 [ GNDC T5 C O O D 1— LJ LJ U T7 0 O C o ^\*— REUBICACION (®T^ DE MEMORIA O Ci iZ[ O LJ l_J I_J L.I T6 O O O o O O O O O O O O O O O O O O O O 0 MONTOR ' DE POR [->_ -POR MANUAL "l T0/J8 T9 0 O DE O- -MONITOR ENCENDIDO •ENCENDIDO/APAGADO 96 Las tarjetas TI,T2,T3, la regleta de conexión RC2 y 4 reguladores de voltaje se encuentran montados sobre un "plano de tierra", por debajo del cual se hacen la mayoría de conecciones del sistema. De esta manera se reducen los problemas debidos a lazos de tierra. Este plano está fijo a la base del sistema fo_r mando una sola "base general de tierra", a la cual están fijas las tierras de las tarjetas restantes. En la regleta de conexiones conexión RCl se hacen las del voltaje de línea con el transformador TP, el fusible, el ventilador y el interruptor de encendido/ apagado. En RCl se hacen las conecciones de los voltajes rectificados y filtrados con las líneas a los reguladores respectivas. 4.2. DISTRIBUCIÓN DE ELEMENTOS EN LAS TARJETAS. U1 U2 U¿ U3 2pF U U£ U7 U8 Ul i U 0 - U9 u u UU 2 3 U 15 TI Ul 8 U J7 U !S Ul 3 U 20 U22 U26 U25 U2Í U 23 • U27 U 28 U29 U30 U 32 U 31 - C1 U33 U34 J 35 - i C2 , U36 LJ , CTR1 i—i hR2 g £> 98 Ul U2 - 74LS74 U3 - 7404 Rl - 12Kf7 ,1/4W R2 - 4991n U4 - 74298 Cl - luF US - 8212 C2 - luP U6 - 8212 07 _ 74L808 C3 - O.OluF US - 74298 U9 - 74155 U10Ull- 8212 U12- 8212 U13U14- 7408 U15- 74193 U16- 74LS74 U17- 8212 Ü18- 8212 U19- 8212 U20- 8212 U21- 74LS74 U22- 74Lsl55 U23- 7432 U24- 74C175 U25- 74C193 U26- 74C193 U27- 74C193 U28- 74C193 U29- 74C175 U30- 74LS51 U31- CD4009 U32- 74C923 U33- 74C923 U34- CD4009 U35- 74154 U36- NE555 ,1/4W CTR1-CONECTOR DE 7 PINBS (OPCIONAL) 61 1 6 C20 cía C17 R90 U 37 U38 C21 cía U39 LUÍ IHO R92 C23 U ¿2 U¿3 C22 U46 UÍ5 U47 LUfl U43 USO U112 U51 U52 U53 U113 U56 U55 U54 U1U U57 USB U115 U60 U 59 21 U (OP_ CIO_ ÑAU U (OP_ U [OP_ CIO ÑAU U61 U 62 NAL) cio_ (OP_ \i cio_ NAL! 21 21 U64 U63 R7 R3 100 U37 - 2114 U38 C 1 7 - O . 1 uF - 2114 . Cl 8 - O. 1 u F 039 - 2716 Cl 9 - 0 . l u F U40-2114 C 2 O - O .1 uF U41-2114 C 2 1 - O . 1u F U42 - 74154 C22 - 0 . 1 u F 043 - 74LS155 C23 - 0 . 1 u F U44 - 74S257 C24 - 0 . l u F 045 - 2114 046 - 2114 0 1 1 2 - 7408 047-74LS154 Ü113-7408 048 - 2716 0 1 1 4 - 7408 049 - 7408 01 15 - 74LS3 2 050 - 2114 051 - 7408 052 053 - 2114 054 - 2716 055 - 7404 056 - 7408 057 - 74LS74 058 - 7432 059 - 7408 ' 060 - 7432 061 - 7432 062 - 7411 063 - 7405 064 - 7409 R3 - 1.5K n R4 - 1 . 5KÍ1 ,1/4W R5 - 1 . 5KO R6 - 1.5KS7 R7 - 1KH ,1/4W ,1/4W ,1/4W ,1/4W CTR2- CONECTOR DE 24-PINES U 65 U66 TI JOKQ U67 U68 R12 -{R.13 016 U70 U6S CTR3 Ría •i. U71 U 72 T2 Ría U73 U 74 U 75 C5' Ci U79 U 78 U 77 U 76 C6 R27 U 81 R23 R25 USO R28 R30 R30 CYI R82 U8¿ R3I tí 35 T3 T3 C7 R83 ÍR3T ^R37 {R3B 085 ce. C9 U 86 U88 U67 C!0 CI3 U90 U89 U 92 U31 US5 U96 CI2 U93" Pl U99 U98 U97 U101 U100 R65 U102 UI03 UiOí V I IR54 R¿9 R65 R57 M R56 R¿8 R¿3- T5 R61 U106 U105 R62 63 IR53 R59 R58 T¿ R52 R53 -R45 hR46 t-1 O h-1 102 U65 - MC6888 U66 - 7409 U67 - 7405 U68 - 74LS02 069 - 7413 U70 - 74367 U71 - 74367 U72 - 74S133 U73 - 74LS374 U74 - 74LS373 075 - 74LS154 U76 - 7405 U77 - MC6875L U78 - 74LS02 079 - 8212 080 - 8212 UBI U82 083 08-4 - MC6800 Z80 8085A 7409 U85 - 8212 086 - 8212 087 - 74S241 U88 - 74123 U8"5 - 74123 090 - 74LS175 091 - 74393 092 - 74LS74 093 - 74LS74 U94 - 7474 095 - 7408 096 - 74LS74 097 - NE555 098 - 74LS21 099 - 7404 0100- 7405 0101- 7 4 L S 3 2 0102- LM311 7400 01030104- 74LS175 0105- 74LS32 0106- 7401 C4 - 12pF C5' - 0 . luF C6 - 0 . luF C7 - 4 . 7uF C8 - 0 . luF C9 - 0 . OOluF C10- 0 . luF Cll- 0 . luF C12- 0 . OluF C13- 47uF C14- 22uF Tl - C458 T2 - C458 T3 - C458 T4 - C458 T5 - C458 Rl - 1MÍ7, 1 /4W Zl - 1N4684 CTR3 - CONECTOR DE 24 FINES R8 - 5KÍ7 ,1/4W R9 - 4.7KÍ7 ,1/4W R10- 4.7KS7 ,1/4W Rll- Ü Jx S i ,1/4W R12- 10KÍ-J , 1/4W R13- 4.7KH , 1/4W R14- 100KÍ7 , 1/4W R15- 15K í? r 1/4W R16- IOK n , V4W R17- 10KÍ7 , 1/4W R18- 10KO. , 1/4W i5Ka , R191 /4W R20- 1KC1 , 1/4W R21- 1KA , 1/4W R22- 1KÍ1, 1/4W R23- 1K.CL , 1/4W R24- 1K A, 1 /4W R25- 22K.Q , 1 /4W R26- 4. 3KQ , 1 / 4 W R27- 27H ,1 /4W R28- 27Q , 1/4W R29- 22KÍI , 1/4W R30- 6. 8KH , 1/4W R31- lien, 1/4W R32- 4. 7KO. , 1 / 4 W R33- 1KC , 1/4W R34- 1KÜ. , 1/4W R35- 10KQ , 1/4W R36- 5. 6K.Q , 1/4W R37- 5. 6KH. ,1/4W R38- 5. 6K/1 , 1/4W R39- 1 0 K fL ,1 /4W R40- 33KO , 1/4W R41- 33KU , 1/4W R42- 56K/1 , 1/4W R43- 1. 5KH ,1/4W R44- 6. 8KÍ1 , 1/4W R45- 6 . 8xn, 1 /4W R46- 6. SKÍI , 1 /4W R47- 6 . 8K.O-,1/4W R48- 5 . 6 Kíl, 1 /4W R49- 22K.G. , 1/4W R50- 10KÍ1, 1/4W R51-6. 8KÍ1, 1/4W R52-6.8KH., 1/4W R53-4.7KÍ1, 1/4W R54-5. 6KH , 1/4W . R55-5. 6KO. ,1/4W R56-5.6KA/1/4W R57-5. 6Ka , 1/4W R58-330n , 1/4W R59-4. 7KO. ,1/4W R60-4 . 7KCI ,1/4WR61-4. 7KO. , 1/4W R62-100Q , 1/4W R63-2. 2KO. , 1/4W R64-100KC1 , 1/4W R65-2 . 7KÍ1 ,1/4W R66-2. 2KQ , 1/4W © LDI1 LD3 © LD12 LD¿ LD25 LD19 LD13 LD5 R88 LD20 LD2Í LDH LD6 T7 LD7 LD15 LD22 T6 LD23 • R95 , LD26 LD2¿ LD16 LD8 R8¿ © LD17 LD9 R85 LDI8 LD10 R86 © O LO 104 LD3 T LD26 - LED R84 * R86 - 270 fí , 1/4W R87 - 899-1-R270 R88 •» R95 - 270r? , 1/4W ZF T9 LD1 R79 LD2 CTR5 T6 R69 Z3 R70 d}-H=^ . D2 R58 CTR¿ R6?D UI07 T8 R73 R72 U108 U103 R71 D3 R74 R75 Ull 1 Ul 10 R76 R77 R7B T9 Ul H O 106 560ÍÍ , 1/2W U107 - 825IS R68 - 1200 , 1 / 4 W U108 - 7474 R69 - IKn U109 - 7400 R70 - lOKn , 1 /2W U110 7406 R71 - 120fí Ulll - 74LS373 R72 - 10KÍ7 , 1 / 4 W CTR4 - CONECTOR DE 26 PINES R73 - 10KH , 1 / 4 W CTR5 - CONECTOR DE 26 PINES R74 - IKfi , 1/4W R75 - lOOfl , 1/2W R76 - 2700 , 1 / 2 W R67 - / 1W , 1/4W - R77 - 4 . 7 K f l , 1 / 4 W R78 - 330Í1 , 1 / 4 W R79 - 270ÍÍ , 1 / 4 W R80 - 270fí R89 - 270f7 , 1/4W , 1/4W DI - 1N4 004 D2 - 1 N 4 OO 4 D3 - 1N4004 D4 -. 1N4004 Z2 - 1N4689 Z3 - 1N4697 T6 A684 T7 C1061 T8 A684 T9 C458 REGÍ - 7805 REG2 - 7805 ZF- ZÓCALO DE ZERO-FUERZA DE INSERCIÓN (24-PINES) IPr O DPYI D5 DPY2 C15 D6 C16 DPY3 0 DPYÍ R81 R82 T5 TÍO DPY5 TÍO DPY6 DPY7 IS- DPY8 a I-1 o -o 108 R81 £ - 82ÍJ R82 - in ,1/2W ,25W R83 - lOKn ,1/2W C15 - O.luF C16 - O.luF 24 - 1N4684 TÍO - C1061 Til - TCG291 REG2 - 340K-24 DPYl 4 DPY8 - T1L311 0 0 9 8 7 H -6 5 4 J3 3 2 1 C B A L SHIFl F E D T8 0 . RESET PGM WR MNU CPU ESCAPE STR REG REMOVE BREAK BREAK ¡NSERT S085A Z80 SS GO REG CHECK BREAK 6800 PGM^ RD PGM RD REG AR5 EXTRA 0 0 O VQ ( O S ) Si' ( i 7 T ) Si' ( 8 ) Si' ( T 6 ) sr (otOsr - 9S SS ( 9 8 ) SI1 - ES ( ¿ 8 ) sr - SS (TÍ') sr - ^s ( S f r ) Si - TS Q N D - OS ( S T ) ¿r - 6 f r ( ¿ T ) ¿r - 8^ , ( 9 T ) ¿r - Lt ( t z ) ¿r ( E S ) ¿r ( s s ) ¿r ( T S ) ¿r ( o s ) ¿r ( 6 T ) ¿r (¿)er 9fr S^ - ^í' £^ S^ 117 Ofr (9) £1? - 6E ( 8 6 ) ET - 8E i ¿E (8íO £P - ( 6 6 ) £T - 9£ UfO c r ' ( t s ) sr - ( e s ) EI" ( E ) cr' ( 6 ) T o a ' ( s s ) s i ' ( 9 ) t>r' ( s e ) er' SE ( f r ) £T - ^ £ ( 2 6 ) 2T - £ E ( s ^ ) sr - SE ( e ^ ) sr - TE Us) sr - 0£ ( f r e ) sr - 6 2 ( S ) ET - 82 (6¿) sr -' LZ (8O sr - 9 2 ( 0 9 ) sr - SS ( T T ) T03' ( í ' S ) . S i ' ( 1 6 ) £1" ( e s ) sr - tz ( C I ) T O a ' ( 9 T ) Si' ( 0 6 ) ££" ( 8 5 ) sr - £ S ( s i ) ioa' ( s i ) Si' ( 6 8 ) c r ' ( ¿ s ) sr ( ¿ T ) TOS' ( O T ) Si' ( 8 8 ) CI?' ( 9 5 ) 2T ( 6 T ) T O a ' ( S T ) Si' ( ¿ 8 ) £.£?' ( T S ) T O a ' ( f r ) Si' ( 9 8 ) CI?' ( E S ) T D a ' ( 9 ) Si' ( 5 8 ) £1" ( 8 ) f>i?' ( t e ) cr' (EE) sr sr sr sr ( E E ) f?i ( 5 2 ) 2T (2E)í'i (E E) (9¿) (T8) E T ' (fO E-C' ( S ) 103' ( E ) f r r ' ( S I ) (TT) (ST) (ET) (OE) sr sr sr sr ( E ) T O S ' ( Z ) f r l " ( T T ) E T ' ( E ) 2J? , ( ¿ 9 ) ET ( T ) T O a ' ( T ) f r l " ( O T ) EJ? ' ( 2 ) sr (S^)Si' ( T í ' ) Si' ( O í ' ) Si' ( f r C ) Si' ( 9 9 ) ££" ( 5 6 ) 2T ( f r 6 ) sr ( S f r ) 2T ( f r f r ) sr ( 6 8 ) 2T AS+ OIT 2S - TS - 02 - 6T - 81 - ¿T - 91 - ST - frT - ET - 2T - TT - OT - 6 - 8 - L - 9 - S - fr - £ - 2 - T ( 2 ) 5X (e) sr (2) sr (5) 8J? (8) sr (I) 8J? (z.) (6) (tO (9) (¿s) (95) (55) (65 1 ) (s) (frs) (¿6) sr sr sr sr er er er er er er er ( 8 8 ) 2P ( 9 6 ) 2T ( ¿ 6 ) 2T ( e e ) 2r ( 2 5 ) er ( s e ) 2r (ee)2r ( O t ) t03' ( £ 2 ) S X ' ( H ) f r r ' ( 2 í O e r ' ( O t ) 2T (21) toa' ( S 2 ) s x ' ( t ^ ) e r ' ( e ) 2r ( f r i ) t o a ' ( ¿ i ) sx' ( O í ' ) e r ' (8)21? ( 9 1 ) 10 a 1 ( 6 1 ) S X ' ( 6 £ ) £ J ? ' ( ¿ ) 2 T ( s t ) t o a ' ( t t ) 5 x ' ( s e ) e r ' (9)21? ( 0 2 ) T o a ' ( E T ) s x ' ( / . e ) e r ' (19) 2 r ( 2 2 ) t o a ' ( s i sx' ( 9 E ) e r ' ( 2 9 ) 2 ^ ( ^ 2 ) toa ' ( ¿) i?x ' ( s e ) e r ' ( e 9 ) 2 r ( 0 8 ) 21? ( t e ) 21? (¿e)2r (sJtoa7 (a)^r' (e9)er' (55)2r ( 6 2 ) 2J? ( ¿ ) toa' ( ^ ) ^ r ' ( e t ) e r ' ( 5 ) 2 1 ? ( 9 ) toa' ( d )f r J ? '( 2 9 ) E T ' ( ^ S ) 2 T (t-)toa' (o)^r' ( t g ) e r ' (es)2r (2) toa' (a) frr' (09) er' ( 2 5 ) 2 J ? ( 9 2 ) S X ' ( 0 6 ) 2T ITT - oot - 66 - 86 :- ¿6 96 56 t? 6 - ee - 26 - te - 06 - 68 - 88 - ¿8 - 98 - 58 - fr8 - es - ~ - 28 18 08 6¿ 8¿ LL 9L SL PL E¿ ZL t¿ 0¿ 69 89 ¿9 .99 59 " e9 - 29 19 09 65 85 - ¿5 112 J2 1 - +5V , (1) ,EC1 (1) 2 - Jl (7) ,J3 (10) J4 , (2) ,EC1 (3) 3 - Jl (9) ,J3 (11) J4 4 - Jl (10) , J3 (12), J4 (3) ,EC1 (5) 5 - Jl (61) , J3 (13),J4 (4) ,EC1 (7) 6 - Jl (71) , J3 (38),T5 (11) ,EC1 (18) 7 - Jl (72) , J3 (39),T5 (19)' ,EC1 (16) 8 - Jl (73) , J3 (40),T5 (17) ,EC1 (14) 9 - Jl (74) , J3 (41),T5 (25) ,EC1 (12) 10 - Jl (75) ,J3 (42) , J4 (H) ,T5 (23) ,EC1 (10) 11 - Jl (20) , J3 (87),T5 (12) ,EC1 (19) 12 ~ Jl (19) , J3 (86),T5 (4) ,EC1 (21) 13 - Jl (18) , J3 (85),T5 (6) ,EC1 (23) 15 16 17 18 19 20 21 2 nZ 23 24 25 26 27 28 29 30 31 - EC3 (24) - EC3 (25) - EC3 ECS EC3 EC3 EC3 (23) (22) (20) (21) (19) - EC4 (25) - Jl (30) , J3 (53) Jl (15) , J3 (94) ,J4(8) J3 (46) J3 (9) J3 (8) Jl (62) Jl (17) Jl (66) 33 - Jl (13) , J3 (33) 34 - Jl (29) , J3 (3) 35 - Jl (78) 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 - Jl(65) 1 - Jl (26) Jl (76) Jl (55) ,T5 (14) Jl (54) ,T5 (8) Jl (32) Jl (31) - Jl (3) ,T5 (34) Jl (4) T5 (40) EC2-(17) ,EC3 (1 8) ,EC4 (23) EC2 (16) ,EC3 (1 7) ,EC4 (22) T5 (29) T5 (35) J3 (15) J3 (83) Jl (58) , J3 (60), J4 (B) ,EC1 (2) Jl (59) , J3 (61), J4 (C) ,EC1 (4) Jl (60) , J3 (62) , J4 (D) f B 0. (6) Jl (63) , J3 (63)> J4 (E) ,EC1 (8) Jl (21) , J3 (88),T5 (10) ,EC1 (17) 113 57 - Jl(22) ,J3 (89) ,T5 (18) ,EC1 (15) 58 - Jl (23) ,J3 (90) ,T5 (16) ,EC1 (13) 59 - Jl (24) ,J3 (91) ,T5 (24) ,EC1 (11) 6*0 - Jl (25) , J3 (92) , J4 (6) ,T5 (22)7 EC1 (9) 61 - Jl (70) ,J3 (37) ,T5 (13) ,EC1 (20) 62 - Jl (69) ,J3 (36) ,T5 (5) ,EC1 (22) 63 - Jl (68) ,J3 (35) ,T5 (7) ,EC1 (24) 64 - INTERRUPTOR SW1 65 - INTERRUPTOR SW1 66 - INTERRUPTOR SW1 67 - EC2(25) 68 - EC2(24) 69 - EC2(23) 70 - EC2(22) 71 72 73 74 75 - EC2(21) - EC4(24) - J3 (82)£C2 (4) - J3(30) 76 - Jl(12) 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 - J3(59) J3 (58) Jl(27) Jl(67) Jl(ll) - Jl (35) ,3-3 (47) J3 (84) ,J4 (F) ,EC2 (12) ,EC3 (14) ,EC4 (19) Jl(53) Jl (52) Jl(83) Jl (2) ,J3 (66) Jl (57) ,T5 (26) Jl (56) ,T5 (20) Jl (33) Jl (80) Jl (5) ,T5 (41) Jl (6) ,T5 (42) Jl (82) Jl(81) T5(43) T 5. ( 4 4 ) GND 114 J3 1 ~ +5V 2 - Jl(28) 3 4 5 6 7 8 9 10 11 - Jl (29) ,J2 (34) Jl (34) Jl (86) Jl (39) Jl (40) J2 (28) J2 (27) Jl(7) ,J2 (2) ,J4 (1) ,BC1 (i! Jl (9) ,J2 (3) ,J4 (2) ,EC1 (3) 12 - Jl (10) ,J2 (4) ,J4 (3) ,EC1 (5) 13 - Jl (61) ,J2 (5) ,J4 (4) ,EC1 (7) 14 - J4(21),EC3(4) 15 - J2(50) 16 17 18 19 - T6(5) T6 (4) T6 (7) T6(3) 20 - T6 (8) 21 - T6(12) 22 23 24 25 26 - T6 (15) T6 (10) T6(9) J4 (7) EC2 (1) 27 - EC2 (2) 28 - J4 (19) ,EC2 (8) 29 - J4 (20) ,EC2 (9) 30 - J2 (75) 31 - J4 (Y) ,EC2 (10) 32 - J4 (22) 33 - Jl (13) ,J2 (33) 34 35 36 37 38 - EC3 (6) Jl (68) ,J2 (63) ,T5 (7) ,EC1 (24) Jl (69) ,J2 (62) ,T5 (5) ,EC1 (22) Jl(70),J2(62),T5(13),EC1(20) Jl (71) , J2 (6) ,T5 (11) ,EC1'(1&) 39 - Jl(72),J2(7),T5(19) 40 41 42 43 - Jl(73),J2(8),T5(17) Jl (74) ,J2 (9) ,T5 (25) Jl (75) ,J2 (10) ,J4 (H) ,T5 (23) ,EC1 (10) EC3 (5) 44 45 46 47 - INTERRUPTOR SW2 EC3 (8) J2 (26) Jl (35) ,J2 (84) 48 - Jl (37) 49 - Jl (87) 50 - GND 51 - +5V 52 - Jl (79) 53 54 55 56 - Jl Jl Jl Jl (30) , J2 (24) (85) (88) (89) ^ 1 I 1 1 1 1 I 1 1 1 1 1 1 i 1 l 1 1 1 1 1 I I 1 1 1 1 I I I toto^O^^OOOcncncncncncncnt 1 1 1 ! 1 1 C_] C_¡ i C_¡ l C_¡ i l Q i i C, O H> l—i u-J l-1 to to H Q C i Q t d Q C i t d t d t d ^ ^ ^ ^ ^ F S ^ f ^ Q td td Q 1 Oí Ln Ln Ln O U3 CO --J en CT^ to H1 - td O f-3 TI VD I-1 O , "w td Ln td M td td td 0 O td ,—, O O O o O H M Q to H I-1 I-1 H i-1 ^- --, LO to to to ^—. H H M H H h-1 LO H LO Ln vo H -0 — ' *-> Jb. - £* en M -^ ^ to co _, H1 I-1 O ro en to H H ^ ^ en CO •* c-i - - td ^3 í-3 ^3 O c-t H3 H3 ^ ^ Ln Ln Ln Ln Ln Ln Ln to ^ u? co -J en O Ln [_i [—i frj i-1 IO LO ~— c^ Ln Ln Ln Ln j_i c_¡ c^ Q Q cu |—' >fci LO * ^—' " CO f-1 O ip> Ln ro td O ^ l—* Ln "—' *~~. \O LO 03 "-J CO O s f ^ ^ ^ jí Q ^ í c, I—1 CO CT> ro !-* H , .—. ^íi' 0 O O -~v -—, h-1 td 0 O td '*— : —* — — V1 td td td o e-i ji. Ln Ln Ln Ln Ln >t» LO to ^ \D e-i 0 Q "ti) to ro to to í—' LO O to ^ td co o v" •« yfc' C-l •— --J CTi H Ln C5"! O -O *— * td O LO .—. ^ LO H1 ÜJ o w ^-, H ^ H W td O O to to ,-^ iD CO Ln f—i £i *^' LO *— to C-J o C_j Q c, í—* to to ro to' to ro to to >t> ro LO ro ^ P CTi CO íi *— -J Ln VD Ln -> f — . to to , —* LO LO CO C-l lO H -— M to to to to ro H M COLn-j L n ^ - ^ X S ! ' —- ' — - - ^ H í - 1 l - J I - 1 h - a t o c n t en en Ln --o --J \o Q C - t Q Q C H h B C j t d C - ! Q c, Ci Q CLj Q C_¡ Cj S H M M ^ L n M O H H H H H1 í-1 H H ro 1 O V O V O V D U D U 3 V £ ) U > M ) <x> ^D CO CO CO co co co c o c o c o c o - - j - j - - J - - J - j - j - J - J - - J - J c n c n c J^ en en en CTI O U D C O - J c D L n ^ L o r o H o IX) CO en Ln 4^ L O r O H O ^ D C O - J C ^ L n ^ L O t o H O l D C O --J CTi Ln >£• LO «í- H H Ln (9) 20^1 - Z (oí)203'(Te)er - A (6¿)er - x C¿)eos'(s¿)er - M QN3 - A (¿)¿x - n (2) ¿Jj - OÍ (asa) HOd - s (e)¿£ - H (¿I) t-03 - d (91)^03 - N - w (52) 103' (8) ¿X - >[ (96)er - r (OT) ios' (EZ)SOÍ' (21» er' (oí) 21" (smr - H Í6T) Í703' (£T) e03' (2T) 203' U8) ei" (58) 2T - d (8) 103' (£9) er' (55) 21" (e9)TT - 3 (9)ios'(29)er'(fes)2i" (09)ir - a (f)T03' (19)er'(es)21" (65)tr - o 02) 103' (09) er' (25) 21" (85) TT - E (T) OTJi - V (se)er (t?) eos' (f T) er (6)203'(62) er (s)203'(82)er - 22 T2 02 6t „ oT (S)¿X - ¿T (tO ¿X - 9T (9)¿X - SI . (T)-¿Oi - ^T _ £I . - 2T - TT : .- OT - 6 (f6)er'(52)2i" (5t)ir - 8 52)er - L sx'(26)er'(09)2r'(52)Tr - 9 (CT)eos'(TT)203'(TS)er - 5 í¿) T03' (£1) El?' (5) 2JC" (T9) TT - fr (5) T03' (2T) er' (Í7) 2T' (OT) TT - e (e) TOS'(TT)er'(e)21" (6)TT - 2 (T)TOS'(OT)er'(2)2i" (¿)TT - T 9TT y v (fr6)zr' (s) Tr (sfr) zr' (fO Tr (TS) Tr (66) 2r (86) 2r (S6)2JC" (9) Tr (2) T3 (2T) T3 - (ei) T3 (e) T3 (frfr) 2r' (e) Tr (9T) TT (frT) Tr (T) T3 (frl) ia - 2r - Tfr ee se ¿e 9e se ee Te oe 62 Q ti 7 G (56) er (06) zr' (¿S) Tr Tr (2T) T03' (TÍ7 ) er zr' ' (6) (TT) T03' ( T6) er' (65) zr' Tr (OT) T03r (HUÍ" (cíO er' (OT) 2r' (S O Tr 2 6) er' (09) zr' (S 2) Tr (9 )frr'( - ¿2 - 92 - £2 - e2 - 22 T62I" (9 S) Tr (9T) T03' (ee ) er ' U)zr' (2 ¿) Tr (S T) Toa' (68) er' (¿S) zr' (2 2) Tr (Pl ) Toa' (ot> ) er ' (8)zr' (e ¿) Tr (e T) Toa' (06) er' (85) zr' (e 2) Tr - (oto zx" (s S) Tr Toa' ( er' é) (0 2) (T9) zr' (o¿) Tr L T "^ T ' ( f Q \ U ci ^ ¿L O Jzr' (o 2) Tr er ' (TT) (6 T) (8T) T03' (8£ ) er ' (9)zr' (T /.) Tr (¿T) T03' (88) er' (95) zr' (T 2) Tr - T2 02 6T 8T ¿T 9T C 3T t 2r' (fr g) Tr (S e) er' (E9) zr 1 (8 9) Tr (S 8) er' (ei) zr' (8 T) Tr (Tfr) (fr 2) T03' (e 2) T03' (22) T03' ( 9e) er' (29) zr' (69) Tr (T 2) Toa' ( 9 8) er '(21) 2r' (6 T) Tr - £T 2T TT OT 6 o 8 L 9 S f c t, (TS) Tr - z AS+ - T ¿TT 118 T6 T7 1 - J3 (70) 2 — J3 (69) 3 - J3 4 - J3 5 - J3 6 - J3 7 - J3 R — J3 9 - J3 10 - J2 11 - J3 12 - J3 13 - J3 14 - J3 15 - J3 16 - J3 (19) (17) (16) (68) (18) (20) (24) (23) (73) (21) (71) (72) (22) (74) T8 Jl Jl Jl Jl Jl Jl Jl Jl (95) (98) (99) (92) (97) (91) (94) (96) 12 — 14 - 15 16 17 18 19 20 - 21 22 23 24 - Jl (47) Jl (48) Jl (49) Jl (41) Jl (42) Jl (43) Jl (44) Jl (45) Jl (46 TÍO -i , • - 7 - J4 (14) J4 (T) J4(R). J4 J4 J4 J4 J4 (16) (17) (15) (U) (K) ,EC1 (25) T9 1 -2 — 3 4 5 — 6 7 8 10 - "1J, J T 1 2 3 4 5 6 J4 (A) 2 - GND 3 - KC2 (1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 - E3 (26) - E3 (25) - E3 E3 E3 E3 E3 E3 (24) (23) (22) (21) (20) (19) - E3 E3 E3 E3 E3 E3 (18) (17) (16) (15) (14) (13) - E3 (12) - E3 (11) - E3 (10) - E3 (9) - E3 (8) - E3 (7) - E3(6) - E3 (5) E3 (4) E3 (3) E3 (2) E3 (1) 119 E2 El 1 2 3 4 5 6 T5 (31) T5 (39) T5 (37) • • _ . "•7 __ 8 9 -i_L U n ~ „ 11 12 - T5 (36) 13 - T5 (38) 14 - T5 (30) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 E5 - - E4 (9) E4 (10) E4 (11) E4 (1 2 ) J. 1 ¿. 9 E 4 ( 1 3' ) 1 *3J - E4 ( 1 4 ) E4 (15) E4 (16) E4 (17) E4 (18) E4 (19) E3 E4 1 - T9 (26) 2 - T9 (25) 1 2 3 4 6 7 8 9 10 - T9 (21) T9 (20) T9(19) T9 (18) T9 (17) 11 - T9 (16) 12 - T9 (15) 13 - T9 (14) 14 - T9 (13) 15 - T9(12) 16 - T9 (11) 17 18 19 20 21 22 23 24 25 26 - T9 (10) T9 (9) T9 (8) T9 (7) T9 (6) T9 (5) T9 (4) T9 (3) T9 (2) T9 (1) 5 6 7 8 9 10 11 1 - EC4 o _ EC4 3 .- EC4 4 - EC4 5 - E.C4 6 - EC4 7 t — EC4 8 - ECS 9 - ECS 10 - ECS 11 - EC2 - 22 23 24 - 3 - T9 (24) 4 - T9 (23) 5 - T9 (22) E4 (1) E4 (2) E4 (3) E4 (4) E4 (5) E4 (6) E4 (7) E4 (8) E4 E4 E4 E4 E4 (20) (21) (22) (23) (24) 14 15 16 17 18 19 20 21 22 23 24 (2) M) (6) (8) (10 (12 (14 (1) (3) (IX (13 — - ECS (12 - ECS (10 - ECS (2) - EC4 (15 ~. EC4 (13 - EC4 (11 - EC4 (9) - EC4 (7) - EC4 (5) - EC4 (3) - EC4 (1) -E2'(l) -E2 (2) -E2 (3) -E2 (4) -E2 (5) -E2 (6) -E2 (7) -E2(8) -E2 (9) -E2 (10) -E2 (11) 12 -E2 (12) 13 -E2 (13) 14 -E2 (14) 15 -E2 (15) 16 17 18 19 20 21 22 23 24 -E2 (16) -E2 (17) -E2 (18) -E2 (19) -E2 (20) -E2 (21) -E2 (22) -E2 (23) -E2 (24 - 120 EC1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 - Jl (7) ,J2 (2) ,J3 (10) ,J4 (1) Jl (58) ,J2 (52) ,J3 (60) ,J4 (B) Jl (9) ,J2 (3) ,J3 (11) , J4 (2) Jl (59) ,J2 (53) 7 J3 (61) ,J4 (C) Jl (10) ,J2 (4) ,J3 (12) ,J4 (3) Jl (60) ,J2 (54) ,J3 (62) ,J4 (D) Jl (61) ,J2 (5) ,J3 (13) ,J4 (4) Jl(63),J2(55),J3(63),J4(B) Jl (25) f J2 (60-) , J3 (92) ,J4 (6) ,T5 (22) Jl(75),J2(10),J3(42),J4(H),T5(23) Jl (24) ,J2 (59 ( ,J3 (91) ,T5 (24) Jl (74) ,J2 (9) ,J3 (41) ,T5 (25) Jl (23) , J2 (58) ,J3 (90) ,T5 (16) Jl (73) ,J2 (8) ,J3 (40) ,T5 (17) Jl(22),J2(57),J3(89),T5(18) Jl(72),J2(7),J3(39),T5(19) Jl (21) ,J2 (56) ,J3 (88) ,T5 (10) Jl (71) ,J2 (6) ,J3 (38) ,T5 (11) Jl (20) ,J2 (11) ,J3 (87) ,T5 (12) Jl(70),J2(61),J3(37),T5(13) Jl (19) ,J2 (12) ,J3 (86) ,T5 (4) Jl(69),J2(62),J3(36),T5(5) Jl (18) ,J2 (13) ,J3 (85) ,T5 (6) Jl (68) ,J2 (63) ,J3 (35) ,T5 (7) J4(K),T7(8) EC2 J3 (26) J3 (27) J3 (80) J2 (74) , J382 J3 (77) J3 (76) J3 (75) J3 (28) f J4(19) J3 (29) ,J4(20) J3 (31) ,J4 (Y) J3 (81) , J4 (5) ,EC3 (13) ,BC4 (18) J2 (85) , J3 (84) , J4 (F) , ECS (14) ,EC4(19) 13 - E5 (11) 14 - J3 (65) ,EC3 (15) ,EC4 (20) 15 - J3 (64) ,EC3 (16) 7EC4 (21) 16 - J2 (47) ,EC3 (17) .EC4 (22) 17 - J2 (46) ,£03 (18) ,EC4 (23) i p — J.O 19 o¿\jn — 21 - J2 (71) 22 - J2 (70) 23 - J2 (69) 24 - J2 (68) 25 - J2 (67) "1 ~ ~ 2 3 4 5- 6 7 — 8 9 10 11 12 - 121 ECS 1 - E5 (8) 2 3 4 5 6 7 8 9 - 10 11 12 13 14 - E5 E5 E5 J3 - J2 (85),J3 (84) ,,J4 (P) ,EC2 (12) ,EC4 (19) J3(84) J3 (65) ,EC2 (14) ,EC4 (20) J3 (64) ,EC2 (15) -EC4 (21) J2 (47) ,EC2 (16) ,EC4 (22) J2 (46) ,EC2 (17) ,EC4 (23) J2 (21) J2 (19) 15 16 17 18 19 20 E5 (16) E5(9) J3 (14) , J4 (21) J3 (43) - J3 (34) - J3 (78) , J4 (W) - J3 (45) - J393) (15) (10) (14) EC2 (11) ,EC4 (18) (81) , J4 (5) ,E 21 - J2 (20) 22 - J2 (18) 23 - J2 (17) 24 - J2 (15) 25 ~ J 2 ( I 6 ) EC4 1 - E5 (24) 2 - E5(1J 3 - E5 (23) 4 - E5 (2) 5 - E5 (22) 6 - E5(3) 7 _- E5 (21) E5 (4) 9 - E5 (20) 10 - E5(5) 11 - E5 (19) 12 - E5 (6) 13 - E5 (18) 14 - E5 (7) 15 16 17 18 19 - 20 - 21 22 23 24 - 25 - E5 (17) J4 (N) J4 (P) J3 (81) ,J4 (5) ,EC J2 (85) , J3 (84) , J J3 (65) ,EC2 (14) ,SC3 (15) J3 (64) , EC2 (15) , EC3 (16) J2 (47) , EC2 (16) ,. EC3(17) J2 (46) , EC2 (47) , EC3(18) J2 (72) J2 (23) 122 RC1 1 2 3 4 5 6 - HOv, FUSIBLE FUSIBLE , RCI (5)" HOv, INTERRUPTOR • R C I ( 2 J , TF, VENTILADOR, Ll TF, VENTILADOR, Ll RC2 1 2 3 4 5 6 7 8 - TÍO (3) ,RC2 (5) GND TF , PUENTE DE DIODOS TCG168(AC) TF, PUENTE DE DIODOS TCG168(AC) RC2 (1) ,PUENTE DE DIODOS TCG168 ( + ) ,CAPACITOR lOOOuF. PUENTE DE DIODOS PDA98O-1(+),J4(2),CAPACITOR 22OOOuF,R TF, PUENTE DE DIODOS PDA980~1(AC) TF, PUENTE DE DIODOS PDA980-1 (AC) . V. Todas las pruebas que se hicieron al sistema tuvieron resultados totalmente satisfactorios. Dichas pruebas incluyeron el uso de un microprocesador externo al sistema, concretamente el 8035 de INTEL CORPORATION, y diversos circuitos periféricos de los uPs. En cuan- to a los programas, existen los inconvenientes señalados en la Introducción de esta tesis, debido a las lii mitaciones existentes al momento de de desarrollo, inconvenientes que pueden ser superados alterando un poco dichos programas. No se recomienda contruir uno o mas sistemas idénticos a éste ya que hay muchas funciones realizadas por "hardware" que pueden ser incorporados a los progra. m-as monitores, de ahí que, en caso de quererse construir un sistema parecido, el sistema puede ser utilizado para desarrollar los programas respectivos. 123 El grabador de EPROMS incluido en el sistema, si bien no es esencial, sí es una gran ayuda al momen- to de querer implementar, en el posible circuito en desarrollo, los programas desarrollados por el usuario. 124 BIBLIOGRAFÍA ¿ - COMPONENT DATA CATALOG, 1981. INTEL CORPORATION 8080/8085 ASSEMBLY L A N G U A G E P R O G R A M M I N G , 1978. INTEL CORPORATION MOTOROLA MICROPROCESSORS DATA MANUAL, 1981, MOTOROLA SEMICONDUCTOR PRODUCTS INC. 1982/83 DATA BOOK, ZILOG J - THE Z-80 MICROCOMPUTER H A N D B O O K , WILLIAM BARDEN. HOWARD W. SAMS S CO. INC. 2-80 MICROCESSOR 1978 PROGRAMMING AND INTERPAGINO, ELIZA- BETH A NICHOLS, JOSEPH C. NICHOLS, AND PETER BLACKSBURG CONTINUING EDUCATION SERIES 2-80 R. RONY. 1979. USERS M A N U A L , JOSEPH J. CARR. RESTON PUBLISHING COMPANY INC. 1980 MICROCOMPUTER-BASED DESIGN, JOHN B. PEATMAN. MC. GRANJA HILL KOGAKUSHA, LTDA . 1977 i MICROCOMPUTERS/MICROPROCESSORS: H A R D W A R E , SOFT- W A R E , AND APPLICATIONS, JOHN L. HILBURN, PAUL M. JULICH PRENTICE-HALL, INC. 1976 MICROCOMPUTER HALL , INC. INTERFACING, BRUCE A. ARTWICK. PRENTICE- 1980 THE TTL DATH BOOK FOR DESIGN ENGINEERS, TEXAS INSTRUV- MENTS , INC. 1976 125 VII. APÉNDICES Hoj as de Datos Listado de Programas 5 2 -•*, ro 01 o MM54C922/MM74C922 16 key encoder MM54C923/MM74C9232Q key encoder 5 5 N en U r5 5 N an U <*• general description Thüsa CMOS key encoders provide all thfl necessary logic to fully encode an array of SPST switches, The kuyboard icun can bu implomuntüd by uiihar an uxtttrnal clock or nxiurnal capacitor. ThustJ tmcodun alio havu onchlp-pull-up dev¡coi which purmil iwjiches wíth up to 50 kH on rüsistíinctí 10 bu uied. No diodus In thu iwltch array aru neodud to eljminatu ghoit switches. Tha Inturnal dubounca circuit nuudt only a vinuls uxiürnul cdpicttot and can bu dufuatud by oniiiUiiu the capacitar. A Data A va i labia ouiput goas to a hígh level when a valid kuyboard entry has buen made. Thu Dala Avaüsble outpul futurns lo a low levei when the entered key is releaitíd, av**n !f another key ií depreísed. The Data Availablu wjll fdturn high to índicata acceptance of the now key a/tur a'normal debounce padod; this iwo key loil over ií provldwd baiweeri any two switches. prouide (or uasy expansión and bus operaiion and artí ." LPTTL compatible. features • • On or o|( chip clock • On chip low pull-up duvlcus • 2 key roll-over » KuybouncB elimination wiih singla capacitor • Last kuy rugistür al outputs • • TRI-STATE outpuls LPTTL compatible • Wide supply ranga An ínturnal ruflistur remombers tho lasi key pressed uven altar Ihe key ¡v rttleased. The TRI-STATE* outputs r fr I'. 60 kH máximum switch on rusistance • 3V to )5V Low powtír consumplion connection díagrams i; :,' i i t ' Du.|.ln-L|n. ~ f,0» Du-Mn-Lm. U U ti — MUHYl — -UAIA'OUI C *0* Vi -ÜAIACIUt D — DAIAUUI D UYlDUNU UAIi — — oin7trrrií«rr sstfmsxm COLUHM k4 -i C01UUNX] — COLUMN kl — ano OftUf rJumb.i MM5XC922N ' orMM74CB22N Ofd.r Numb.r MM54C823N or MM7^C923N S*. Pick.0. 20A 1-136 £ -3 «luí _ Uu « _ n n • CN M a O> CB C *" "f s ~ CO _ _C (. w íTJ <D O CJ 2 •;; M "i— >- O t* 3 '•? S I S "5 i 2 O -J3 (3 — ™ y ;f ¿ e ^ (N ts ü < tí P1 p E 3 1) •^ "O ® O cD *-< O ^ !Í!-!í 1 X ._ E c» c • fr > . fl o ° .E "W ^ <-> 2 u U) P .£ ~ .i O. c, -"*" s O S t,' ^° o° : - 1.S >_ [j u o i; ÍQ to "g a. O > -J a. *"* ? 7 » a £ » £ .s > O => 2 o I |8 S u « »- 3 =* 3 f ~° SJ ¡3 *"• ? £ 3 o •— o •5 2. 4; ce «£, UJ H CE z o Q z o £ t/) S Z 1— a. 5 c X O z - •o 3 — * 'J *^ c e o " * S g 2^" Sc 10 > en> .o = 3 O M O U U» n r-. ^r —• ~~ _ — .. _ — — . " " — m pj n' 1 0 . . . " - . — va r ^ ir» - . — — "í in O «^" ^* T u - | in «3 ^ . O "? ' — ^ >>> r~- IQ — - - . - O O O ' O O O Uí — - - -i--,--, n 3 < °. E — [N ~ °í "í E -C" > ^ T" aoo^'":1"':^ •— ° ° S S. E CJCÍG; < < < " 1 " < ^ < ^ . í - í r . f > > o~ao3.^."La->iíi-> " • 7 " í ~ T 2 2 S ° " " " ~ — i 1 ofN 1 o 3. 3. 3. < < < >>> — P í f ^ t O f V ' T " ta > > > >>> - -C" -* O 1 • S Ul ^ < LO > > ^ oí >" w ^.. > a ' »> - » — 5"a —i O "3S - e n r^ 5 i " 5 IU Í S „ - ooo " C J O O i - " 5? > )> ?bí 2O " 'f - ÍTV ^^ -5 - ^ - 2 o " S — S s 13 .¿O. 231 Oi¿ > •3 •5 • ~ ^ - T O O O uoo ooo O O O . ~ > ^ — > ^ "" ^ S > 5" o ü _r O "35 % r ? : o > „ _a r - => O > .—. f- o •«o " • oc >- • . _J " „ 3 ?^ ° 3 3 > * - 0 > 3 — f- - a - - _ , - - " Í : O O O x = a:° . 7 -• oX f x. = s- - 3 S a ^ 5 - O O" ™ §" M -^ 5 o ^ C J O O r ,, ii ' C J O O o o o o a o u o o ooo O O O ' t l ' í " ooo O O O J - ^ ^ I J i a ? ^ = > • * S Ü " 3 - IU X~ n. „ ooo O O O ™ _ r _ £ 5 5 e o C J ~ S rZ ^ "Zr " T í ? o S g ' S - J O - i O .« a. .3 R ^ - c o c : w ? (5 ! » _ 3 o C J ~ví O U A. j— Z -i t- UJ' ar < li- Ul U - es > !>* o > 3 „ 3 H > o :» . jí I_ -a L 0 t- I I 'I ~ 1(5 Ic5 1 —— — -a 3 5 - 3 3 - 2 ^ c a'' ~_ m : m :_ — _^ ° - _2 -° - • 31 X UJ a a. X LLJ a. . o" o" o* o" o" " o" ' S 2 1- 1 I —o, " I_ 5S i 5 -g > j u" ' a" " O[ÍÍO[íí o g o S > u j > i n ^ > m > ui la r*- \n r+- m r~m r-' -rv rrrr ^ < ^ < ^ < - r < U 0 !> i> T T L£> o" es > > > > > > o 5 g |2 > 1 5 > S S > o | > I | > | S > |S > o | o o o| o| ogcjg O O O O Of-)O¡-í _ = E E E E £ ^-- -q- •— r^ -«• — o — r* o — r* r ( N T H 3 < < < < < < ^ t n — .— 01 >>> ^ ^ o ^ ^ l •^ O3 n 10 ^ >>> MM54C922/MM74C922, MM54C923/MM74C923 ro N O) .de electrical characteristics (con't) U PARAMETER CONDITIONS TYP MIN • ISOURCíiQuíput Source Current (P-Chann«l) -1.76 -3,3 -8 -16 ' 5 'SOURCEOuiput Sourcn Currant (P-Chann»') VCC-IOV.VQUT-PV, TA - 25°c IsiNK VCC-GV, VQUT-VCC. Output Sink Currant (N-Channel) ' . 1.75 3.6 8 16 , - TA - 25°,c 'SINK VCG " iov, VOUT * ^cc* Output Sink Curj"em (N,-Channel) ( ' OJ o p5 a c electrical characterístics TA-25"c N O in from D.A, . jnto Hiflh Im pedánea Staie 1 HO ( 'H1 '• Proptiyutlan D«I«y Tlmü (rom Hlflh Irnpodunca St«tu 10 i • | .!>::! ííi •;;! ; •'/>.••; U MAX •• VCC - 5V 60 150 VGC - iov VCG-ISV 35 80 26 60 VGC * w RL-IO^ 80 200 V C C - 1 0 V C L - 10 pF Vcc-ISV . ,' 65 150 50 110 RL * lOfc, CL • 50 pF, (Fígun 2) Loylcul "0"or Loglcal "1" '/- TYP MIN RL-10k,CL-6pF,^frw*2; Propag^ilon Palay Tim« from Loflical "Q'.'or Lofllcil "]" 1 • - • * . . . . » CL - 60 pF, fF/gur» 1} i 'OH'llH ' CONDIT10NS PARAMETER tpdOi'pdl Prüp"(jat|on 0«|ay Tima to LÓuical "0" or Logicai "1" :, ' TACC-^CVOUT"°V' O in l:^ü¡ U MAX OUTPUT ORIVE (S« 54C/74C Family Characttriitleí D«» Shiwt) 5 2 ai ••" VCC-BV .RL-IOK VGC" i°v CL- 6o PF VCC-IBV 100 260 55 125 40 9Q, 7,6 C|N Input Capaciiuncü Any Input, (Note 2) 5 COUT' TRI'STATE Output Capacitünca 'Any Output, (Notu 2) 10 Nou lt "Abioluii M»x¡tnum R«lfnfl<" •!« thow v«lum Niyond whlch lh« lafaiy oí thí davic* cannol b« guaraniwd. Excepi for "O T«ntp*riiurt ñiintK" trwy »t* not rnaant to imply that iht devicaí »hou|d bu op»rai.id *[ ihow IrmJn. Th« ubi* ot "EI»ctrlcal Ch«r« providm condlljont for «úlual d*vica opttraiíon. NeuZi C.pMlunc.I.Bu.r.nMdby^rlodlet.iiinu. . . switching time waveforms ' *miv' |P W V CC ' OUTflil ÍMA 'UVCC " .-^ í— 'OH ANrdHEH •«" , UI1I i i IWn _ n . / L-. VCc .1 U[ —( u f— "*• u f- yff °*U - AVAILAILI / < ! ! / . 1 1- . . . _y i /^ <JV« > \ ' \/ U vee T^~Y_ 1 ' U '• OA|* OUIfUI V I IHI-ÍIATÍ* ' /-ce 'l|H-J|- f X"V C r *^ CC /uv« ^uüur \ 1 7-] o. J2 - RC, T3 - 0.7 RC wh.r» R - ]0k »od C Ii «xorn*! c«p*c(ior «t f<Bf4 InpUI. FIGURE 1 FIOUREZ . '7< finí *T»TC" •-- --- block diagram truth table ; 10 Y],X1 Q..,, Yt.XJ YI.X3 t O Yl.XÍ 1] 13 13 -Vi. 1 D O .1 , X< O , I 1 I . | ) o i i U i U i i Ü t O Vb'.XI t D Ü a ] i Ya'.XJ VB*,X] Yíi'.X) *0mll lof MM6-*Cfl22/MM?4C922 typical performance characteristics Typ|c«l lfp v* V|fg «t Any V Input l RUI, v» V O UT •' A||V Oulpui 1-139 %.y*Í.Ty • iu • ' ' ::;^' . i;r'-;' , 1 " v .1 ! ''• :: • : . ";1 »-.• ';Í- íí'íí ¡!.:¡!j r§ r - li ss . "" 00 ^£: 1 ^' 11 a. 11 í.l " ' 1 i ¡i!:- )«l . 0 1 "1 e. 1 - : c typical c pplípíitio is ; '- Synohf JÍ10U» H.ndUi4k. (h1M74Cfl22| UM74CI i • T .; . •• ' .• ' Synohtonou» Di U, Enry Onlo Bui (MM74C822) "" i WMMCÍI2 • . J f I * XI [7 *•" C 1 0 __ Yl A l ( l—— Yl Hl t D ; ID DAIA lUf , DA —i UMMCM - D A T A AVAIUILI BI DIC 1 U • ci J í | A 1 1 — — f t C~ 0 4 —— i—»• D A T A A V A l t A I L t flf H CLO IIEENOIE D h / 1 UM74CI2Z •=• i. •_ F7 |.j{| )ÍJ —•— X ] J ', ¿¿ ; i' ' í i b t - i A 1 1 -—-- Yl r F n r : J í . 1-1 • *' _^ T O O A T A I O I VI Y! * ° E 1 o«| !'i: —r— C -T lo* "' ^1 L^<H ' l/l MCM . ' • • • Ouiputt »r* n TRl-STATE unrll key ii preited, ijien daia U placed on büi, Whon íc«y It r« «a^d, ouipun murn 10 TRI-STATE. Not* 3; Th« k •ybo.rd may b* lynchronootly »c»nn«d by omlttlng int c«o«cltof >t oéc. .nd drlu no «c. dlr-ctly U th» iv.wm clock f»ta i [ov»»f th •n 10 hHi, 1-140 1 ' '' 1 A*ynchr Miouc Oni Entry Onto a ni (MM74C922) t 1 ' 'T Ouiputi ar« en ttblfed whn D val id antry i mada and 80 inioTRI-ST ATE wh« i kay U r* Mi*d. i í'.íjí; !,• -. ![if! ' . TO DATA luí ->• A yi 11 Y4 ote lysi .t ; 2 1 c —> 1 —, Yl 3 a . IHEtfOHIE) {'•;,'• 1 D — —~* IINVITATIDM} , E^ABLE ouipui ' -*• 0 X2 1 1 C 11 UM C OCXK-H JUENO TU) J. X( : *• 1 F * - •» , XI 1M • ! 3-' IB CK|M ti Fl Coic.WI i f-l'ví. ..<• Typlc«J D»boUí>c» P«r[od 0 ! r -*f ,, j ryplotí FSCAN w cosc l^jii;1 ! l : : : ''l' 1 : *.: .• . V IHHIí! 1 ¡¡¡^ ¡ II I1IR . • • •• m typical p erforrpance characterjstícs (con't) DtlOU*CE fíRIOD OíCOKOSI 'ííí MM54C922/MM74C922, MM54C923/MM7j4C923 ".i!;/ ^^7ífr'^ilwT*-^^^>ifc*í*^*ívíifii^f^í^ • ' r Z80-CPU The X.ilog X.KU produel Inie is ;i compleie .sel oí' niicroL'ompuU'i componen!*, di'vclnpim'iil sysU-nu; and Mippoi I .snUwan' llu» /.SU iiiiciuciHiipiilt'i rumpiuiiMil M'l iwlmli". :i]| ni Míe c t m i i l s necessaiy ln binlil Ini'.li pi-tlnimana. 1 microcompnler sy.siem.s wilb virinally nn oiber Ingic ¡uní ;i i n i í i i i n t i n i n n m h e r nl'Jow cnsí s l a n d a i d memnry elemenis. The X.KO-tTU i* ;i l l i i r t l g e n e í a i i n n single c h i p micrnproeossot wilb unrtvaled cmnpiilaimiial powcr. Thi.s inereased c n i n p u l a l i o n a l power residís in bigher sy.slem thruugh-pui ;md more eiTieieni nieniury u i i l i z a l i u n when compared lo seeond g e n e r a l i n n mierocompnler.s. In addflion, llie X.HO-CTU is veiy e;i.sy lo impleinenl inlu ¡i .syslL'ni beciinse of ils single vollüge iet|iinenieni plus ;ill oiilpul .signuls ;ire l'illly ilecudcd ;ind linied lo uonliol .sl;ind;ird-nieniory ui p e r i p l i e n i l c n o n i l s . lile c i r c u i i is implenieiued u.sing un N-chumiel. ion iinplnniüd.silicon guie MUS pri)L-e.s.s. l ; igi;re I. is ;i bloek dniguini oí l l i e CI'U, l-'igme J del;nl.s thc inierniii regisier conriguialion which e o n l a i n s JOS b i l s oí' R e u d / W r i l e meniory i h a l aie aeeessible lu Ihe p i o g i a m mer.The regisiers i n c l u d e i w u .seis iil'.six g e n e i a l pnipn.se regislers i b a l inay be nsed i n d i v i i l i i ü l l y ¡i.sK-bii u'g^leis oí a,s 10-bil registe i jJair.s.Tbeie ;ne also lwo .sel.s .il';n n i i n i i l u l o r and l'lag legisler.s. The p i o g i a i n i n e i lias ;n.\ ^ lo e i i l i e i sel oí' nuun ur allánale legisléis lluoiígli a gioup oí'exchange i n s l r u c l i n n s . Tlii.s a l l e r n a l e sel allow.s roregroimd/ backgronnd innde ol'npeíaiion or inay be leserved Inr veiy l a s L ' l n i ü r r u p t response. The CI J U also e n n l a i n s a l ü - b i l siaek puinier which permils .simple impleinenialion of Product Specif ica n u d l i p l e level i n i e r r u p l s , i m l i n i i i e d s n h r o u l i n e i o r m a i i y lypiíf» n ú l i i i u b a n d í n ^ . I bf I W u Id b l l l i u k \s .illuw NilMll.U d.il.i i i i . i i i i l a l m i i ;md easy i m p U - t i i c n t a l i n n oí ie]oc:il;ible i-ui K e l t e s b legislcr provides loi a i i l o n i a l Í L ' , I n l a l l y ir lelie.sh ni c - v l e i n a l ilynainu' memoiies. 'I be I iegis ¡n a poweil'nl i n l o m i p l ii-spunso moile In lorm ll l u i s ni .i p u i n l i ' i lu a i n l e i n i p l seiviee atldiess l.ib Ihe n t U ' i i i i p i i n g device snpiibes l l i e Inv/ei ¡S h i l s n p n i n l e í . A cali is iben m;ide In i h i s service adilres .Snií'Ji- f l u p . N-cliainu'l Silicnu ( i a l i 1 l'l'H. I i.S i i i s l i n e l i n n s iiiehak's a l l /N oí l l i e HUISUA Iions w i l b I n i a l s n l l w a r e c o m p a l i b i l i l y . New m l i n i i s i i t i ' l n d i ' - I . .S and I d bu n p e í a l i n l i s w i l h UM'lnl adilu'sMii^ n m d f s Mich as n u l e x e d , b i l a ]7 ink'inal K'gisU'rs. Tinco tundes oí' lasl m l c i n i p l respoiise plus a maskable n i l e i r i i p l . D i i c c l l y n i i c i l a c i ' s s l a n d a r d speed si a I ¡o nr d y memniii's wilh vnlually no i-Mema! logic. I .d /Js i n s l i i i L M i n n exeL-iilinn speed. Single 5 V l ) t ' Mipply and single-pba.se 5 voli C Oni-poiTorins a n y n l b e i single chip n i i c r o c n m -I-, iS-, oí Ki-hit applicalion.s. A l l pnts T I L C ' o m p a l i b l e Buili-in dymimie RAM refresh circuilry. iihini /uuii ' Z80-CPU BLOCK DIAGRAM i un.:, 280-CPU REGISTERS Z80-CPU Pin Description 11ALT (Hall slale) Oulpul, aclive low. HALT inclici Ihe CPU luis execuled a I I A I . T . i i i . s l i n c l i o n and is a w a i l m g c i l h i M iiia.skahk' oí a ma.skahlt 1 n i l n i i i | i the ina.sk enahk'd) bufore o p o u i l resume. W h i l o halled, I h e CPU e NOP's lo muinluin memory ref'r aclivily. WAIT (Wail) Inptit, aclive low. WAIT indícal Z-80 CPU I h a l the addressed me I/O devices are nol ready Ibr a d transfer. The CPU c o n t i n u e s lo s l a l e s l o i as long as t h i s signal i I NT •(Inluiiupi Requesl) I n p u l , aclive low. The I n l e r r u p signal i s g e n e r a t e d by I/O device requesl will be honored al the e currenl inslruclion if Ihe i n t e r n ware c o n t r o l l e d i n l e r r u p l enabl ( I F F ) i s e n a b l e d a n d if Ihe BUS ¡s nol aclive. NMI (Non Ma.skable liilertupt) I n p u l , aclive low. The non-mas i n l e r r u p l requesl Une has a h í g h (han I NT and is always recogni/. end of I h e c u r r e n l i i i s l r u c l i o n , denl of Ihe s l a l u s of Ihe i n l e r r u Ilip-llop. NMI automalicaJIy Ib Z-8Ü CPU lo reslarl lo location RliSliT I n p u t , active low. RliSliT iniiia CPU as íbllows: reset inlerrupl Ilip-llop, clear PC and registcrs and sel ¡nterrupt lo 8080A mo resel time, Ihe address and dala a high impedance slate and all c o u l p u l signáis go lo t h e inacliv BUSRQ (Bus Requesl) I n p u t , active low. The bus requ is used lo rcquest the CPU addre data bus and tri-stale o u l p u l co signáis lo go lo a high impedanc I h a l o l h e r devices can c o n l i n l ( UUSAK (Bus Acknowledge) O u l p u l , aclive low. Bus acknow used to indícale lo (he requeslin t h a l the CPU address bus, d a l a trí-slale conlrol bus signáis have lo I h e í r high impedance s l a l e an externa! device can now control Z80-CPU PIN CONFIGURATION (Address Bus) D0~D7 (Datu Bus) Tri-state o u l p u l , active high. A r j - A [ 5 c o n s l i t u t e a 16-b¡l address bus. The address bus provides Ihe address' Ibr memory (up lo 64K bytcs) data exchangcs and Ibr I/O device data exchanges. Tri-stalc ¡ n p t i l / o u l p u l , aclive high. DQ- Dy c o n s t í l u i e un 8-bit b i d i r e c t i o n a ! data bus. The dala bus ¡s used Ibr dala exchangos vvilh inetnury and 1/0 doviees. M| (Machine Cycle one) O u l p u l , active low. M | indícales ( h u í t h e currenl machine cycle ¡s Iho UP code fetch cycle ol'an inslruclion execulion. MREQ (Memory Request) Tri-slate o u l p u l , active low. Tin.' memory requesl signal indícales t h u l Ihe address bus holds a valid addross for a memory read or memory w r í l e operulion. IORQ (inpul/ Output Requesl) Tri-slale o u l p u l , aclive low.The I ORO signal indicales t h a l Ihe lower hall" ol'lhe address bus holds a valid 1/0 address Ibr a I/O read or wrile operalion. An IORQ signal is'also gencraled when an i n l c r r u p í ¡s being acknowledged lo indícate t h a l an interrupl response vector can be placed on the data bus. RD (Memory Read) Tri-stale o u l p u t , active low. RD indicales t h u l the CPU wanls lo read data froni memory or un I/O device. The addressed I/O device or memory should use íhis signal ío gaíe dala onlo the CPU dala bus. \VR • (Memory Wrile) Tri-stale o u l p u l , aclive low. WR i n d i c a l e s thal the CPU dala bus holds valid dala lo be siored in Ihe addressed memory or 1/0 device. RFSH (Refresh) O u l p u l , aclive low. K F S I I indicales I h a í the lower 7 bits of Ihe address bus contain a refresh address for dynamíc memories and the curren! MRIiQ signal should be used lo do a refresh read lo all dynamic memories. TimingWaveforms The program cotinlcr conieni (PC) is placed on Ihe address bus immedialely al Ihe .slarl of (he cycie. One luí 11' clock lime l a l e r MRlíQ gocs aelive. The fallingedge oí* MRHQ canJjtMised direolly as a chip enable lo dymimic mcmor¡e.s. RO when aclive ¡ndicales t h a l Ihe memory dala.shonld be enabled otilo i h c í T U d i t l a bus. The CPU samples dala w i l h Ihe rising edge of íhc clock stale 'l'3. Clock stales 73 and 1*4 of a felch cycie are u.sed lo reí'resh dynumic memuries while (he CPU i.s i n l e r n a l l y decoding and execuling Ihe inslrticliun. The refresh control signal RRSH indícales ihal a refresh rcad o f a l l dynamic memories should be aceomplished. II l l l u s l r a l e d here i.s Ihe lin.iing o r m e m n r y read or wrile eyclcs_olher i b a n an 01* code íeieh (M ¡ cycie). The M R K Q and RD signáis are uscd exaelly a.s in I h e l'oich cycie. I n •llie cuse oí':! memory w r i l e eyele, Ihe M R K Q al.sn heconie.s active when Ihe address bus i.s stable so Ihal il can be used direclly a.s a chip enable I'or dynamic memories. The \VR line is active when dala on Ihe d a l a bus is .slnble .so I h a l ¡i can be u.srd diu'dly a.s'it K/W pnlsi 1 hi v i r l u i i l l y any lypi 1 oí' semiconduclor memory. INPUT OR OUTPUT CYCLES llluslraled here is the timing I'or an I/O read or I/O wrile operalion. Nolice Ihal d m i n g 1/0 operalinns.aCingle wail slute ís aulomalically inserled (Tw*J.The reason lor lilis is during 1/0 operalions ihis extra .slale allows sufilcienl lime for an I/O port lo decode its address and a c t í v a l e the WMT line ¡f a wail is required. INTERRUPT REQUEST/ACKNOWLEDGE CYCLE The i n t e r r u p L signal is sampled by Ihe CPU wilh Ihe rising edge oí" Ihe Insl clock ul the end oí'any inslruction. Wlien an i n t e r r u p t is accepted, a speciai M | cycie ¡s generaled. During Ibis M ] cycie, the IORQ signul becomes acíive (ínsíead ol'MREQ) to indicaie thal Ihe i n l e r r u p t i n g device can place an ü-bil vector on tlie data bus. Two wuit stales (Tw*) are a u t o m a t i c a l l y udded lo ihis cycie .so Ihal a ripple p r i o r i l y i n i e r r u p l scheme, .such as Ihe une used in Míe 280 peripheral conlrüllers, can be easÜy implemenled. C I HÍFKÍSII*D»M "> ~ x X '(i yt y. V. T -'- ! S-BIT AL I" ITT J^PH '- <~_^- £ ^— ^ > c ', > ~ w X X X X X ' £ ~" C- CT ci, 3 C- U ^_ O Ml : MORV BLOCK S t A K C H H S x ~ x ^ x x ^ x — x— ~ ^ r f¡ ^ - t F ^ F ^ J i ij ? ^ - X V. v y. T CT H T* y — ~ C> y. 1Z ^ H! —' w ~r ^ C 16-BII LUAUÜ — CL L- C- C. L- ~ L_ MEMORV BLÜCK MOVES = ~ÍJ^ x ~ x ~ x _ > ... >- C. C- ^_ > ^_ -r ^ i ^ O =-. V: f^; § ? tu !!' tlí lil : ~ -< ? - : " — ~ ~ £sJr' ~^- crr oN c——^ cr =:r ll¡ I ' ' Z ^ L - '" I r- § ~ 2: ~ ^ TT - - C- c. c_ á S ^ fr ^ ^. ir H r. — H> 5! ^ — '__ ^' x — r-J 73 - =. Í Í = I' I - » =.- r i: 2 C " z: ~ r^ •^ zr — RETL'RNS J ,-rr n ruT \-* ^ !- y. ^ ~ ~ ~ -^ ./•. "~ • •^ /— r, — ^ ^ ^ — r. „. ^- "-; — £• X -1 3 V > C 3 , * 33 S" ~> lor —i~ § ^ — RESTA RTS C1 ^M ' > ~ 1 5 j s ^J-" | ü 5 ni o ' s '\ r. ^" C. r. rl ^ - ~ ! \ :/: :.^ ~ 7- /• f Lj_ _^ -. — d = - X- iT £- ^ ^r JUMPS — 7:^ ^ "- = = = £ § * r |í = — ^"^ / ^ — > 2 ". 2 \ ^ ;: ñ í i í £• i = = 2 x d =• ~ E" =• ~ — ."• = ~"~ ^ -— - ~ <*"; K i -j - y x y. - - - ~~* ~ C! ' C * - i *— ' - r~ ^ O - " • < -í- "* — ~ 5 " ^ 3= . C ^ - ~ ^ il - ~ "* C *I = ~ "' ^ _ _ ~ '' il C.' 7= >• l Q í" cr 1 J * F i —• x " ^- 4 u~ cr cr g %= r- BIT S. R. & T í " — •*"' X £1 ^ =• ^-' 2 ~ rr Ü V. re o r; _C C GC r- £ rs f | |3 2 2 2 2 '_ ^2^ — ' — S 8-BH ALL' ->Z|^i,i^L^'--.l-^."~''" 1> ± ^ ^ ^ 5 5 x g xs < * -c ' "^ H5 ¿ — i -•- "-^ E E E -H • •. • _ _ _ _ _ '£ '•*•'•* '-s. x F —= > ^ >> ^ < > • ~ ^ •" ^ 0 C C — ' ^ — C E: — ^~ 5 16-BIT ARITUMLTIC = £ _ = § : :< K p l^í Ér i ^ c INPCT AND OLTPIT " =- | ~ Z Ti 33 —*" ü ^ >• *-* <~. ~ ^ — — ' — ~ ¿ H C 1— >• 2 ^ T- GIJ ACC. ¿ I : LAG -: -: > > *• E 2 E ^ 5 = | MISCliLLANtOCS i ? ^ ^ir^^ir^ \ £ = li t 1 " 5 CALLS r. 1 r— ts. JL ROTATKS AND SHII-TS A.C Characteristics T A = 0°C io 70°C, Veo = +5V ± 5';?-, Unless Olhcrwisc Nüted. Sigiwl * -I l, l w ('Hl) 1 CU.) nih-n'iiKrWiillli.rlik-Mlitili l'louk l'iilw WulMi.t'lock l.uw Clud líiwaiul I-jICliiiie 'i.r Atlilu'iis üi[i]xn Dcl.iy Dohiy ID RiKil Ailtlivn Sulik' l'inil tu MlíFO (Müiiiiiiy í>-k'l A.lilrfsH.Si.ilik-1 i.t HWIJ. KlJni WR (l/OCytkl Adiltm.SMlili- t-tiiin KD.n Wíí Aüihtí^ Sulili- l'i.nn KDni Wll Diinni; H".U 'lí (Al)) l h (Al» A(H5 1 ., l.i 'cal' DJ|J ()iil|nil |)cl.iy IX-|jy io l'liui DiiiiiiitWiiU'l'ydi' l)j|.i.Si;iii|i lime lu Ki-iint; 1 dniM't l'liHk Din ni): MI l'vvU|)jlaSflii]i lililí- hil-.iHnin l-dni' .il l'ltKV. Diiinn; MJ i" M> Dji.i.si.il)kiriiui i.iU'U (Müimiiy C'yck) UjUSulilfhím ii»WR|l/0(>ltf| M.iM.Sl.iliU-IiMihWK M)íD) '.S'MMl "0-7 l.S'l'(lí] 'd.i Vdl AllV Mullí lililí' [ni Sk'lllp lililí' 'I! 'oí ÍMMK) 'lMI'l'(MK) MRlTO 'nii'MMK.) 'wlMUI.) 'w(MRll) 1ÜKQ 'DI *"(1K) 'l)ll'l'|llí) 'niÑMlK) 'ni'iMiun KD 'Dl'MliDl 1 DII'!'(I<D) "DIHMKDI Mlíl y DL-IJJ l-iiini I-.itlni|i 1 \\ff »\. Mlíl U 1 .'» MUÍ f) IK-ljy Muí» RiMii)- 1 düi- »I Cl». (.. MUÍ l) ll^li MRl'y lH.n l'iuiii I'.ilhnn 1 d^- »l rUk. MUÍ U llicli l'nlwWidlli.MRI-Oln» l'nlu- Wnlili. MKI-yiti|!h IOI4U IVUv l-i.Hii RiMiicl .I^-nl CltKk. Klltlj I«m I11IÍU IVI,i\ [.'iii IMÜIIIH 1'iltuMtl Clii.k. IDIii; | .m IOUU ikij) I-I.MII UiMutt [ i)^ «u fi.vi,. mili; M.di lORi; IVljy 1](DDi'l.iv KDDH.i; KlÜk'l.u KD IM.iy lililí .» JJ\Ci imi IIM'l til IIM'C •un IIM'l [00 IIM'L' IH IIM'L' ri i'l llM'l H! 1l\fl IMI mee 111(1 tlWi IIHl HM'f HUÍ HM'l M IIM'l 1'>I IIM'l 11 IIM'I 1.111 IIM-1 lili HM'l I MI HM'i !»i l"l — ... MU IIM'l 1 Ul »*r. " 1 Ul IIM'I Mi IIM'I 1 iil 1 •(! IIM-I un IMI llM'l IIM'l Wlí IH.iy l-iniii Killmt: hd^ ai Clo.k \\ lililí IMI 'UI.(Ml) MI Dolay l-'foni lliMiijíl-dsfiil Clik-k.Ml 1 ow MI IVIüyhomRKiiitíl'diiviilt'lik-k.Ml MilJi inij KKS1I Dd.iy l-ioni KIIIIIK l-.ilBi- "I Cltk-k Ki-.Sll |.nw Kl-'SII [V|j) l-iDiiiKiMii^l'dKODlCU'k.KI-.SII Elidí IIM'l li.n IIM'l .' 'u IIWl 'nit IIM-L '0(1 lili' i' HA'Cf "U HIT) I1AI.T Duhiy Time l;iom l;;illmK l'Jiíe u| flturK INT '* IT) JN'I .SL-IIIJI I mif lu IÍIMIIR hljji- "1 CliK-k ni IIM'I l'iilwWntili.NMI l»w Ul IIM'l 'illMJ) HUSUíJ .Stflup l'iiiie lo KbiiiK \*\W ni Cl.uk /(i IlM'l1 'DI (HA) 'DIKHAJ HUSAK IH'ljy I;ium Rtkiii); I'.d^- ni flock. I1USAK 1 «iw HILSAK IM.iy 1-initt I-alIniB I'-dp! oí í'l^-k. 1IH.SAK lililí 's[K.S] RI:SI:T .Setup Tune ID Kisitig Üd&n uI'L'loL-k 11USRO kisirr l l- (O ) Dclay lo l-l.ui [MRI'y.ltHty.llñaiía Wlí) l'l M)]i| ( | Ml|.| 1 | ->U,i| r, Mi|i| •ll\4'l Mwn [ w(NMI 1"! IIM'l WAÍT NMI tUItpl' |[\l'l IIM'I . WAI'T .St'ltip Tune (u l-'alltii); l'.dne oí ['liHjk Cj I1MY i ni 'DI-tRI-'l 151 I'I MI) 'un iRi ; j f| -lüOiil-' IIM'l U'K IMjy 1-i.nii KIMMH IMpc ni 1 1»,K. Wlí 1 un Wíí IM.[> l-iniii l-ulhiig \vlff! ul l'liní. Wlt I nw I'HlM'WldlIl.WULtlW l't-M Cniíilioii IIM'I 1KII i Kdlnn; 1 .l^- ni flink. |U|íy llijji I muí KiMM)'.ld|'.r ni! !<>a K D I o w l'iotnl .illmc hlitrul 11»» 1.. UD 1 "« lioMiKiMM^Id^'oiriocK. lílllli^i t-iuiii l-jllnifí 1 \\f>í oí Cl.icí, Kl> Ihitlt Max 'tlI'l-lWU) "UI'I'IWH) 'Dll'MWK) 'wtWRI 1 'un (MU RHSfí Muí l'jraiin'liT .Symliut Vü llM'l' Mil HWt IMI IIM'i I SI) IISl'l' 71) f|_-Sll|il- ( | -5l)|i|' 1IWC ][)<) lltLY I. Dala ihmild Ite eiuhleil onlo lili-t'l'lJjNiiii luis wlicn TTÜ n aclive. Dllimn iMk'ilU|)t .k'kiio JuiuU fie i'iialik-il wlK-iiívTÍ aiidTüIÍU .»e linlh .ii'livc '. AII ciuiliiil MKiuh ;iif inli'ni.ill', syndiioni/i-d. MI Hn-y in.iy I u- int.illy asvmliioiiniis willi lu lliu dock. 3. TheftüSETiíglial lilliil l)i; uiilive liif J illiiiiiiliini ul',1 clook cyclui. Ltnd cu un 11 l'ur Üulpul >,,,.„, -I C -JIK) 8085A SINGLE CHIP 8-BIT N-CHANNEL MICROPROCESSOR • • Single +5V Power Supply • 100% S o f t w a r e Compatible with 8080A • 1.3 /Js Instruction Cycle • • On-Chip Clock Generator (with External On-Chip S y s t e m Controller; Advanced Cycle S t a t u s Information Avaílabie Serial In/Serial Out Port » Decimal, Binary and Double Precisión Arithmetic Crystal or RC Network) • Four V e c t o r e d Interrupts (One is nonMaskable) • Direct Addressing Capability lo 64K Bytes of Memory (or Large System Control The Intel - 8085A is a new generation. complete 8 bit parallel central processmg unil (CPU). Its instruction sel is 100% software compatible witn the 8080A microprocessor, and it is aestgned lo improve the presenl 8080*s performance by nigher syslem speetí. Its high level of system integralion allows a mínimum syslem oí three IC's: 8085A (CPU), 8156 (RAM and 8355/B755A iROM/PROM-. The 8085A incorporales all of the íeatures that the 8224 (clock generator) and 8228 (system controller) provided (or the 8080, thereby oflering a high level oí system integralion. The 8085A uses a multiplexed Data Bus. The adaressissplit betweentheS bitaddress bus and the 8 bit data bus. The onchip address latches of 8155/8156/8355/8755A memory producís allows a direct inierface with 8085A. 8085A CPU FUNCTIONAL BLOCK D1AGRAM ÍMA INTR ' RST66 RS? 5 5 ' "SUS THAP | SID SOD b BfG Rió ftC • C DEC [ R[G L HtC i t ' StiCf. POlf.TIH '* SUPPLY 1 —GND i'.;-í'.'ÍMER OtCflEME'.Tfo iO?«ESS .¿TCM •, ' R£C 'AHH 8085A 8085A FUNCTIONAL PIN DEFINITION The following describes Ihe function of each pin: A 8 -Ai5 (Oulput 3-SlnU) Address Bus; The most signiiicunt B-blls of the memory address or the B-blts of the I/O address, 3-stated during Hold.and Hall modes. x, C 1 x2 C 2 ^""^ 40 RESETOUT C 3 'JB SOD C 4 37 S!D .C 5 36 Mulliplexed Address/Data Bus; Lower B-bits of the •memory uddross (or I/O addross) appear on the bus during Ihe first clock cyclo of a machine' stale. It then becomes Ihe dala bus durlng the second and third clock cycles. 34 3 HSTB.B C B 33 RST 6.5 C Q 32 30BÜA 31 INTA C 11 3-stated during Hold and Hall modes. ALE (Output} Addruss Lalch Enablo: It occurs during Ihe llral clock cycle of a machine slate and enables (he address to gel latched into the on-chip lalch oí peripherais. The f alllng edge. of ALE is set to guaranlee setup and hold times for the address informalion. ALE can also be used lo strobe the status Information. ALE Is never 3-slaled. HOLD 3 HLDA 3 CLKIOUT) 3 íTÉsTTTÑ RST 7.5 C 7 INTR C 1U vcc 3S n READY THAP C 6 AD0.7 (Input/Outpul 3-itale) 3 3» 3 IO/M 3 s, 3 R° 3 WR 30 3 ALE 3 s0 3 AIB ADfl C 12 2tí AD, £ 13 2Ü AD 7 (I 14 27 3 A H AD 3 C Ib 2ü 3 A ] 3 AD* C 16 25 ADS C 17 24 3 A u AD 6 Q 18 23 3 A 10 AD7 C 19 22 3. C 20 21 3 A, vss So, Si (( AB Dala Bus Slalus. Encoded status of Ihe bus cycle: 0 1 0 1 HALT WRITE READ FETCH Flgur* 1. 8085A PINOUT DlAGRAM ST can be used as an advanced R/W status. buses in Ihe nexl clock cycie. HLDA goes low alter the Hold request is removed. The CPU lakes the buses one halí clock cycle after HLDA goes low. RD (Output 3-iltl«) INTR (Input) READ; indícales thu soledad memory or I/O davlce Is lo be read and thal the Dala Bus is avallable (or Ihe dala Iransler. 3-stated during Hold and Hall. INTERRUPT REQUEST; Is usod as a gonural purposu Inlerrupl. II is sampled only during the next to tho last clock cycle oí the instruction. If it is active, the Program Counler IPC) will be inhibiled (rom incremenling and an INTA will be issued. During this cycle a RESTART or CALL instruclion can be inserted to jump lo the inlerrupt service rouline. The INTR Is enabled and disabied by software. It is disabied by Reset and immediately alter an Interrupt is accepted. wW (Output 3-iUI») WRITE; Indícales the data on Ihe Data Bus i,s i" be written Into Ihe selected memory or I/O locatlon, Dalu is sel up al the traíllng edge oí WR. 3-stated during Hold and Hait modes. READY (Inpul) INTA ( O u l p u l ) If Ready is high during a read or wrlte cycle, it Indícales that the memory or peripheral is ready to sentí or receive dala. IfReadyisIow, (he CPU wíllwait for Ready togo high before completlng Ihe read or write cycle. INTERRUPT ACKNOWLEDGE; Is used Inslead of (and has the same timing as) RD during the Instruction cycle after an INTR is accepled. II can be used to actívate Ihe 8259 Inlerrupt chip or some other ¡nlerrupl port. HOLD (Input) HOLD; Indícales Ihal anolherMasterlsrequestlng the use of the Address and Data Buses. The CPU, upon receiving the Hold request, will relinquisn Ihe use of buses as soon as the completíon of Ihe curren! machine cycle. Internal processing can corjtinue. The processor can regain the buses only atler the Hold is removed. When the Hold is acknowledged, the Address, Dala, RD, WR, and IO/M Unes are 3-staled, HLDA (Output) HOLD ACKNOWLEDGE; indícales that the CPU has recelved the Hold request and that ¡t will relinquish the RST 5.5 RST6.5 RST 7.5 - (Inpuls) RESTART INTERRUPTS; These three Inputs have the same timing as INTR excepl ihey cause an internal RESTART to be automalically inserted. RST 7.5 -»- Highest Priority RST 6.5 RST 5.5 ->• Lowesl Priorily The priorily of theseinterruptslsorderedasshownabove, These interrupts have a higher prlority than the INTR, 8085A THAP (Input) Trap Inlerrupl ¡s a nonmaskable restar! interrupt. It is recogrmed al Ihe same time as INTfl. II ¡s unaflecled by any mask or Inlerrupt Hnable. II has Ihe highest priority of any inlerrupt. The 8085A provides RD, Wfi, and 10/Memory signáis bus control. An Inlerrupl Acknowledge signal (INTA also provided. Hold, Ready, and all Interrupts synchronízed. The 8085A also provides serial input (SID) and serial output data (SOD) Unes íor simple s Inleríace. RESET IN (Inpul) In addition to these íeatures, the 8085A has t maskable, restar! Interrupts and one nonmaskable ¡nterrupt. Rusel seis Ihe Program Counler lo zero and resels Ihe Interrupl Enable and HLDA (lip-ílops. None of the oíher (lags or regislers (except the inslruclion register) are allüded. The CPU is held ¡n the resé! condition as long as Resel ís applied. HESET OUT (Oulpul) Indícales CPU is being reset Can be used as a syslem RESET. The slgnal is synchronued to the processor dock. X , , X 2 (Input) Cryslsl or R/C natwork connecilons to sel the Inlernal clock generalor. Xi can also be an exiernal clock input Instead oí a cryslal. The input frequency Is divíded by 2 lo glve Ihe Internal operallng (requency. CLK (Oulpul) Clock Oulput íor use as a system clock when a cryslal or R/C neiwork is used as an input to the CPU. The perlod oí CLK Is twice the Xi. X2 input period. IO/M (Oulput) IO/M Indícales whelher the Read/Wríte ¡s lo memory or 1/0. Tri-slated during Hold^and Hall modes. SID (Input) Serial inpul data lino. The dala on íhis line is loaded inlo accumulalorbit 7 whenever a RIM inslruclion isexecuted. SOO (oulput) Serial outpul data line, The oulput SOD is sel or resel as specilied by the S1M fnslructlon. Vcc *5 volt supply. Ground Relerence. FUNCTIONAL DESCRIPTION The B085A Is a complete 8-bil parallel central processor. It Is designad wilhN-channel depletionloadsandrequjresa single t-5 volt supply. lis basíc clock speed is 3 MHz Ihus Improvlng on the presenl 8080's performance with higher syslem speed. Also II is designad lo lit inlo a mínimum syslom oí three IC's: The CPU. a RAM/IO, and a ROM or PROM/IO chip. The 8085A uses a mulliplexed Data Bus. The address Is split belween Ihs higher 8-bit Address Bus and the lower 8-bil Address/Data Bus. Durlng the flrst cycle the address la ssnt oul. The lower 8-blia are latched inlo Ihe perlphorala by iho Adtíresa Laich Enable (ALE). Durlng Ihe rest oí the machine cycle Ihe Data Bus la used íor memory or I/O data. &¡K-:M£Üi;KíW:'- 8085A vs. 8080A The 8085A Includes Ihe (ollowing íeatures on-ch addilion to all oí the 8080A funcllons. a. b. c. d. e. I. g. h. i. j. Inlürnal clock generator Clock oulput Fully synchronlzsdRjady Schmitt action on RESET IN RESET OUT pin R~D. WR, and IO/M Bus Conlrol Signáis Encotiud Slalus inlormalion Mulliplüxed Address and Dala Direct Restarts and nonmaskable Interrupl Serial Input/Outpul línes. The inlernai clock generalor requires an exlernal cr or R-C network, It will oscillate át iwice the basic operalmg írequency, A 50% duty cycle, two ph nonoverlapping clock is generated (rom this oscil Inlernally and one phase oí the clock (<¿2)lsavailable external clock. The 8085A dlrectly provídes the exte ROY synchronizalíon pravlously provided by the 8 Tho RESET IN input is providutí wilh a Schrnitl a inpul so thal power-on resel only requires a resíslor capacitor. RESET OUT is provided for System RES Tho 8085A próvidos RD, WR and IO/M signáis íor control. An INTA whlch was previously provided b 8228 in 8080 syslem Is also Included In 8085A. STATUS INFORMATION Status informalion is directly available írom the 80 ALE serves as a status slobe. The status is par encoded, and provides the userwith advanced tlmln the type oí bus transíer being done. IO/M cycle s signal is provfdad dlroctly also. Decoded Su, S ,carrle lollowlng stalus inlormallon: Si So HALT O WRITE O READ 1 1 o I o 1 FETCH Si can be ¡nlerpreted as R/w in all bus transfers. In Ihe 8085A the 8 LSB of address are multiplexed wit dala msüiíid oí slnlus. Tho ALE Imu ¡s usucí ¡is ¡i atiuh unlur lltu lowui Imll oí tho addross inlo Iho niüino penphural address laich. This also (roes extra pin expanded inlerrupl capability. 6085A INTERRUPT AND SERIAL I/O For RST 7.5, only a pulse is required to sal an inlernal flip [|op which generales Ihe internal interrupt requüst. The RST 7.5 request llip flop remains sel until the request is serviced. Then it is resel automalically. This llip ílop may also be reset by using the SIM ¡nstruction or by issuing a RESET IN to the 8085A. The RST7.5 internal llip (lop will be sel by a pulseontheRST7.5 pineven when the RST 7.5 interrupt is masked oul. Ths 8085A has 5 interrupt Inputs: INTR, RST 5.5, RST6.5, RST 7.5. and TRAP. INTR is identical in lunclion lo Ihe 8080 INT. Each oí ihree RESTART inputs, 5.5.6.5,7.5, has a programmable mask. TRAP is also a RESTART interrupl except it is non-maskable, The ihree RESTART inlerrupls cause the internal execution oí RST {savmg Ihe program counter in (he sitick und branching lo the RESTART addross) ií Ihe mlerrupls are emiblud und il tliQ inlerrupt inask is nol sel, The nonmaskable TRAP causes íhe inlernal execution of a RST independent oí the slate oí Ihe ¡nlerrupt enable or masks. The status of Itie three RST intorrupt masks can only be afiected by the SIM instruction and RESET IN. The inlerrupls are arranged in a fixed priorily that determines which interrupt is lo be recognized if more than one is pending as fotlows: TRAP - highost priority. RST 7.5, RST 6.5. RST 5.5, INTR - lowosl priorily. This priorily schcnie does not tako into accounl ihu pnoi ily oí a rouline thal was slarlcd by ahighur priorityinlorrupt. RST 5.5 can inlerrupl a RST 7.5 rouline if Ihe inlerrupls were roenabled belore Ihe end oí |he RST 7.5 routine. RESTART Address (Hex) TRAP ' RST 5.5 ' RST 6.5 RST 7.5 i 24 2C 34 16 3C 16 The TRAP inlerrupt is usoful lor cainstrophic orrors such ¡is power lailure or bus error. The TRAP inpul is recognizod jusl as any other inlerrupl bul has Ihe highest priorily. It is nol affected by any flag or mask. The TRAP inpul is both edge and level sensitive.The TRAP input must go high and There are two dillerenl types oí inpuls in the reslart interrupts. RST 5.5 and RST 6.5 are high level-sensitive like INTR íantí INT on Inu 8080) and are recognized with the same liming as INTR. RST 7.5 is risinq edge-sensilive. -J: FIGURE 2. 8085A BASIC SYSTEM TIMING. 3-4 8085A • • • • remaín hlgh lo be acknowledgod, bul will not be rucognlzad agaln unlil it goes low, then hlgh agam. Thls ivoldi any lalie iriggorfna due lo nolie or loglc glltchea. Tria lollowlng dlagram (Ilústrales (ha jfiAP Interrupl t clrcullry wlthln the 8085A. 4 8-bil I/O Porls 1 (3-bil I/O Purt 4 Inlumipl Luvuls Surlul In/üurlul Oul Porls Thls mínimum systom, uuing tho standurd I/O tuchniquu Is as shown in Figure 3. In addition lo slandard I/O, Ihu muinory mappud I/O oliurs anellicienl l/Oaddressingluchnique. WithlhisluchniquL1. an ama oí memory address space is assigned lor I/O address, Ihereby, using the memory adtíress [or I/O manipularon. Figure 4 shows the systém conliguration of Memory Mapped I/O using 80B5A. The 8085A CPU can also intertace with the standard momury Ihul does nal have the mullipluxed Eiddrüss/d.'ila bus. U will require a simple 8212 [8-bil latch) as shown in Figure 5. lNItlIHUfT HLQUEi'T INTEHNAL . THAP THAP ' ' HST7.S HSTG - S BOflGA HS'IB.b Note ihat the servicing o) any Interrupt (TRAP, RST7.5, RST 6,5, HST 5.5, 1NTR) disables a|| luture interrupts lexcept TRAPs) untll an El ¡nslruction is executed. HOLD HLDA ^ SU) INfH S, IMTA ñDDtí/ OUT S" DATA Al E RD Wfi 10/M ROY CLK AUDH 7Y The TRAP Interrupt ¡s special in thaí it preserves the prevfous Interrupt enable status. Perlorming the firsl RIM Instrucllon íollowing a TRAP Inlerrupl allows you lo determine whether interrupts were enabied or disabled prior to Ihe TRAP. All subsequent RIM instruclions provlde curren! Inlarrupt enable status. (See RIM p. 3-26). WH ño KW1 UldtJ ALL Tha serial I/O systern ¡s also conlrolled by (he RIM and SIM instructions. SID is read by R]M, and SIM sets Ihe SOD dala. (See p. 3-26). PATA/ ADDH 'O/O HCSET BASIC SYSTEM TIMING Tha 8085A has a multiplexed Dala Bus. ALE ¡s used as a slrobe lo sample the lower 8-bils oí address on the Data Bus. Figure 2 shows an instruction fetch, memory read and I/O wrlte cycle (OUT). Note thal during the I/O wrlte and read cycle that the 1/0 port address is copied on bolh the upper and lower ha|( of (he address. ti K)HJ. C IN TIMtR OUT HO ALE ce Aa In Ihe 8080, Ihe READY Une la used to extend Ihe read and wrlte pulse lengths so that the S085A can be used with •low memory. Hold causes the CPU to relinguish the bus when II is through witlrlt by HoatJng the Address and Data Buses, HESET B HOY SYSTEMINTERFACE CLK 8085A family includes memory components, which are directly compatible to the 8085A CPU. For example, a systém consistlng oí the three chips, 8085A, 8156, and 8355 will have Ihe (ollowing (eatures: • 2K Byies ñOM • 256 Bytes RAM • l Timer/Counter ÍOR V" v> FIGURE 3. Q085A MÍNIMUM SYSTEM (STANDARD I/O TECHNIQUE) 3-5 80B5A MÍNIMUM SYSTEM CONFIOURATION - \ TIMtH . UU1 IJOD[IIÜM I |/ü¡ OH B7MÍAIPHOM t 1/01 »1bO M, 1/0, COUNIER/TIMEH] FIGURE 4. MCS-8S'- MÍNIMUM SYSTEM (MEMORY MAPPED I/O) TRAC *> *' AfíETIW RST7.6 HLOA HIT ».B H»Tt>.B NTH 1UT1 '"'* ADOR »°«6A SOD (ID 6, RESET E • ADUH/ OUT B» GATA ALE RD Wñ O/M HDV CLK ¿:^s¡i. í lo/fl (es) Wñ ño Bill]— DATA \ K STANDARD MEMÜHY ADOR (CS| f K^ II» CLK HEStT 10/M [CS| W'fi A \- U- tfo •\ / A \C DATA STANDARD J/O \ AODH u FIGURE 5. MC8-8S" SYSTEM (U8INQ STANDARD MEMOHIES) 8085A DfllVING THE Xi AND Xa INPUTS á +5V The uaer may drive the Xi and Xa inpuls oí the 8085A with a crystal, an exlernal clock source or an RC network as shown below. The driving frequency must be twice the deslred internal operatíng (requency Ithe 8085A would requlre a 6MHz cryslal (or 3MHz internal operation). 20pl 470Í2, TO 1KÍ2 1 I 25 TO 50% DUTY CYCLE AT 6 MHi PAHAULELHESONANT CRYSTAL |30pl LOADING) r i 1-GMHz INPUTFREQUENCY •X 2 LEFT FLOATING. 1-6 MHz INPUT FREQUENCY +5V Tha 20pF capacilors are requlred lo guarantee osclllalion al ihe proper [requency during syslem startup. 20p[ •U MU/ INPUI FULÜULNCY INHUTFHLQUnNCY RC Mode causes a [arge drill In clock froijtioncy because oí Ihe varlallon In on-chip timlng geneíaii »n paramelers. Use oí RC Mode should be limitad to an appllcatlon, whlch can lolerate a wlde frequency varlatíon. NOTE: Duty cycle relers to the percenlage oí the clock cycle when Xi ¡s high. FIGURE 6. DRIVING THE CLOCK INPUTS (Xi AND X2) OF 808SA OENERATINQ B085A WAIT STATE Thefollowlngclrcult may be usad lo inserí one WAIT state In each 8085A machine cycle. CLEAR CLK "U" F/F The D IIIp flopa should be chosen such Ihat • CLK la rislrjg edge trlggered • CLEAR is low-level acllve. FIGURE 7. OENERATION OF A WAIT STATE FOR 8085A CPU f^c^l*i&íisvaMf3f*fFfiM*j»**+'«--^ • •• • • • •-"• siífV^ •• ..£*." ¡ . • íj*fe-;je.-lií*flC''*.-<."ft/íírf"JÍ-1"11"''' " : • í"'- "*•*• BOB5A CLK OUTPUT — - CLK Q "D" F/F 0 10 BÜ HL IN 8085A ABSOLUTE MÁXIMUM RATINGS' Arnbiuní Tomporuium Undur Bins Stor¡u)ii TumparimiiL1 Voliugti on Any Pin Wilh Rüspiict lo Groiind POWLT Dissipau'on D.C. 0UC lo 7Q°C -65"C [o-U5ü"C -0.3 to +7V 1.5 Watt 'COMMENT: Stresses above those listad under "Absolute Máximum ñatings" may cause permanent damage to, tí te device. Tlu's is a stress ract'ng only anü functfona) opura--^ tion of (ha cltivicü at thesu or uny otliür conditíons ubovo * f I thostí indica türl in the optirational sttctiom of this specifi- • catión is not impited. Exposure to abso/ute máximum ratifjg contlitions for extended periocls muy affuct tíevice rL'liíibility. CHARACTERISTICS (TA = 0?C to 70°C; Vcc » 5V ±5%; Vss - OV; unless otherwíse specífied) Min. Max. Units VIL Input Low Voltaga -0.5 +0.8 V VIH Input High Voltage 2.0 VOL Output Low Voltage VOH Output High Voltaga 'ce IIL Power Supply Currunt 'Input Leakage ±10 pA I LO Output Laakage ±10 pA V,LR Input Low Luvul, RESET +0.8 V V cc +0.6 V Symbol Parametar Vcci0.5 0,45 2A 170 V,HR Input Hiah Luvul, RESET VHY HysiürtJsís, RESET -0.5 2.1 0.25 Test Conditíoni V V IOL « 2mA V IOH - -AOOuA mA . V Bus Timíny Specífication as a TCYC Deptíndent 'AL (1/2JT-50 MIN 'LA (1/2) T - 60 MIN (1/2) T- 20 (1/2)T-60 (1/2) T - 30 (5/2 + N1T-225 (3/2 + N Í T - 1 8 0 (1/2ÍT-10 MIN 1 LL ! LCK 1 LC tAD "HD 1 RAE MAX ™ (3/2 + N J T - 6 0 MIN MIN ~ (1/2JT-60 {3/2 + N) T - 80 [ 1 / 2 J T - 110 MIN (3/2) T- 260 MAX (1/2JT-50 MIN (1/2)T + 50 MAX (1/2) T + 50 MAX (2/2) T - 50 MIN 1 CL 'ARY 'HACK 'HABF 'HABE MAX MIN MIN t WD 'ce MIN (1/2JT-40 ~ tCA 'DW MIN ~ ~ " 1 AC MIN t, (1/2) T - 80 MIN t2 (1/2) T - 40 MIN MIN rRV NOTE: ~ (3/2) T- 80 N is equa] to the tota] WAIT siaius. T- ICYC- V,n = V cc 0.45V<VOU[<VCC 8085A A.C. CHARACTERISTICS (TA - 0°Cto 7Q°C; V cc = 5V±5%;V SS - ov) Min. Max, Uniti Tusí Conditionv CLK Cycle Period 320 2000 ns Suu notes 1, 2,3, 4, 5 CLK LowTime 80 h CLK High Tima 120 P«ram«tar Symbol TCYC ll ns ns ni Vi CLK R i w a n d Fall Time 'AL Address Valid Before Trailing Edge of ALE 110 ' 'LA Addrüss Hold Tinw Altar ALE 100 ns ALEWidih 140 ns ALE LowDurtng CLK High 100 ns <LC Trailínfl Edgy of ALE lo Leading Edga oí Control 130 ns 'AFR Addruss Float After Leading Edge of READ (INTA) 1 LL 1 LCK 30 Valid Address lo Valid Data In 1 AD 0 ns 575 ns 300 READ íor INTA) to Valid Data 1RD ns ns 0 ns Trailing Edge of READ to Re-Enabling of Address 150 ns Address (A8-A15) Valid After Control 120 ns IDW Data Valid to Traiiing Edge of WR ITE 420 ns l wo Data Valid After Trailing Edge oí WRITE 100 ns l cc Witllh of Control Low (RD, WR, INTA} 400 ni Trailing Edge of Control to Leading Edge ofALE 50 ns Data Ho|d Timo Aítur READ (INTA) 1 HDH 1 RAE 1CA 1 CL READY Sutup Timu to Luudmy Edge oi CLK 1 RYS 1 RYH 1HACK 220 READY Valid From Addruü Valid !AHY ' READY Hold Time HLDA Valid to Trailing Edge of CLK TCYC = 320ns; CL = l50pF ns 110 ns 0 ns ns 110 'HABF Bus Float After HLDA 210 ns 'HABE HLDA to Bus Enable 210 ns ILDR ALE to Valid Data In 460 ns IR,V Control Trailing Edge to Leading Edge of Next Control 400 ns <AC Address Valid to Leading Edge of Control 270 ns HOLD Setup Time to Trailing Edge of CLK 170 ns 1HDS 1HDH MNS 1INH HOLD Hold Tima 1NTR Setup Time to Falling Edge of CLK Alio R S T a n d T R A P INTR Hold Time 0 ns 160 ns 0 ns NOTES: 1. A8-1B AddfiíiSp.ciipply lo 10/M, SOand SI. 1. Por •!! ouiput ilrning wh»ri C[_ ¿ iSQpf UM tht lollowina corr«cüon facían: 26p« C L < 150p| ; -.10 nt/p( 160pf < C L < 3 C X ) p f ¡ +.30 ni/pf 3, Ouipui Hmlfigi «r* rn*<our*d wlih pur*lv cupociliv» load, 4, AJÍ ilminumr» m««iur«d «t output volt«g« VL - .8V, VH - 2.0V, «nd l.BV wlih 20ni rt» 5, To nlcuUi» tlmlng >p«clf|c»tloni n olh»r v*lu*i oí TCYC U M l^v t d t > l« in Tablo 2. ^ ^y^^ • • ' "- •• f*ll llrn« on Inpuit. CD ero-- r- "'ese P-C-'.'í ': - " > •*" ' ;i' .Cus*c-*- ca' E f - ' ;.-•: *-"i "-'•'* dD PRCI.'S vtx-27i£ c- f/;v:~:<é Pane"- '-'e: s 1=1 s*..7 CD =5-2 ==c CD st.i CD CD CD t=) CD =-=-5 =1.5 «.7 =á-0 CD CD CD =.:.¿ ^5.^ --; 5 CD CD CD =¿ i M-2 P--3 =í>3 C^ S-r^r-L —— =>¿-Q P0"0="°" OO'.'D-E ,usiome' Pan Nimce* , Pr.one _ Counuy- CllY Addtess Cusiomet Ñame. Dale , CD CD CD CD CD CJ CD CD CD CD CD CD CD CD CD CD CD CD r—i One' " CD -: CD =• FtODpV D ;• CD CD HD CD CD CD CD CD CD CD CD CD CD CD CD CD >-=-:- 3- .-í PulluD CD Ow- D'a - N: =. .: CD K : = _ - I CTJ Puiwr CD MC3670 ORDERING INFORMATION' PJA Symbol 7sig 7A V,n VCG s: ec Valué lOC K SC o IP - ~; - ¿0 :: - BS - 55 te - 'W e c/vv Unh V V1 Unh VaUe -03 u -"0 -03 t: - "C •"•s ot, ct contams C"Cu.tf> 10 D'Cieci ihe inouts aga¡nsi aa~.ap« Oue 10 higl i'c--; ve -ijes o- e'eci'ica1 '«ess "r-veve-. <: is advtsed *ia: -;••*£ c-ecéj-'O-^s •* ia«s- :; avfoiS aDC:-ca'-r- c' BIV vo-:aoe higt-e' lia" ~EI ~j~-ra'tt) •;!=3« •; :".s fi!g--iTpe3a-ce : •: j>: Re -3ti,í:i> o) ooe'a' :- í e—a-.cec i" Ce-c : ^actage _Cera- : Pacfcage THERMAL RES1STANCE _ Rsiinc Suor . *. c'iage •5up . : :age OM'a* '2 Temperatu'e Ranos WCS3X. MC5SACO. WC6S300 VCScOOC. MC6SAQOC 5:3*33= TeiiDeia:u'e Range fialing Symbol Six Interna! Registers — Two Accumulators. Index Register, Prog"3fri Counter, Stack Poinler and Conduion Code Register Direc: Memory Addressing (DMA) and Múltiple Processor Capabiluy StmpMted Clockíng Characterisiics Ck>ck Rales as High as 2,0 MH? Simple Bus Interíace Without TTL Ha!; and Single Instruction Execution Capablity Bd1"^10"3' Daia Bus 16- B*; Address Bus — &4K Byies of Addfessing 72 Ir-structions — Variable Lenglh Seve"- Addressing Modes — Direci, Relative, Immediate, Indexed, Ene-'ded, Implied and Accumulator Vanaos Leigth Stack Vecto'ed Restan Mas^ble Interrupl Vector Secante Non-Masbab!e Interrupt — Internal Registers Saved in MÁXIMUM RATÍNGS • • • • • • • « • B-B* Parallel Processing UC6800 is a monotithic &-bu mícroprocessor formina the cemral -r^t'Q. fjnction (or Motorola's M6800íamily. Compatible with TTL. the MC¿3£ K wiltl a" M6^^"316"1 parís. requires only one 4-5.0-volt Of7**>' sjooly. ant* no externa' TTL devices for bus interíace -¡•^ MC68CO is capable of addressing 64K byies of memory with ¡ts tft-t»' *33ress Unes. The B-bit daia bus is bidirectional as weü as thr&eIe rrating direct memory addressing and multiprocessing applica^os rea-arable. Thc &-BIT MICROPROCESSING UNIT (MPU) MOTORLA _ - S ]N C A l l [ >; A10C 'S ASI 'E ABC •7 :; ]¿T 53 ;; T ü^ 3»15 X 337 A7C 16 27 136 2E ]D5 X 333 31 JM 32 301 33 303 J = -v7 36 ]N C 3t ]DBE 3" ¡«2 3£ 3= 3TSC A5[ 15 N- A5[ U A4[ 13 A3[ 12 A2[ 11 A l C 10 AOl 9 vcct BA[ 7 ÑM"lC 5 VMA[ 5 iHQC *u 3 • PtN ASS1GNMENT VssC ' HÁTtC J CASE 715 CERAM'C PACí L«umx CASE7I1 CASETA CERDlP PAfXA MÍCROPROCESSOR (N-CHA>JNEL, SIUCON-GATE, DEPLETlCf! LOAD) MOS (2.Q MHz} MC68BOO (1.5 MHz} MC&8ADO (1.0 MHz) Chip Inlernal Power (1) • (3) (2) Charvctcrittíc ":•; c' a--c «2 Up Time C=>:. PuiseWidtr» A'feasj'eds-Vcc-O.SVI í.'C68X , VC6SACC e' e2 - WC69DO c' el - MC68ACO c' c:- '.'C68BOO UC6KO MC6BAOO MC68BCO oinerwisengtedl CvC* T^me (Figure U J_L» to: PWCH ^YC f SytnbcJ SM 60C ' , - , i - 9SX 56CC 10 10 10 23D 180 - 1.000 0656 0500 KO: - 1.0 15 20 Max 12 10 35 70 '.25 400 Typ 0.1 0.1 0.1 - 10 6.5 25 45 Mh - CQUI AC-M5. R/W. VMA - -1 * ^ M-i Unfe 0* pF V V, •c C5 - V „ *A v - _ 103 10 25 100 VSc-04 VSS-O.B V Una v=5-C¿ _ VsS' 4 -^ 4 VSS-f24 VSS-24 U** ^CC Vcc^0.3 - ~ 1.0 _ _ TYP 20 - — - C,n VOL PINT VOH iiz Im VsS-0-3 VSs-0.3 Vcc-0.6 Min Vss + 2.0 VIH VIHC VIL VILC notedl Symbo) *2 DO-D7 LD^IC Inputs ¿1 DO-D7 AC-A15. R/W. VMA BA MC6800 MC68AOO MC68BDO 5% . \'ss = 0. Chareaeortic ' Logic *!.« DO-D7 AO-A15. R/W ' Log¡c *!.« Logic *1.*2 Ftec^enCí- oí Opeieiion CLOCK TIMING I Ca^er'.ance i\-,_ = 0. TA = 25°C. f = 1.0 MHí) Tnree-Staie Input Leafcagc Curreni (Vr =0 4to2.4V.Vcc=^a k :l OUÍEJ: High Voltsge t¡Lod¿= -205í.A,Vcc=WL^l HLoa^= -145í.A. VcC =W|nl • ( VMd=-'ODí'A.Vcc = Wiri) 0-^:.: Lovs VoHage ULoacj = l,6 mA. Vcc^M" 11 fie*%fi Powe- Disspanon [Measjred a: TA = 1^1 Inp^: Lsakage Curten! IV^ = 0 to 5.25 V. VCC = Max) (Vr = Oio5.25V. Vcc = 0 V i o 5.25 V) Inpo-, LowVoltage Input High Voltsge DC ELECTRICAL CHARACTERIST1CS IVCC«5.0 Vóc. ±5%. V ss = 0. TX = T L lo TH "ntess Whe'e K is a constar» penaining to the partícula-- pai. K can be óetermined from eauaiion 3 by measuring PQ la; equilitxiurr. for a 'Known TA- Using this valué of K the valúes of PQ andTjca-^ be obtaíned bysolving equalions (11 and (2J rterairvely ioran^ valué oí T A - K = P D .-(TA + 273°CI + ej A .p D 2 SoMng e^uations 1 and 2 for K grves PQr <-lTj-f273°C) A.T aooroximaie relaiionship betv/een Pp and Tj (if PpQRT 6 negtecied) is: For rnosi applicaiions PpORT-< P|N'T sná can be negtected. PpORT r^ay become signifcant ¡I the device is cxxif'tgured te dnve Dartingion bases or sink LED loads. PpQRJ" Port Power Dissipation. Watts — User Detecmir^ed P|NT - 'CC* V CC. Watts - PD-PINT+PPORT *JA" Package Tbermal Resjstance, Junctton-ic~Amr>ent. 6 C/W TA.- Ambient Tempefaiure. °C Wr>ere: Tj The nver»ge chlp-junciion ternperaiure, Tj, rn "C can be obtained from: POWER CONS1DERAT1ONS fc- 'i " FIGURE 2 - READ DATA FROM MEMORY OR PERIPHERALS __ Sun o' Cyci* l cyc FK3URE 1 - CLOCX T1MING WAVEFORM 2-0 3Eoe L-~~- lA-TÍ'C . vcc-s.ov l ^¿^^^ 1 — \\\\\^>^ IA.D. --^ 2.4 V ,--- L- ! 1 CL «d-iOn KV, tjc>;ii-w 1 --L-- 1 TYPICAL DATA BUS OUTPUT DaAY IQH --205 AAm, i *> " IDL • l.í mA mj —i 2,4 V _ vwnut CAPAOTTVE LOADING ( FIGURE 4 - ^^^1 ' \ / i | -^s^. ! SSSS> u-^sS \D -í - 0 4V OUTPUT DÉLA Y VWTWJI CAPACTTIVE LOADIHG 1TA01 BGURE 5 - TYPÍCAL READ fWR[TE. VMA. AND ADÓRESE - WRtTE IK MEMOflY Ofi PERIPHERALS J1Í_^SX^ _T D*ti Nal V.IIO VMA_ f rom MPU Addrn) "V1KC \^ V f BGURE 3 - S üfLAYTIMEInO R R § S 8 ,(^ __ R/W ••3 Memory Arxíress 3< 5 7 36 9 us AvailaWe 39 7 4 HALT htenup: R«uest Dala B'-a Enabte 4o RESET 7lve«-Siait Coauol 3 37 Oock. ¿1 A14 24 f A15 25 t - 74 Vn for BA t A13 3 23I f A12 AÍ2 22 t t All All A1C A10 20 19 FK3URE7 - - 16.5 tn fot AO-A15. R/W. .na VMA R - 1 1.7 í.n íor DD-D7 ÍIAD2 on'y1 - 30 RF ^o^ BA - 30 oF lor AD-A15, R/ÍV. »nd VMA AS IB A8 17 A7 16 Afi 15 0.4 V oí úynvnic no«*» "1" tntí "O" log'ic l«o«li. AS M A4 13 «nfnunfty A3 12 A2 11 n boin lin»i. m» Inl-rrupi R»oií«it lin», »oo ttit DBE Th* ayn^Tik: t»it IOMJ lor thi Dil* Bui ii 130 pF »nfl t>o. ,t«na*fd TTL lo»3 », *io^n Th» A0ar*ni. RíW, «oü VUA oulpun •'• l»it»C uncMr fna conotJiOfii to »llt>^ oot^num C>o«ríiton In faoth buíl«r»t3 »ntí untxj((>f»d tyilxni. Th« r«ifnof (R) U cbo»n to Intjr» «>*c]li«a lo*d currtnii oorioo VQ H rrv.*t<ir»-Ti«nt TEST CONDITIONS BUS TIM1NG TEST LOAOS EXPANDED BLOCK D1AGRAM Of Eguiv. - MMO700Q : :1 , orEOU-v. MMD6150 : R L - 2.2 kn - 9O pF lar AO-A15. R/W, .nd VMA (Exc.Dt I AD2 ) Ctocfc. ¿2 fiwd/Wrne P Ti y c-L íL R C-T- j C - 13D pF (o- DO-D7. E _ , nj Poinl O BGURE 6 - ovcc Al 10 us AvBÜabffi (BA) - The Bus Available signa' will norna '•> be IP the low state, when activated, it wil ga to the " 9' stE'.e indicating ihai the microprocessor has sioppec a-c '"-g' i^ address bus is available This wil¡ occ-r if ths ._T ( ne i= "- the low state or the p'ocessor is ir :Ke WA'~ :e as s res^1: of the execution o* a WAIT msr^rjon. A: :" t"~ie a tfiree-state output d'.ve's wilt go ti :ie" c" •= s~c cT~e - DUÍDUIS to ihe:' no"~~-a"y macuve £.•£'. T-e •cessr' •< -e~>cve2 f'o1" t^e WAF siate by t^e cccj"e"ie :~2S'.£;= "as'-c:i = C or no—2s-,ab-eif"*.e"-ct. T - = :.' s c a z a r e o' d-vg one sts-aa-d ~~~ ~&~ E": Data Bus Enable (DBE) - This leve' sensitrve inDJl ts the :-.'ee-£;a:e control signa! íor the MPU data bus and wi1 e-aE'e tne bus dnvers when in the high staie Tr>»s mput is TTu compatible, however in normal operation, u would be 3-tve- üt the phase two clock. During an MPU resc cyoe. ine oa;a bus dnvers will be disabled imernally. W^en u is 3es>'e-¿ tria; another device control the dala bus. such as m D"ec: Memory Access (DMA) apphcations. DBE should be ^e>c iow lí aadmona: data setup or hold time is required oí an MPL wr>te the DBE down time can be decreased, as snown ir. Figj'e 3 ID3E^ó2) The mínimum down lime fo' DBE ts *D3E as shown By skewing DBE with respect to E, daté sstuc of ho!d time can be increased. Data Bus (DG-D7) — Eight pins are used íor the data bus It is bidirectional. transferring data to and from ihe memory and penphera! desees. It also has ihree-state output buífers capable of dnving one standard TTL load and IX pF. Data Bus is placed in the ihree-state mode when DBE is low. Address Bus IAO-A15] — Sixieen pins are used fof Ihe address bus. Tne outputs are thfee-staie bus dnvers capable of dnving one standard TTL load and 90 pF. When the ouipui ts turned off. u is esseniially an open circuil. This pe^mits the MPU to be used m DMA applicatíons Puiting TSC in ns hign state forces the Address bus to go into the ihree-staie mode. Clockí Phasa One.snd Phase Two («¿1, 02] - Two pins are used for e two-phase non-overiapping dock that runs at the VCG voltage leve!. F>gure 1 shows the mooprocessor docks The high leve' is speofed at VIHC and Ihe low leve1 ís soecified at VJLC The altowable dock frequency is speafied by f (frequencyl The mínimum él and <¿2 high teve! pulse wtdths are specifiec by PWOH (pulse width high lime). To guaramee the required access time íor the penpherals. Ihe dock up time. iult is speafied Clocfc separaiion. id. is measured ai a máximum voltage of VQV loverlap voltagel. This allows for a multnude of dock vanations ai the system ftequency rale ProDS' operaiion oí the MPU requires that cenain control ar>d timinc signáis be provided lo accomplish speoíic functions and thai other sígnal lines be monitofed to determine the siate of the processot. Z'SSs >'. D5 103063 "~5T CI ""£ T 5 veCtO'irc 3--'SSí ^ % " v-s stac-; Next. the '.'-^u v, -esDond to the nts""1"' ; -CS" 2> se:;ing the '-".e-'ur: ^s-* o-í high so :ns! f- '"" tmenupt Request (IRQí — Ti:stevelsensrtive iipu* ' ~jes:s tna: an inte"up: seqje^^e be generaied w:nr "** ~acr -e The processo' v. . wa • unti! it comcie'.es t« t'&"! nsyuction tha: is benc executed before i; recoc*-"*" "e 'eajes: At that tiT>e, if the —.e'fupt mas': b.: i" ¡"e *•" c: 2- Code Registe- is noi se:, ve machine w¡' oe? " 3* * Te-^r: seauence. Tne inos> Rec =:e", Progra^r Coj"ie" x FHS=* tiTiing 15 showr- tr Fig^'e 8 The ma^'nü''' nse a~: *c fa-~.5non times a*e soeC'fie3 2* tpCf anc tp^f 'f 8£st •s ni=-. a: tpcs [processo- co'T'O seiup time', as shov,- • c'Qure 6. m any give-. cyc'e t"e- the resta*: sec-jeace oe^ ~ on the next cvde as snoví- The RESÉ1" coniro "f ~ie\o be used to remua'ize :ne MPU systeT a: a^v !**» c_—g tts operation Tnis is acca-nD'ished by pulS'"-g RES:* CA fe' ihe duraiion oí a mi-r-'um of three co'nDieíí *c^c-es The RESET pulse car. :>= complétete as»ncifO-:v.:-. ;ne MPU Eysiem doc-: anc >•. ¡' be recogt~.zec duri-: s. ft£S"ET - The RESET mpul ts used to reset arxj stari g. MPU from a power down cond'T.>on resulting írom a po*^. failure or inftial stan-up of tr>e processor. This te/e! sensivmpu*.-can a!so be used 10 reininaUze the machiné a; any i^ ahe- stan-up. If a high tevel is detected in ihis input. ihis wil> signa1 f. MPU to begm ihe reset seqi>eoce. During the resé: y. Que^ce, the coments of the las: two locations (FFFE, FFF= tr me-nory will be loaded mío the Program Counte- ID (»™ to ine beginnmg of ihe reset rounne. Dunng the rticrouti-ie, the interrupt mask bii ts set and mus; be dea^a: unoe* program control beforethe WPU can be interrupt^^ IRQ While RESET is iow lassuTwng a mínimum of 8 cioa cvctes have occurred) ihe MPU output signáis will be m rr< (oiiowng states: VMA = low, BA = low, Data Bus=high r-, pedance, R/W= high Iread siaie', and the Address Bus »tí co'-.iain ihe reset address_FFFJ Figure 8 illustrates s pow* uc sequence using the RESET control line. Aher the pow* suop-'y reaches 4.75 V, a minimu-n of eighl docfc cydes yi reciJ"ed for the processor to stabilize in preparanon teresating During these eight cydes, VMA will be m ar r. oeter^imate siate so any oevtces ihat are enabled by VW¿ wtiich could accept a faise wnte during this lime Isucr- e &5:ie",i-backed RAMI musí be disabled until VMA is forcee tov. afier eight cycies. RESET can go hígh as^-nchíono^s-. v*:- tne system clock any lime aher the eighih cyde Reed (hign) ot Wrile Itow) s^ate The normal sta^dby stat.. -* tnis s)^^a! ts Read (high) Three-Siate Control going htg-" " tu-n Read'Wme to the oH (h»gh impedance1 state Axvr>e^ the processor is ha'iea. it wil: be in the oH state Tr" OUTDU; ts capabte of dnving one standard TTL load »90 pF C MPU SIGNAL DESCRIFHON X X e X c X x: ( 1 [ x: c t X X ^ ,xJ ' i1 >^ rO U t U &, >¿ in >< ¡a < < u u < m u u tt " u sil x * r i ^ í ' < sI 1 1 u: _ -c -c x-¿ < •c < u: ií o '•sT ^If ; í ^ < _ • ; Cíft No^-Míí' s: * -•*••„:•. SC'TAÍ-Í -«-.:• inte".:' =T:.-«' =*«' D«CÍ'^~C~ M Staie Control 1TSC) - \*. = r=£ =e=¿ ===c LS FFFF FFFD FFFB FFF9 MS Vector MEMORY MAP FOR IrJTERRJ11" VE~ORS NorcMsstabtfi Interrupt (NM1) and YJ*-. for IntwTupl IWAI) - The MC68SOis capable of hanc -c r^-c types oí mle-'up^ maskable (IRQ) as descnce^ ea'-e' and non•nasoale INMI) which is an edge se^s-t-.-e '-muí IHQ is TiasnaDieby Ihe inierrupt masV in iheco1-::'" code reg-ster *s~»e NM"Í is not maskable. The hanc' ->c c: —-ese mie-rupts DV ihe MPU is the same except tha: eac" -^s ^E ow^ vector aoo'ess The behavior oí the MPu w--e- «—.eTuoied is siow- m Figu'e 9 vs-hich details ihe V->_ -escoise to a^ inter'uct v.nile the MPU 15 executing ir»e cc"f: orogra~ The míe"JD*. shown coultí be enher ÍRT) a- N'.' 2" can be asyncr^o^ous wnh respect to ¿2. The iPte-~_r' -s show- going 'ov. a: time ipcs in cycle /I which precedas ™-e íirsi cycle oí a1" msfuction 10P code fetch) Tnis i-sT'-ri'O" is no; e>ecjtea but insiead the Program Co_— :e* (PC). Index Regs:er (1X1, Accumulators (ACCX 1 . a-- ríe Cor-dition Code Regisier (CCR1 ate pushed or:c t-^ 5sc<. Tne Inter'upi MasV; bit is set to prevé-: f_~."^e' inte-'upis The adotess oí the interrupi service roj: --= í :nep fetched *'o- ==FC. FFFD íor an NMI interruz: s~z ;"~ FFFS. FFFS 'o* ar IRQ mierrupt. Uppn comple: 3r i* ~~ iiterruc". servce routme, Ihe execution of RTI wi* 2- ~£ "C. IX. ACCX, 2-d CCR oíf the stack; ihe Inierrup- Mas- r: ¡E res:ofed lo •s c?-dilion prior to Interrupis (see =.i_-e "1 = 5-'e U is a similar inierrupt secje-^t. excepí i^ this ase = WWT instrucuon has bee" si =•:-*=•- — p"esa-a:ion -• —o mte'rupt This lechmque sr-—:; _r the V 3 U's ~s::-seto the inierrupt becajse re E-=:« -r r' tre = C IX, C C ' anc the CCR is ai-eady c;-e A- = :he l.'~^- ts .3' ~~ 'o* the interrupt. BJS A.2 =l T '• ge " g~ ir- :s*-g the lollowing states_of the ce"": "ü VM- '£íow .,„ r.g Aaa'ess Bus. R - W bna DE-= 5 _ : =•= e ir ve trgv -pe^5ice state Afie* the ime"uc: c-c:-*: " -E se-, ced as •e. :js'v descnbed A > iQ V;0 exlerna' resisto' to Vcc E" : - n-í -see • = £-2 ooTimum contro; oí imerrji-j Tr*e HALT line must be in the htg1- S^:E '3- iiie^ucis ío >e se-viced Internjpls will be laichea i";e^a , white "HAL.T s lov. Tní IRQ has a high-impedance PU"JC oe^:e mte^ia' to Ihe c^ip. however, a 3 VO exiernal res;s:c- :z \C snould be jsed fof wire-OR and opiimum conro; o' r-:e"jpts HALT — When this leve' sensurve input is in the lowstaie. ali activity ir the machine will De halied. This ¡nput is leve' sens'tive The HATT line provides an inout to the MPU to allow con. uo' of prog^am execuiion by ar. ouiside source. If HALT s hrg\e MPU wil! execuie tne mstructions. ií U is low. the MPU wi!' ce ;o a halted or id'e ntode A response signat. Bus Avs'iab'e •BA 1 provides an indicaron of the current MPU sta:us W->e- BA is tow, the MDu is in the process of e*ecüVig t~e centro' progra— •' BA is high, ihe MPU has ne'íea anc a interna' aci'v^v -ES stopped \\'-¡e- E- ts high. the AccresE EJS. Data Bus. and R'V, ine v,-i!: be t- a hrah-impec=-rs síeie. eifective'v removing ine MPU f*o-r; trtesystem b^s VMAis forced lowsotha: the fioat'-'C svs:e-n bus will not as:-vate any device on the tws tna! is ena^eci by VMA. W"ie t^e MPU is halted. a' progra-n activity is stopped and i* enne-a" NMi or IRQ inte-uot occurs. it will be latchec mío íie '''"'J snó acied or as sao- as the MPU is laker oír o( the ha':sc mode If a RESE~ comnanc occurs while t** t.'.^L is ~= :sd, t*>e ioliov,—z states occur VMA=lc« BA=ov.. De:a Bjs=hig- •—seciance. R"W=high Irear s:a:e . s-,.r^ Aadress Bus vs • co"ia;" addtess FFFE as iO"5 a£ R'I;T* is iow. As sci~ as :ne ^~£SET Ime goes r> n' tn£ '>'SL .•. co te locattons ===E a r d FFFF íor tne add'esi c f l*£ 'K=; -cj;'"-e Figj-e *2 siovs'S Ihe ttrr ~z 'e'E'jO'-ships involved ^*ie" na1*. "3 fs V"u The mstru" r~ iius:rated is a one b^it * cv;>s !is:-_~2". Sjch as CL=- Wne- HALT goes \ov- t^í l.'Pw \ . "2: afte- comp'e:-"g_e>.iecjt'0n of the cu^'e"''" syjc: r~ "'•s tra-~sition c' t --_ T -n~js*L occu» tpcs be'^'f ._t ..£ -- g.-gB c' pi c' :"5 íes: cvcle of a" insruc'-r" •r: -: A c 1 " g_-e 1 3'-. HA_" — _s: n^: ge lo\ anv n^e's^ "=" "^ " '"-" -»CS 5^:'=~-e •«•;- c' t"e QP co~e : . :-* f*1= J «s me l'rs: c\t* • Vsfid Memory Aódross (VMA) — This owpui indícales t0 penphera' óevices ihat there is a valid address on the addtess bus. In noirva' operaiion, thrs signal snould be utitized foenabling pe-ipheral interiaces such as the PÍA and ACIA This signa is not three-state One standard TTL load aryj 90 pF may be directly dricen by ihis active high signal. time PWeu wiihout desuoying data wnhin the MPU TSr tne- ca^ be used m a shon Di'ect Memory Access (DMA, aoo.ii cano" F.gure 12 s^ows the eífect of TSC o" Ihe MPU. TSC mujhave ns innsoons at tySE Ithree-state enabtel while hotow ¿1 high ana «2 k>w as shown The Address Bus and R/^ bne wü> reací^ ihe h*gh-impedar>ce state at tJSD dhfee-statt delayi. wn" VMA being forced IQW. In ihis example. ^ Data Bus ts aíso m the high-impeoance siate while *2 is b*. ing he<d to* s*ice DBE = *2 Ai this point in time, a DW,/, iransle'-coukJ occur on cycies /3 and_/4 When TSCc retumed tow. the MPU Address and R/W lines return lo tf^ bus Becajse n is loo late in cycte í5 10 access memory, ir^ cyde is oead and used for synchronization Prograrn execunon resurges n cycle /6. Heset a r«Dfl-xi*c: j: ••>) POüKon m tr>« rtovfCT^T 3 See Ta^es 6-n fo- oe:atls o( Insiruciion Execiir.on C • Tf>i rías V* t"Kr. oí belayí-^ aiy CLEAHlSG of INe 1-B-. ooe trr< S«T:TÍ i-< ,.£•:, hoveve-, u oot Of^r^c 2 tostrucKXu ^-xr M'ÍK: tr« t-B.l »3 urxxi e ty«-t>: buHe- f^aief. 1 Notes V unes are bact on ihe bus. A angle byte, 2 cyde instructi such as LSR is used for this example also. Dunng the firsi cy de, Ihe insiruction Y is fetched from address M-M. B retums htg^i ai ig^ on the last cycte of the insituction in dicatmg ihe MPU is oíí the bus. If instruction Y had bee ihree cyctes. the wjdth of the BA low time would have bee mcreaseíi by one cycle. FIGURE 10 - MPU FLOW CHART -TC óeboc •yogra'^s U is edvantageous lo siep through si'J"1^^ b V instruction. To do this. HALT musí VQÜ ' one MPU CYCle and lnen feturned low as E*^1- at DO*"'. B -dt Fwure 13 Again. the iransiuons oí rT^must occu- tpcs oefore the uailing edge of 61. BA ^í'txi tow «- 1BA a*te' the teadmg edge of the neri él, in-^ £ Aoaress Bus. Data Bus, VMA and R/W ;ii-(n) íii'In n PC o - ? pcn-ta fii'tn 7) r.i'di ni fiMin .i) nnin ni lo; inic AUCA ACCB «p(n ni ccn Hh Mili- MlfliAiiu* wn i/-1 iinti Imlliai* liluh linn-InjM-. tlM-. FIGURE 12 - THREE-STATE CONTROL TIMING <y —< (5 1" ' m .^ N <* w r fc ~ i , ? * í w ' índe of a n T sT „ ro go. re 3- oo (oJf _— < " =• ^8 -n _, r~ O Ti 2 _ - ~ f Q ••• _ ~ 3 Q. C IS ? egisi ieen ddfe: ^ s Sr*í 3 £ 3o a &s• S S 3w |i 3 S ro m - o 2 a g - -e 9> 3- 2: X- 3 " o> ? 5 = a o n o" ~ - • 73—?.? aa ss ¿ 9° 2 •o c: o ci c=c zo qs PC H-lfl N«w PC 0-7 f.M Adtti*» .- -z CE 1 :. y. K 2* :: z: ?£ M K !* r t íí K 33 jt • 22 r. •e . «c R£. A ^ L ,. -•' :"" : - s *.; REi. SE. =iE_ RE. RE.. RE. RE. RE. 5- i E=. =° E j=-" =" 5.1 RE. BE. RE. RE. RE k RE. £•; 5E.: £•" =CS 5N; E=l B=i A=J •A •= •- '- 3A.A ~A= 55» s=: s= c.: D€l C-. SE. » '••: "í = r— "_w "" *! JV= C.c SE 3 •; „•' f£ £= ?t -. -«- 6C ¡r AS. =0. CíC ' -s= aD= _S= cow s£5 4£ 6r JA 6c r ti 6€ M s 6: E* E2 C,R B B T* * SC SE y E • 8 B B B B 6 B E i A A A A « A K: i^c DSC CD_ 'S. -AS^ =2= .5= CC*/ --=3 ~_n ""=" >SC «O. OíC AS. A5= °:>* se 5£ FSí Sí SA X. i* ÍI £2 ÍJ ic te AS A* i£ i¡ *2 *i *C »c 5* .DA S*A ED= Si >E í9í E** UDS =• Sí 'V £~" .tí SSC "M= S2 s.-E =• SJE CV= SBC ' i-O B'* ID» ST* E0= AOC C^U OD C=) JSS uCS S"S sis a: AO Ai A3 A3 Ai Aí A£ A? Aí Aí AA AE AC O AE AP »= 5C .93 K A30 C»>; 9S • ORA 9A AT>- AS~ ti 99 ' ssc cn= 5--E ' -tí£ 53 ;r SE 3C ?: =• r¡. S¡ £'•- -sr.3 >s3 rC JS~ «sC r,C *c r.T *•! A32 C=> 96 5C ss= WA 3A sr ADC EO°. B1^ LDA **JD sec SüB C"D se es ET ft£ -.» TOA *f i- (J Sí 13 e' TAC A A M SE COK LS= A A; • O " 'CS *r A; • K^ •f — .•t *2 •i .1 •( •; •< ' -j : V 2? 3A K ooe C3 C« Oí Oí nj oc A A i A A A A A A. * A A A A A i, A A *. j. A < A A A A A A A A í A A A A A * A A RE» CD CE C^ OC ce ce Dffl £yt EXt EX T E)"^ ESTT EKT iND IND INO INO IND INO WD INO IND IND IND IND IND WD IND OÍR DIR Dtfi DIR CMR EX* DtR DI* Din Oifí AO3 " " c- » Í.I-A E' cí A--r Et S-í C«= S5C un sr> 2 ES EC ED EE EP FO CT =! EO* ACC C*U. EA 5TA SJE CVD S6C * A-C BT? UJA ST>. L3>: OD • e E B E B B B B B B fi B B B B B B B B C-=ÍA LSA. S7A E0= ACC B B B B B • B B B B B B B B B B B A«C 6T ser Cwc SJE ADO • • 13* " C*ÍA EE E! ET Di D£ D? DE Dí DA DE DC DO D€ DP EO El E2 E3 E' E5 E£ t>* 03 ocx= D; D1R Oí IMM JMU IMW |k>h> IMU ww IMW IVM IfcWÍ B B SB: • AK3 B-T LOA • EOS ACC CM= C) C3 CJ CS CE C7 Cl C9 CA B sue co IMM c? IMM IWU >u fr," lit- A,nr—:< **u11 ""*"' N* frf D«u E»~ Eif ETT cr-r EX- EVT isD I-J3 isa IM; INT i*.3 l\ if»™ i*-r IS"3 IfiO D-1 Dl= ISZ IND "-í"1" -tr D", r " M™il '"**" *-"""" 1 t,n. i-ll-tü Ur>ni 1-tHir l""' S-"'f-; to+( * ACCLrTXjUl» A í^.f A^.T »riif™u A Ajxxmng Moon O MCWV LwcAr^li rsMA OBA[ D«i» LDAf IWCt LO Al IHCA EOflE DECí EOM OIC j OKJT-C-- E.CM» OK DAA t E«—• AJ.ui! A »EC C0"t * E C* DJR D>° Día CB= 0^= DIR 1 ' C»* CO-A «K 't " •í f j t u*m | t.-~t-~-l 71 ; c.-»^--^ " ) (t-*r* A[— n ; u-*. c-- TI =' 31 I* t CA ti :E AOQA MIEHDVII I^Irf ! ui -~ t>'i JjrAj—l'i 1 rrr~ .¿T 11 }|0 tí O»«í DÍ= Ql= D« Oí" IMW IMM IMW IMM IMV IMM IWU IMM IM"' IMW 1UU TABLE 1 - HEXADECIMAL VALÚES OF MACHINE CODES When an ¡nsiruction transíales ¡nto two or three byitj _, cocte, ihe second byte, or the second and third byies &* ta«n(sl an operand. an address, or Information (rom wtio* aódress is obtained during executian Microprocessor inswuctwns are often divided inio &v general dassifications: (1) memory reference, so r-^.- ' because they opérate on specific n>etiX)rY locaiions n operatíng'instructions that function without need-rvn>eínory reference; (3) !/0 insuuctions for uansfetfing ¿^ between the microprocessor and penpheral devices. (n manyJnst anees, the MC68DO peHorms the same oo— ik>n on both iis internal accumulators and the exier-* rrwmory (ocaiions. In oddition. ihe MC6800 inie-f^ aciapters (PÍA and ACIAI allow the MPU lo treat periD^ devices exactly like other memory locations, henee, nc i *• msuuctions as such are required Because of these fea tur», other classHicaiions are more suitable for inuoduanc, p. MC68CQ's instruclion set: 11) Accumuiatot and ooerations, (21 Program control operations; (31 Code Register operations. MPU INSTRUCTION SET The WC6SOO insiructions are described in detall in ihe M6333 P'og'amming Manua' This Sedion wíll provide a Dne' miroojction and dtscuss ihei* use in oeveloping MC68X conuol prograTis The MC6800 ñas a sel oí 12 difíe^ei; executabte source msiruciions Induóed are bmary and 6ecir^3' anthmettc. togtca;. shift, rotaie. toad, store. condmona or uncondHiona' branch, imerrupi arvd stacV. rryíipulai'on instrucitons Each o* !h€ 72 ejecutable insírucuons of ihe source languso* assembles into 1 lo 3 bytes of machine coóe The numbe- o' Dyies deperxjs on ihe partrcuia!" insuuction and o" Ihe aoc-essing mode. 'The address-tg modes which are availab'-e fo" use wuh tr>e various executK-e instructions ate drscusseC íaier ) The coa ng oi the first <o- on!y) byie conesponding 10 an execu;aí>e insuucuon is suffoem to rde";ify the insiruction and the aodressmg mooe The hexaoeaTiai eáur/afenis of tne bina^ codes, whtcn resj': from tne transfaiion o( the 72 insuuctio^-s in all valid mcóes of aao'essng. are shown in Tab'e 1 There are 197 va'c machine coües. 59 oí the 256 Dossible cxxles bemg unass*gned (7 C7 IA CA IE U Cl II Cl J t 7 7 7 3 7 7 7 7 7 7 7 7 7 7 >! DI DA |A í£ M DI 11 DI 17 07 C 7 J 1 J 7 J 7 7 tj"v tic- 3 1 7 J 7 7 ' 7 ' 7 3 J 3 3 3 3 3 7 7 7 7 I r: J í W I. t• ' 7 J í 7 7 7 7 7 7 ! í 1 S S 71 K 7) (A l£ FE IA II FI 7C JA ID 13 )t 7 70 17 7 r¡ (D 1 :' II 7 | f7 7j 1 I1 < i i II < J 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ) 3 3 3 3 3 3 3 I < 3 < 1 í í «3 *3 11 « M « 5Í 19 » 10 " M 1 1 7 7 I 7 7 7 7 -t hC 1-1 i-A I-K A-OC w.OO t; _ _ »c t! « T kí _^_ tT — ^c b) - . c t— cumzi: — — n C c C l,n-f | -W A (J V f ,/ |J uí A 1 i—a - ij_- "w~ y -i 1 -1 "[ -"-A* 10». lErVí rfi'nsttM, IIIT Ost'í-;f x"K:ensfi: Ifi: Di:-i .1 IE.tO 3 100»3JT i£>tci int Bfi.-t. oo:-:-:^-r finj'l' (En VI Tnt IGil ut i< Irlt II ti u i t-.: Eiti-fí ::v>nu1 ; * • • . .. . •! » . • . . . •. • • . • \ti IJH 1 * • A. 1 •fr\ ' ;tk .' í• :»Í<: • '¡í© ;&;' . u» . i •m '£. •• 'i' •" tn ilD • 1 ' Ti't I ,i.|.1 i?: ii *.'t*.• * • 3. J) • 1 • i • :p: 5>X G%T "•u., 3X£¡ :i &j ;; * ' • • Sí » *• « • f • •* : F • H» , z,v{c] llílí .' 1 E 1 • >i « * • : :l: : «|» !ii©: :I3>: ':^: •s> • . . (•© : . . . . '1 . .; •• " * •' 1 ', . . •« • • . • me ICO ?p-u1 ¥ . 1 'H . • • • • . •• •. • • 1 - 1 -l : : : » . . • • B • • • • . . * • . • • í Vjt COOÍ «EC t 1 3 I lll ¡-Ü. H| — 1 -í OC COKDII10N COOE flCCISTER NOTES 1 1 t 1 1 7 1 7 1 W -K OC - A -A KJ Í -1 I .A t f * i B -v -A -1 -C •t K -A DC -1 K -v A- i - A. t • nVou-v-n. |U nv^v-Wn looitAt/iMi^nic Er*t»Aiioi co«: 1 1 | JÓ 1 | / V , 1 1 7 I 7 1 7 7 I 1 1 I 1 t 4 ' 1 1 I 1 1 1 I 1 1 I 1 1 3Í 3J 33 7 7 7 7 7 7 7 3 7 7 7 7 3£ <C ÍC »A AC M 11 IE 17 3 ID SD ei E E ( 1 3 I 1 3 * 3 I 3 < * ( 1 f ( 'F M H •"UF.D _j or - s 11 7 Sí 7 : : F I • -3 7 J 77 1 í! 1 i £ E ) I ! ' 1 7 S I I 7 7 1 > S S M I ; EE R EA AA AE t£ Aí Cl (C (A K H AI El i 7 FJ 4 S 7 1' ' S 7 M • 1 7 ! IS < i J ¡ U * I 7 1 il t < 1 i • DI - I 1 IE i 7 • fi i - AI i ; E5 Al E' Al ES 1» ID J J J 7 7 7 U Al i 1 Of 1 1 3 7 - 01 3 N 3 Oí 3 » 3 OS 3 7 J K 7 1 7 7 7 7 7 7 7 7 n íí 01 CS M t' li CS 7 Of 7 7 * )í CE 0» TABLE 2 - ACCUMULATOR AND MEMORY OPERATIONS '.' S£ »--• ->. -i; .-.— • ; , . t-- ; ..->.=•: ......*• :-; .:« .:• ;£l -•- ¡J, ,-,-• .-,.., E,. - - "• tf»£«:v: Cf-;*« •*.**! MUTtFOfEKiTlOtt = ', s1 í :; 3 : DE í E; : :SE i ' ' - DtKECT DF i: 3 : SC Oí - IMMEO £¡CIS'D J = : -: i í; «* : : f£ EC Í OF - : ¿i -: í EÍ í ? , : E£ f J = i ? ! £ • IV^Ei flf 7 AC 1 s i ' 1 = CE 31 i í 1 1 51 ' i TE- OF'- IMPL1ED . M- - v s= t - v • i v •«„ •,•-< -s^ t L- - > r r y . i - > L ^ - 1 -X -Sf SF-1 SF - i -SF X h v X t - ".' - 1 X- ! -X BOOU*S-*«ITHVtTICOPIRA IOK TABLE 3 - INDEX REGISTER AND STACK POlfJTER INSTRUCTIONS ' • • * . . 3 ' ' * ' -1 ! '• ..1 ' * • • « • • * ' * .• • • • • •' 1 . • J* 1J " H 1 K í^_5. 'E- * i í <_L Pomier is automalicaliy íncren>ented by one jus to ihe data transfe? so that tt will poini to the last byie siact. ed rather than ihe next empiy locaiton Note thai ihe Puu instruclion does not "remove" ihe dala from memory; m t^ índex R0getar/Stack Pointar Operstions example, 1A ¡s siill in locanon (m+1) folkjwing ex PULA. A subsequenl PUSH insuuciion would overwrii The insirucvois ley d'*ec: ooe'ation or. the MPU's Index locanon with ihe nev,- "pushed" data. Registe* and Siack Po'r'te' a*e summanzed in Table 3. Execuiion oí ihe Branch to Subroutine IBSR) and Jurrc KJ Decre^ent IDEX. DES», m=re^e"t I1NX. INSI. load (LDX. Subrouiine (JSR) insiruclions cause a reiurn address 10 b> LDS1. aid store tSTX. S1"S irsiructions are provided ÍO' saved on the stack as shown in Figures 18 ihrough 20 Iht both T¡--e Co-noare ms:-J£TO-. CPX, caí be used to comstac': is decremenied after each byte of ihe reiurn address u pa'e the índex Registe' iz s. 16-r>: va'ue and update ihe Co"stack. For boih oí these insiructions. tr^ OtttQf Cooe Reg ste- accc'c -g \e TSX msT/uciior canses ne Index pushed Regisieronio to beihe loadretutn address is the memory locanon follonving Ihe byies rj1 code thai correspond 10 the BSR and JSR instruction The 2d w:- the add-ess o1 i~-e tas: Oats byie put onto ihe code tequired íor BSR or JSR may be eiThei twrj or thret "stacií " The TXS insi'ucic" -cass ihe Stack Potnier wuh a bytes. dependmg on whethe* the JSR ¡s in ihe ¡ndexed (tws valué eo ja 1 to or-e less tna-. r-e cuteru contents of the Inoev bytesl or the extended Uhree byiesl addressing mooe legir.e- Thts causes tr* r>er. byte to be pulled from ihe Befóte it is stacked, ihe Program Counter is automaiically ,n. siac'í" to corree from ine ioc=-..on intíicated by ine Inoex cremented ihe correci number of limes to be pomiing ai in* legis-e- The ir.nuy o' r-es= -*c mstruciions can be darified location oí the nexi instruciion. The Reiurn írom Subtouiir* *3v oescnbing the "stacV;" concest relative to the M63DO Instruction, RTS, causes the reiurn address lo be reireve: ~yste~ and loaded inio the Program Counter as shosvn in Figure 21 Tne "stacv." can be inajg-t c1 as a seiquenna! lisi of data ito^ec i- ine MPU's rea- v,— .e r->emory. The Siac'; PointeTnere are severa! operaiions thai cause the status of ü-* MPU lo be saved on ihe siack. The Software Inierrupi ISWI' xinia "S a 15-b; me.Tic-> an^'ess that is used 10 access me. and Watt íorjriierrupt (WAI) insuuctions as weü as the -st t>c— one eno on a ¡as:-"--' •s:-out '.LIFOI oasis m contras: maskable (IRQ) and non-maskable (NMlt hardware inte-•o the 'a^dol~ access ¡-ose used by tne MPU's oinet an.iress-^5 mooei. rupts all cause the MPU's internal registeis texcept fo f ir* Siacfc Poimer ilselt) 10 be stacked as shown ¡n Figure 23 Tne \'C6KC instruc: s- se" 2"d inte'ruot sirucure aüow MPU status is restored by ihe Reiurn frorr Interrupt. RTl. E -«le-s -t use c' ihe sta:-; cc"Cen: for e'ficient haidlinc of shown in Figure 22. *a!2 *"3.e"ne"'.. sub'c-t-es £"^ '~te"rL;ciE. Thens'.ructio- = 3- c-e -sec :: estas' =- r-e r- -^:re "s'.arts" a-tv.-hers -. Jump and Branch Operation :-a: •*.".£ r-ie—2'v 5":=:^ .=-g:- 15 vnited o" * by "e Tne Jumo and Brancr1- instructions are sum-ria-izen r TaD'e ¿ These nstrucuons are used to co^uoi the UB~5fe' o:-= is -sra'.e- - = ;_-=s 15 a- o 16 T-e Pus1- •-ooe'stion from one pomt te anaíie* in ine cont'o o'og*a~ ' :• (PS-^> cs.seí :~= ""íe^ts o' ihe mccaiec =cThe No Ope^ation inst'uction. NOP. whiie inciu^ed he-£ ="' (A i- tms ex=— z = ~~ oe stc'ed tn meTr'y a: :~e is a jump ooeration ir\ verylimitedsense tts onl\lfe" tsií :~ ¡nd>cs:eá b> t"-e S*¿;« =o nie'. The Stac-. ?ointe- -s incfement ihe Program Counte' by one U is useíu au*>ic ='. C3 . oecre^e":ec ~, ane fo.<owmg the siora5£ proa'a-ri deve'ODment as a "siand-in" fo- some oihe" '' * r- anc •£ "po1"; ~s' " ".-e iext e^npty stac«; loca! :st'uciion tha; is to be determines dunng oebug lí is aisc us 5_ msvjcton ir,— A c p ruLB' causes the las: c.-.e eo 'o* eouaiizmg the execuiion ume ihrough alierna;e oav; e- ;o De loaaeci t—.z :-^ azc'oonate accumuiator T-.e m a control program. Prog-a~ Control oow'.<3- ca^ be subdrvided into two categíX'es (1) Index Reg-sre''Siac* Pointer insiructions; 12* Jump a"»2 Branch PROGRAM CONTROL OPERAT1ONS Diu fi-cvO-J»1! St-c«»= MPU (oí Afitr PSHA FIGURE 16 - STACK OPERAT1OS. PULL INSTRUCTION (.] Btforr PSHA FIGURE 15 - STACX OPERATKX. PUSH INffTRUCTXK ERA Rf^Mh ti Rui fcmcfc 11 Dwdl»- Srl ID A3 (BU 1) ii t*gu¡r*d lo *xli itit wiii t It p Loíd Condliion Coür R»íiit»r Sítwhtn Inintupt oecun BD PC 3 -= 01 3B 39 3F 3E : O P!~ •= ! 3 > / 1 1 Z" 0 *!' M Q V- 1 C.Z- SÍT Sbítut Oí*it«jm Din Or^t &M SoKH'OmitXirn jUnncriProf Ma;" -;© • - D- • • -1- T~TTr z * "t .1 "r I ,• •! • H 3 C O K O . C O D E REC 1 • * cíe faster than JSR. The Retum from Subtoutine, R""£. s used as íhe end of a subroutine 10 reium to íhe ma-- o-: gram as indicated in Figure 21. The efíeci o f executng the Soírwa'e Interrup't. SV. ythe Wait lor Intetrup:. WA!. a-c íhe;' relationshio *: "•; hardware interruots is shown ir Ptaure 22 SWI cajse; ~MPU contents to be s;acked a".c íhe"- (elches íhe s-^"'; address of ihe mierruo: routme ^2"- me memory 10^' r Ihat tespond to the aanresses FF=A aio FFFB Note "¿' í1 in íhe case o( the sjoroutine ins:ruciions, the P'^m¡~ Cóume' is incfementea lo point s*. me co«eci reiurr a^c'S' before being stacketí The Retur-- f-om Interrupi'msrjrr' RTI, (Figure 22i is usec! at the e"-c of 3". injeTupt ro-' "-í "resiore control lo the mam prog-a~ Tne SWl instar " useíu! for inse'img b'eat poirns ." the control Drog'S" "~ is, it can be used te stop oDe'a::o-' aid pu! f= '•'"• registers tn memory w*>ere thev c=" De exammeo T~^ *'•" inslruction is used to oesrease :-•£ T^e required te se'- :^; hardware imef'upi, it stacl:s i"*e f.'Pu conients a-r "* wans for the mterrup: to occu-. effeciively temc^ "~ **' stacVing time from a hardware i"te*rupl sequence S 17 s 10 0 V)-« Z • IV © VI • 1 C'Z> Z - IK© «e v - e Z- 1 C- 1 C- 0 tion* • RAlCKItlT FIGURE 17 - PROG=AS'. FLOW FOR JUMP AND BRANCH INSTRUCTIONS Execütion oí the Jump Instruclion, JMP, a-d Branch ^'v.ays. BRA. afíects program flow as shown rr figure 17. \-=" the MPu encounteis the Jump tlndexed' ¡.-.s:ruction, " aaas the offse: :c the valué m íhe Index Regts:=' and uses -•e 'esj>; as the aad'ess of Ihe next instructic- TO be e» ;:_:eo \f the e«e-oed addiessmg mode. the acr*ess o( the ~ív tns'i'üC'.ioi te: oe execuied is fetched frorp :-•= ;,VG locac^; irn-neaiate'> 'o; awing the JMP msirucuo^ ~~e Branch ''•.\\2tSiBHAi in=-.-jctionissimilar to the JWP is-*.e"dedl in.•.•-C'.'Oi e»,cepí raí íhe relauve addresstng r-c-De appnes .¡-2 me b'ancn IE -Tiited to the tange withm - "2S or T- 127 "ties o' the bra^c1-. insttucuon itselí. The ODCC-DS fot the' ~ " A msi'uciior- [Multes one less byie ihan JÍJ= eíiendedl -; taves one mo-e cycle to execute. Tne effect o" D'ogram llow foi the Jump ic Sjbroutme JSH* and Brancr 10 Subroutine tBSR) is shp^- 11 Figures •E ^'ouc*- 20 Nc:e that the Ptogram Counte- is r-operly inrecenten 10 be oointing ai íhe conea re:-~ address >s'ofe it is stac^ed Opetation oí the Branch n;Sjbroutme .1-3 Jume 10 SciroJtme (extended) instructic'- £ 5*m:af ex<X" fo' tne ra-^ge The BSR tnstrucuon requires ess opcode ra- JSB 12 b\ies versus 3 byies) and aisa exe-: .-es one cy- (AID © © 3 - K-0 7E or V- 1 ; : ' 7S 4 "~ MTLIED 7» Sí . •* i *.íi«rn Bin R*1. «nd Oili Bul m th( thm-imi moo» •"«• V H A n Wirt Icr Inlmuet* ScttMii IntnTupt Rílutn f rom &utrawt<* tn Dp«tl«« Jume 1" St*>»ul«K Jume fcrtnehlo Svfcraittm - EXI«D V 0 JE - WOE* ' 71 76 BMI b*KMf *ot E«W Zm 6VC BVS BPL BSR JWp JSR NOP RT1 RTS SVi'l WA( ENE »í»«xh 11 H.n«i 6/iníM! Ofrtlo. Du 73 tr»nch tt ¿ Z w e a if 70 ELE: brvKhll V-*Vf BIS ÍHI 6o«th K >l«í BIT BGT lkf<»iH >Zfc ft/»nch« -ÍZno BGE hrtnch ti " Zrro » ?< » 77 ÍC 7E Of fciinch M LB—rrQi S*™ íes IED 6/incfc H Or> Sri BCC A>K«ll MNEMDNIC b-rxti H Cmi Dor tjtfftl ECtRATIO«S HEUTIVT ; TABLE 4 — JUMP ANO BRANCH tNSTBUCTKWS RGURE 19 - PROGRAM FLOW FOR JSR (EXTENDED! (.) B*Ior. E.^utlon •< - Stiri.d 7-Blt V.li« N«>t Mtln Iniír. FIGURE 20 - PROGRAW FLOW FOR JSS ifNDEXEDI PC—^(n + 2) ±»C FIGURE 18 - PROGRAM FLOW FOR BSR FIGURE 22 - *1 Bfiot* E.«cution Lwl Suor. Iniíf. N*n M»n Inrtf. 5< - Subr. Addt. PROGRAM FLOW FOR RTl HGURE21 - PROGBAM FLOW FOfl RTS '.» L—tSubr. Inttr. FtGURE 23 - PROGRAM FLOW FOfl INTERRUFTS BGT Z + (N * V) - 1 ; Z-t (N4-VI- i ; BCC BCS 2- 1 Cc-d'lion Code Hegisier (CCR) is a 6-bn - - ¡-e MPU ina: is usetul in conuo •"£ P'og'arn flow -'-g £.s:e-n ope-aíio" The bus a*e de'~e- r ^^^e 25 ~"6 -E-^ctio^s ETV.- ir Tab:e 5 are e-s £= £ i: :ne use? • - •*:• —a*>*P^ a: ~~ :' !n& CCC Tie for íesiing relative magniíude wher tr-e valúes being les^. are regarded as unsigned binary numüe-s, thai is, the v&._^ are in the range 00 (lowest) to FF (hignesi). BCC followir^ , companson ICMP] will cause a bra-th ¡í the lunstg-^ valué in ihe accumulator is higher ihar or the same as t. valué oí the operand Conversely, BCS will cause a brancr r ihe accumulatof valué is lowet inar tnt operand. The fiíth complementarv pa". Brancn On Higher [BHli arc Branch On Lower or Same IBLS) are. in a sense. co-. plemems to BCC and BCS. BHI tesis ío- both C andZ = C used following a CMP, u will cause a b'anch ií ihe vaiut r the accumulator is higher than ihe operand. Conve-se. BLS will cause a branch if the unsig-*d binary valué in ~e accumulato' is lower than or tne sa-^e as ihe operand The remaining two pairs are useíji in testing resiH-j ? operanons in which ihe valúes are reoa'ded as signed r-v; complement numbers. This difíers from the unsignea be*-, case in the following sense: in unsic-ted, the oneniatny t higher or lower; in signed two's complemeni, the ccr-oanson is berween largs- or smaiie- where Ihe fange — valúes is beiween -128 and + 127: Branch On Less Than Zero (BLT) and Branch On Gr&a^r Than Or Equal Zero IBGEl test the sreius bits for N * V * and N* V = 0, respectively. BLT wil a'ways cause a b-a-er followmg an operation in which two negative numbers v*n added. In addnion, it will cause a bramen following a CM= r which the valué in The accumulato' was negaiive aic r. operand was posiíive. BLT will nevé- cause a branch ío* t— ing a CWP in which the accumulatc" valué was posriive s~: tne ope-and negative. BGE. me cc~Diement ío BLT * cause a branch following operano"S -i which iwo pos*** valúes were added or in which tne 'esj't was ze'o. The las: pair. Branch On Less Tns- Or Eoua' Zerc (s-i and Branch On Greater Than Ze'O 'B3~i test the s;a:-£ D" for Z * ( N ' f V ! = l and Z * ( N - * - V t « C respective.v Tne i: tion of BLE is idéntica! lo that ÍQ' S_~ excepl tha: a b-3-cwill also occur if ihe result of the c-e. ous resul: v,as 1?Conversely. BGT is similar 10 BGE excea: that no D'ai" occut loliowing a zero resuli. Svs'.f-s \v*-.ict- re "C-í* c"2 f a"" cr" -:-••= _s* = I- -NOP-SE to precede any SEl insiruciion wf 3" odd opcoáe - $¿ as NOF These precaulions a'e nr: *»ecessafy *c* M^ i mdicaung manufaci^'e " N'ove-Tibe' '? CONDITION CODE REGISTER OPERATION S The condnional branch instructions. Figure 24. consista oí seven pairs of complementan/ instrucuons They are used lo tesi the resulls of the preceding operaiion and enher continué with ihe next insuuction in sequence liesi fails) or cause a branch to another point in the program (lesi succeeds). Four oí the pairs are used for simple tests of status bits N, Z, V. and C: 1. Branch on Minus IBMH and Branch On Plus (BPL) tests the sign bií, N, lo determine ¡f Ihe pievious result was negative or positive. respectively. 2 Brancn On Eoua! IBEQ) and Branch On Not Equal iBNEl are used to tes: the zero siaius bu, Z, to determine w^ethe1" o* nol the resu't of the previous operation was eaua! te ze'o Tnese iwo tnsirucuons are usefu' fo' owmg a ComDé'e (CM°* instruaio" lo test íor equaMv üe:ween an acc-~ j'atO' aid the ope-aid. Thev are also usen íoüowing tne B • Tes! «5 T) 10 determine wheiher or no: tne same bu positiC"£ a-e sel in an accumulator and the ooe*aid. 3 B-a"cn On Ove^ftow Clear (BVCt and Branch On Ove-fiov, Sei (BVS> tests the state of the V bu to determine i' ne pfevious operation caused an aruhmettc overíiow. ¿ Bra~cn On Carry Ctear (BCC) and Branch On Carry Sel i5C5' tes'.s the staie of the C bu 10 determine if the previous ooe-avo" caused a ca-ry to occur. BCC and BCS are useíul BLS BLE V- 1 BVS ; BHI V- * BVC : •ME seo RGURE>< - COWDmONAL BRANCH INSTBUCTIONS .A.^íStu - ; = IEO . . . fi . . .. - j - ,- • • ' • • •s • . c. . . ! . approc-¿'= cccods then depends on the me:iod use manue -=-s=:on is used, the ada-essing mese IE -"^e in the rr-^rcí ^or example, ihe Immediate. D -er.. I^OÍ and E>-?*:-rr -iDdes may all be used wiih t^e AD3 cs:' tiof ~--í i'CDe* mode is deíe'mmed bv se-ecT""? adec.-s •::=: r-1 83. 9B. AB. o- BB, resper .e T-e s:-':5 s^e-tei: format rstudes aoe:,?:* "- ADDRESSING MODES «sV, '-•_ C- . ..... t 1 j 1 ! 1' 2 i V C- H 3 ' . 1 l cono C O O E H E C . e H S . E O O L E A U 0»£íJ - -0» s to tne cont'''ii o' Aceu 01 'DÉ C- SEi SEv 1FA Oí G¿ 'or Ct> CiV , . ""•VEMOMC IWf "* •'•'s^ ODe-ate* un 8-b : b'na'v numbe's presenied lo •: '-¿ "í£ Da*.a B_iS A give- .fj'nbe" (bv^el maj represe"; V"*" Ca""B °* a" l"1-"ljciio- ic De execjted. oependtng o**-^É •' 'S e-c;_"-.e-ed in jns ccnuc p-og'a^r The M68X •^ * *."• í^e -E:*_ct"0ns. h3wever. u recognrzes and tates s".."" c" *'~" c ' *"= 256 POSS r Í«E ihBt can occur usmg a•"."I "^''^ **"?"" ~" iS '3'ge* --"be- o' instrucuons resj:s _ • "t '2:- — £• ~s-, p* ;-= evec-: .-e mstrjctions ha,e © S • Se 1 cc= -*.*,•> S-O^o- • SfT-lr-.í' MJII Ou- j-!'':. Otl- ••{->.!• «í» OPERíllOSS ' f 1 TABLE 5 - COfJDmON CODE REGISTEfi >»STRUCTK>NS C - Carry; «t íí th*re was a carry from the mos; s5~.J--cait bit (b7) oí the result; ckared otherwise. V - Overiov,'; sel if there was arithmetic overílov. B ¡ resalí of the operation; cleared otherwise. 2 « Zero; KI if result - Q; cleared otherwise. N - Negative, tei ií h^h oíder bit (by) of result is *n ¡se*-ed otherwse 1 - InterruDI Mask. tet by harO^va'e or software nir—_o: o- SEl instruction. cleared by CLI innruction. (Normally not usec *~ ^•itri'-ieiic operauons j Renored to a icro as a result of an RT] tnK"~ci-y if Imstoredon the stacfced is low. H •= Half-carrv; «t wticnever a carry (rom b3 ID b¿ C1' r>e resalí is oenerated b>- ADD. ABA. ADC; cleafed if no b3 to b^ car-, *xa: aífecied by othef initruciioris. [ H | i | N | z.| v | c RGURE 25 - CONDITÍOK CODE REGISTE B-~ DOTNOTON RUTINA DE RESET Y LOCALIDADES DE RESTART 0000 0002 0004 0007 0008 OOOB 00 OC OOOD OOOE OOOF 0010 0013 0014 0015 0016 0017 0018 o£.o¿i 00 IB 00 1C FF FF FF FF FF QUID' 001 E 00 1 F 0020 0023 0024 0027 0023 002B 002C 002F 0030 0033 0034 0037 0038 003B 003C 003F 0041 0042 0044 OO47 004A 004 B 00 4 C 004D 004E 004F 0050 0051 O052 0053 0056 0058 005B 005E START D3FB C33FOO FF C32611 FF FF FF FF FF C32911 FF FF FF FF FF C32C11 C32F11 FF C3AOOS •. ] i FF C33211 FF C33B11 FF C33511 FF ! L--J-JE 1 1 FF C33B08 FF C34111 DBFF 17 3EFE D25208 RESET RESZ8 LD OUT JP FF JP FF FF FF FF FF JP FF FF FF FF FF JP FF FF FF FF FF JP FF JP FF JP FF JP FF JP FF JP FF JP FF JP IN RLA LD JP 322210 D3FO 212510 225910 LD LD INC INC LD XOR INC LD INC LD LD OUT LD LD AF XOR 210O1O 77 3C !¿!c* 77 AF 23 77 23 77 A,82H (FBH),A RESET RST8 RST10 R CO'TI 1J. OO RST20 TRAP R3T28 RST5.5 RST30 RST6.5 OTO O R •_• I -_"_J RST7.5 A, (FFH) A,FEH NCiRSETSS HLi 1OOOH < HL ) , A A HL <HL) ,A A HL (HL) , A HL ( HL ) v A ( 1022H) , A ( FOH ) , A HL, 1025H (1059H),HL A ?ESTA RUTINA DEFINE ?uP (ZSQ-80Q5A) CON 3 QUE SE ESTA TRABAJ 5 Y SALTA AL PROGRAM ? RESET RESPECTIVO., 0061 0064 0065 C31EOS FF FF JP FF FF OUTDC PROGRAMA DE SELECCIÓN DE SUBRUTINA 0066 006A 006D 006E 006F 0070 0071 0074 0077 0079 007A 007C 007E 0080 0082 0086 0089 008C 008D 008E 008F 0090 0094 0096 0098 009 A 009C 009F OOAO 00 Al OOA2 OOA3 OOA7 OOAA OOAE OOBO OOB3 OOB6 OOB9 OOBC OOBF OOC2 OOC5 OOC8 OOCB 00 CE OODi OOD4 OOD7 OODA OODC OODF 00 E 2 OOE3 ED731F10 316610 F5 C5 05 E5 314410 210010 CBC6 7E D3FD DBFF FEFF 2814 DD21ADOO CDD400 315E10 El DI Cl Fl ED7B1F10 DDE9 DBFE FEFF 200E 315E10 El LD LD PUSH PUSH PUSH PUSH LD LD SET LD OUT IN CP JR GETIX1 CHKFE DI Cl Fl ED7B1F10 C34411 DD21BFOO 18D6 C3AA04 C30D08 C37401 C31E04 C3B302 C33F03 C37B01 C3A903 C3SC02 C3F406 C31601 C3F403 21F300 010600 EDB1 1 10600 EAE500 53 1803 GETIX2 FINDIX LD CALL LD POP POP POP POP LD JP IN CP JR LD POP POP POP POP LD JP LD JR JP JP JP JP JP JP JP JP JP JP JP JP LD LD CPIR LD JP LD JR U01FH),SP SP, 1066H AF BC DE HL SP, 1044H HL, 1000H 0, (HL) A, (HL) (FDH),A A, (FFH) FFH Z , CHKFE IX,OOADH FINDIX SP, 105EH HL DE BC AF SP, (101FH) (IX) A, (FEH) FFH NZ,GET.IX2 SP, 105EH HL DE BC AF SP, (101FH) EXTNMI IX,OOBFH GETIX1 ss ESCAPE LOAD 00 REG — > REG < — BRK REM BRK CHK ARS MNU BRK INS REG STR HL,OOF3H BC,0006H DE,0006H PE,SEARCH D,E INDEX 5 ESTE PROGRAMA ENCU ?LA RUTINA QUE SE H ?DIDO Y LO EJECUTA- OOE5 OOE6 QOE7 OOES OOEA OOEB OOEC OOED OOEE OOFO OOF2 OOF3 OOF4 OOF5 OOF6 OOF7 OOF8 7B 91 57 1 EOO 1C 1C 1C 15 20FA DD19 C9 FE FD FB F7 EF DF A, E INDEX JPLOOP SUB LD LD INC INC INC DEC JR ADD RET FE FD FB F7 EF DF C Di A E,OOH E E E D N 2, JPLOOP I X 7 DE RUTINA DE ERROR OOF9 COFA 00 FB OOFD OOFF 0101 0103 0104 0106 0108 010A 010C 010E 0110 0 11 2 0114 AF 2F D3FD D3FC 06FF OE30 OD 20FD 10F9 CB57 2804 CB97 1802 CBD7 D3FD 1tít. 'y ERROR STRTER DECB DECC SETBIT OLITERR XOR CPL OUT OUT LD LD DEC JR DJNZ BIT JR RES JR SET OUT JR A ( FDH ) 7 A <FCH),A B,FFH C,30H C N 2, DECC DECB 5 ESTA RUTINA GENERA SINDICACIÓN VISUAL 5 AUDIBLE SI SE PIDE 5 PROCESO QUE AL MOM 5NO ES PERMITIDO. 2, A Z, SETBIT 2, A OUTERR 27 A C FDH ) 7 A STRTER RUTINA DE INSERCION DE :BREAKS 0 1 3. 6 0119 01 IB 01 ID 0 1 20 0 121 0 1 22 0126 0 1 29 012B 012E 01300132 0 1 34 0 1 35 0136 0137 0139 013A 013C 013E 3A0210 FEOS 28DC CD6B01 6F 62 DD21O410 3AO310 FEOO 010000 2809 CB1F 3008 03 03 03 18F7 3C 1S13 DD09 F5 BRKOUT STRTBK STBKID LD CP JR CALL LD LD LD LD CP LD JR RR JR INC INC INC JR INC JR ADD PUSH A 7 C 1002H) OSH Z, ERROR ZEROUT L,A H,D IX, 1OO4H A, ( 1003H) OOH BC? OOOOH 2. 7 STRTBK A NC v STBKID BC BC BC BRKOUT A BRKINS I X , BC AF ESTA RUTINA INSERT :BREAK EN LA LOCALI :QUE SE INDIQUE DES :EL TECLADO. 'ANTES SE VERIFICA ¡EL NUMERO DE BREAK ¡INSERTADOS SEA <&. [SER =8 SALTA A LA íNA DE ERROR. 0 1 3F 0140 0141 0143 0144 0145 0147 0149 014A 014B 0140 014E 014F 0 1 50 0152 0154 0157 015A 015D 015E 0161 0163 0164 0167 0168 B9 2006 Fl 37 CB17 180B Fl 37 CB17 OD OD OD 20F8 CB17 320310 DD7500 DD7401 7E DD7702 3EFF 77 210210 34 C30D08 CNTNE SETBRK XOR CP A C JR N 2, CNTNE AF POP SCF RL JR POP SCF RL BRKINS DEC DEC DEC JR RL LD LD LD LD LD LD LD LD INC JP A BRKINS AF A C C C NZ, SETBRK A ( 1003H),A <IX+QQH),L (IX-i-01H),H A, (HL) (IX+02H),A AiFFHQ (HL),A HL, 1002H ÍHL) ESCAPE BUBRUTINA ZEROUT 016B 016C 016E 0170 0172 0173 AF D3F1 D3F4 D3F5 76 C9 XOR OUT OUT OUT HALT RET A ÍF1H),A < F4H ) , A ( F5H ) 7 A ¡ESTA SUBRUTINA COL ¡OOOOH EN LOS INDICA RES DE DATOS. BUBROUTINA LOAD 0174 0176 0177 0179 DBF6 57 DBF7 ED45 IN LD IN RETN A,(F6H) Di A A,(F7H) 5 ESTA SUBRUTINA LEE 5 TOS (16 BITS) DEL ? DO - RUTINA DE REMOCIÓN DE BREAKS 017B 017E 01 SO 0133 u i y6 0189 01SA 0 1 8B 018D 0 1 90 0191 0192 0193 0194 0196 3A0210 FEOO CAF900 CD6B01 CDABG1 F5 7D FE1C D2F900 jilo 7E 12 Fl CBBF 57 LD CP JP CALL CALL PUSH LD CP JP INC LD LD POP RES LD A,<1002H) OOH Z,ERROR ZEROUT CHKBRK AF A,L 1CH NC7 ERROR HL A,(HL) (DE),A AF 7,A ESTA RUTINA REMUEV BREAK DE LA LOCALI QUE SE INDIQUE DES EL TECLADO„ ANTES VERIFICA QUE EXISTA POR LO MENO UN BREAK INSERTADO SI EL NUMERO DE BR INSERTADOS ES =0 S A LA RUTINA DE ERR 0 1 99 019B 019C 019D 019E 019F 01A1 01A2 OÍAS 01A6 01A7 OÍAS 01AB 01AC 01AF 01B2 01B4 01B5 01B6 01B7 01B9 01BA 01BB 01BD 01BF 01CO 01CÍ 01C3 01C4 01C6 01C7 01 CS 01C9 01CB 0 1. CC 3E04 CB02 2D 2D 2D BD 38F8 7A 210310 77 2B 35 C30D08 5F 210110 SAOS 10 CBOF 23 .¿Ic' !¿!3 30F9 F5 7D FE1C 300C 7B BE 2803 Fl 18EC 7A .£.•_.' BE 20F8 Fl C9 ROTD CHKBRK CHEKBK FINDBK CNTROT CKADDR AFPOP LD RLC DEC DEC DEC CP JR LD LD LD DEC DEC JP LD LD LD RRC INC INC INC JR PUSH LD CP JR LD CP JR POP JR HFADDR RETRN LD INC CP JR POP RET A,04H D L L L L CiROTD A,D HL,1003H (HL),A HL (HL) ESCAPE E, A HL,1001H A, (1003H) A HL HL HL NC, CNTROT AF 1CH NC,RETRN A, E (HL) 2,HFADDR AF CNTROT A,D HL (HL) NZ,AFPOP AF RUTINA DE EJECUCIÓN DE BREAK 01CD 01D1 01D3 01D4 01DS 01D9 01DC 01 DE 01EO 01E4 01E6 01EA 01EB 0 1 EC 01ED 01EE 01FO 01F2 01F4 01F5 01F6 01F7 DD221E10 DDE3 o •—' 33 ED731C10 315D10 DD2B DDES DD2A1C10 DDES DD2A1E10 F5 CS D5 ES DDES FDE5 ED57 F5 33 08 D9 LO EX INC INC LD LD DEC PUSH LD PUSH LD PUSH PUSH PUSH PUSH PUSH PUSH LD PUSH INC EX EXX (101EH), IX < SP ) T I X SP ("T'Ci •_«r ( lOICH)?SP SP, 105DH IX IX IX, ( 101C H) IX IX, (101EH) AF BC DE HL IX IY A, I AF C'Ci O~ AF,AF-' ESTA RUTINA ALMACE LOS REGISTROS DEL Y SU STATUS AL MOM TO DEL BREAK Y MUE EN LOS INDICADORES DATOS EL CONTENIDO PAR DE REGISTROS 3 LECCIONADOS „ HTO'S oaino y * ( HSd > (1H) *y 1H y * ( Hfrd ) y* <Hid) (iH> *y 03 fc"lH ai df ino ai 03Q ino ino ai oas osaaNd Aídsia y *9 03MNJ ddino y (HOOOT) sayaNd'ZN (HOOOT)c y HySOT *1H Hdd y *o oaino y '(HTOOT ) Hdd'y ai ar na ai nyo ar ai ar en dO 13S dP Ql ai y * ( HSd ) ino (H6SOT) fcy ai y L ( Hfrd ) ino ino y*(HId> (Hyson 'y ai y ¿ (HOOOT) ai ai Haacy adino ar yc(HSd) ino (H9SOT)L y ai y 4 c Hfrd ) ino y*<HTd) ino (H090T ) c y ai y * CHOOOT ) ai Haa&y ai yayois ar ai Haa*y QNdlON ar y * ÍHOOOT ) ai ai Hdd*y ar sayinofcz y*9 na saino ' z ar y *s na fraino*zar yfcfr na fraxno ar syaNidfiziM ardo Hdd (HTOOT)c y ai TaQNId'ZN ar HQd awy (HOOOT ) 'y ai 1H Hsrid 3a Hsnd 03 Hsrid dy Hsrid sdsa 3¿ %z t-dsa Tdsa - 3¿ 2:frQ3 dOO dOS HOOOO *09 AldSia c ZN T090 S03TEO i IHXId sayi3a sayawd saaNid adino saino fraino sayino ysaois TaQNId QNdlON dS ¿C OOCÍOTO ¿.QOZ 4/.9O oTdoys soy/.ao fe'38T 0 T OOSC SO 03 OTASTE dd3d /oao 803 T SO OTTO££ dd3S sdsa oT¿-sys t-dca tdsa ott'sye OTOOSS case HST sdea oiesye t-dea idea OTosys o T cose 033e ¿dST case t'BST oToose cdse ¿.OBZ ¿¿83 S'SSS-!980 ST8S ¿930 ¿T8T SfrOS dd3d OT ioye 600£ Cld93 oTooys y¿Eo ¿¿30 S¿30 fr¿.3 £¿30 T/.SO d9SO 3930 0930 3930 y930 ¿930 S930 £930 0930 as3o as 30 SS30 9S30 £S30 TS30 dfr30 OfrSO ófr30 ¿fr30 Sfr30 3fr30 OfrSO 3£30 a£30 seso 9£30 fres 3 £30 dSSO 0330 3330 8330 S330 £330 T330 dTSO a i so ytso 8 T 30 9T30 frTSO S T 30 OT30 3030 0030 yoso 8030 9030 £030 T 030 ddTO OdTO sa adTo yd'fo Sd 6dTO 8dTO J S3 so 027E 027F 02SO 028 1 0283 0285 0287 0289 028B 04 2B 2B CB1F 38F? 3EF" CB17 IOF; FNDBIT INC DEC DEC RR JR SETFC C9 LD RL DJNZ RET B HL HL A C, FNDBIT A,FFH A SETFC RUTINA DE ARS n-^'orUj^oL028F 0291 0293 0296 0299 029C 029F 02 A 1 02A3 02A5 02A7 02AA 02AC 02AE 02B1 3A0110 F6E1 FEFF CAF900 21531.0 CD7302 3A0010 F6BD CB77 2807 CBB7 320010 ÍSB'3 CBF7 320010 18B3 LD OR CP JP LD CALL LD OR BIT JR RES LD JR SETARS HFDSPY SET LD JR A, (1001H) E1H FFH 1 , ERROR HL, 105AH FNDREO A, ( 1000H) BDH ;ESTA RUTINA DETECT 3 SI EXISTEN REGISTR ;PRIMOS DE LOS REGI ?TROS MOSTRADOS EN 5 INSTANTE DE PEDIRS 3 ESTA RUTINA- EN CA 5 DE NO SER ASI, SAL 5 A LA RUTINA DE IRR 61 A Z, SETARS 6, A (1000H),A FIXHL 6, A ( 1000H) , A DISPLY RUTINA DE CHEQUEO DE REGISTROS Y 1MOVIMIENTO 02 B 3 02B6 02B8 02BA 02BC 02BE 02C1 02C3 02C5 02C7 02CA 02CD 02CE 02CF 02D1 02D2 02D4 02D7 02D8 02DB 02DD 02EO Q2E1 02E3 02E5 02ES 02EA 02EC 3A0010 CB67 2830 CB6F 2833 SAO 110 CBC7 FEFF 2843 215A10 CD7A02 4F 7D FE53 79 0600 F42103 F5 3A0010 CBF7 320010 Fl CB7F 232A CD2103 1SC7 CBE7 CBAi- RESTSP LD BIT JR BIT A, C1000H) 4, A JR RESETA A, (1001H) 0, A FFH Z,NOREG HL, 105AH FNDREG LD SET CP JR LD CALL LD LD CP LD LD CALL PUSH LD SET LD POP BIT JR CALL JR SET RES Z ^ REtíTüP 5, A C»A A,L 53H AiC BíOOH P T ROTRGT AF A, ( 1000H) 67 A C1000H),A AF 7, A ZiRSETFC ROTRGT HFDSPY 4, A 5, A > ?ESTA RUTINA MUESTR ?EL CONTENIDO DEL P 5 DE REGISTROS SIGUI 5 AL QUE INDICAN LOS 5 DE STATUS DEL SIST 5 EL DESPLAZAMIENTO ;ENCENDIDO DE LOS L 3 ES HACIA LA DERECH 02EE 02F1 02F3 02F6 02F9 02FB 02FD 0300 0302 0305 0308 030 A 030C 030F 0312 0314 0317 0319 03 1C 03 1F 0321 - .•;,.—(••-, 0 •_'.£_ JU 0324 0326 0327 0329 032 A 032C 032F 0331 0332 0333 0335 0338 0339 033B 033C 320010 3EFF 320 í. 10 215A10 18B6 F6BD 320010 3EFD 320.1.10 215:310 1832 3EEI320010 3A0010 RESETA NOREG RESTPC CBA'7 320010 3EFF 320110 215C10 1890 04 CB1F 33F13 37 CB1F 3F : CB17 215A10 CB17 2B 2B 10FA 3201.10 2F FE20 FO C36002 THDSPY ROTRGT ROTLFT HFDTRS LD LD LD JR OR LD LD LD LD JR LD LD LD RES LD LD LD LD JR INC RR JR SCF RR CCF RL LD RL DEC DEC DJN2 LD CPL CP RET JP AiFFH U001H>7A HL, 105AH HFDSPY BDH C 1000H) 7 A A,FDH U001H>iA HL, 1058H HFDTRS AiEFH ( 1000H) , A A, ( 1000H) 4, A <1000H) , A A,FFH (1001H), A HL, 105CH HFDSPY B A C» ROTRGT A A HL, 105AH A HL HL ROTLFT U001H),A 20H P DETARS RUTINA DE CHEQUEO DE REGISTROS Y MOVIMIENTO 033F 0342 0344 0346 0348 O 34 A O34D 034F 0351 0353 0355 0357 0359 035A 035C 035E 035F 0361 0362 0364 0367 3A0010 CB67 2851 CB6F .¿í3.-;;.i 3A0110 CBC7 FEFF •^iOQ'7 CB4F 06 OLÍ 04 CB17 3SF3 37 CB17 3F CB1F 214C10 CB1F RTLEFT RTRGHT LD BIT JR BIT JR LD SET CP JR BIT JR LD INC RL JR SCF RL CCF RR LD RR A, (1000H) 4,A Z,RESETI 5, A Z,RSTPC A,C1001H) O, A FFH Z,NOREG 1» A ¿ i Rl~'Tor*' B, O OH B A CiRTLEFT A A HL,104CH A íESTA RUTINA MUESTR ?EL CONTENIDO DEL P 5 DE REGISTROS ANTER ?AL QUE INDICAN LOS 5 DE STATUS DEL SIST SEL DESPLAZAMIENTO ?ENCENDIDO DE LOS L 5 ES HACIA LA IZQUIE 0369 036A 036B 0360 0370 0371 0373 0376 037S 037A 037D 037F 038 2 0385 03S7 0389 03SC 038F 0392 0394 f"iOO~7 U O y/ 0399 039C 039F 03AI 03A4 03A7 23 '~?f-\A 320110 2F FE20 FA60Q2 18A7 F6FD 320010 3EE320110 214210 1 89 5 CBEr 320010 C30r03 3A0010 CBF7 C3E302 CBE7 320010 SAO 110 CBB320110 214C1Q IQD^ FHDSPY RSTPC RSTSP RESETI INC HL INC HL RTRGHT <1001H),A DJNZ LD CPL CP JP JR OR LD LD LD LD JR SET LD JP LD SET JP SET LD LD RES LD LD JR 20H M,DETARS THD3PY FDH <100QH>,A A,EFH <1001H),A HL, 104CH THDSPY 5, A (1000H), A RESTPC A, ( 1000H) 6, A RESTSP 4, A (1000H), A A, ( 1001H) 7,A (1001H), A HL, 104CH FHDSPY R U T I N A DE CHEQUEC DE NUMERO Y LOCALIZAC ION DE BREAKS 03A9 03AC OSAD 03AF 03B1 03B3 03B5 03B7 03BA 03BD 03BF 03C1 03C3 03C5 03C7 03CA 03CB 03CF 03D2 03D3 0305 03D7 03DA 03DB 03DC 03DD 03DE OSEO 03E2 03E4 03E6 21221 0 7E CB77 20 1 ? E60280 5 FEO-? FACAOS SAO 210 FEOO 2802 CBFS D3FO D3F5 C31E08 34 , ED43O310 1 10200 3C E60r FE09 F2BA03 47 , 1C l'C 1C CB 1 9 30F9 1 OF7 2610 6B LD LD BIT JR BRKERR CIMTERR BKOUT AND JR CP JP LD CP JR SET OUT OUT JP INC LD LD ' INC AND CP JP LD T.NC INC INC RR JR DJNZ LD LD HL, 1022H A, CHL) 6, A NZ, BKOUT OFH Z, BRKERR 09H M, BKOUT A, (1002H) OOH Z,CNTERR 6, (HL) (FOH), A (F5H)vA OUTDC (HL) BC, ( 10O3H) DEi0002H A OFH 09H P> BRKERR B,A E E E C NC, INCE INCE H, 10H L,E ESTA RUTINA MUESTR 5 PRIMERO EL NUMERO 3BREAKS INSERTADOS EL SISTEMA Y EN CA DE HABERLOS, MUEST U LOCALIZACIÓN. E 3 FUNCIÓN ES CÍCLICA OSES Ü3EB 03EC 03EE 03EF 03F2 3A0210 LD A, (1002H) o Bo CP B 2097 AF 322210 1891 JR XOR LD .JR NZ,FHDSPY A í 1022H) , A FHDSPY RUITNA DE CAMBIO DE CONTENIDO DE REGÍ STROS 03F4 03F7 03F9 03FC 03FE 03FF 0400 0402 0404 0406 0407 040'? 040A 040B 040E 04 íí 0413 0415 0417 041 A 041B 04 1C 3A0110 FEFF 215C10 28 1 0 2B 2B CB1F 38FA DBF6 77 DBF.7 2B 77 C31EOS 3A0010 CB67 28EF CB6F C2F900 2B 2B 18E6 FND8TR LDREG PGMCTR STKPTR LD CP LD •JR DEC DEC RR .JR IN LD IN DEC LD JP LD BIT JR BIT JP DEC DEC .JR A, (1001H) FFH HL, 105CH 2 7 PGMCTR 'HL HL A C,FND3TR A, <F6H) CHL),A A, (F7H) HL (HLKA OUTDC A, < 1000H) 4i A Z 7 LDREG 5,A NZ 7 ERROR HL HL LDREG ? ESTA RUTINA CAMBIA ? CONTEN I DO DEL PAR 5 REG I STROS I ND I C AD ?EL NUEVO DATO COPI ?EN LOS INDICADORES ? DATOS. RUTINA DE EJECUCIÓN DE PROGRAMA DEL USU ARIO (GO) 041E 0421 0422 0423 0425 0427 042A 042C" 042E 0431 0432 0435 0437 0439 043C 0440 0443 0444 0445 0446 0447 0448 . 0449 044C 044E i CD6B01 5F 1A ' FEFF 2015 212210 CB7E 2803 3A5310 12 ' 210O1O CBDE 1 803 CD6F04 ED532010 314410 El DI Cl Fl D9 08 3A4C10 ED47 33 BRKGO RUN CALL LD LD CP JR LD BIT JR LD LD LD 8ET JR CALL LD LD POP POP POP POP EXX EX LD LD INC ZEROUT E, A A 7 (DE) FFH NZ,RUN HL, 1022H 7, (HL) Z 7 BRKGO A, (105DH) ( DE ) 7 A HL, 10OOH 3, (HL) RUN FINDOC (1020H) ,DE SP, 1044H HL DE BC AF AF7AF-' A, ( 104CH) .I^A 8P SESTA RUTINA EJECUT 5 PROGRAMA DEL USUAR ü PARTIR DEL LA LOCA , COPIADA A LOS INDI 5 RES DE DATOS- 0451 0453 0454 0455 0456 0458 045B 045E 0460 0463 0465 0467 0468 046C 046F 0472 0475 0476 0477 0478 0479 047B 047C 047D 047F 0480 04S1 0482 0484 0485 0487 0438 0489 048A 04 SC 048D 048F 0490 0491 DDE1 23 1F 30F*i JR NC 7 LOCREG F5 7D PLiSH AF A,L 1BH NC A, <HL) D ni Cl ; 3EC3 321F10 3A0010 F6Qir 320010 D3FD D3FO Fl ; ED7B5910 C3 1r 1 0 3A0310 210210 23 FINDOC LOCREG ¿¿o LD CP RET LD CP JR FE IB DO 7E BA 2803 Fl HL HL HL z 7 ES AME JR DEC LOCREG HL LD CP JR INC JR OKDE INC INC LD LD POP CCF RTRIND FS ; HRTIND A, (HL) E Z,ÜKDE HL RSTRRG HL HL A, (HL) < DE ) , A AF RLA DEC DEC DEC 2B ; SEO 3 BD ! 2008 Fl | 210310 77 2B 35 C9 Fl 18E3 101FH A, C1003H) HL, 1002H ESAME 18F5 2B SPi (1059H) AF 2803 0497 0498 ( FDH ) , A ( FON ) „ A AF POP 23 0492 0493 0494 0495 0496 A,C3H <101FH),A A 7 < 1000H) OFH < 1000H) , A RSTRRG 1 y El;- 2B 7E BB 23 ; j¿.o 7E 12 Fl 3F 17 2B 0499 049A 049C 049D 049F 04AO 04A3 04A4 04A5 04A6 04A7 04A8 IX HL DE BC POP POP POP POP LD LD LD OR LD OUT OIJT POP LD JP LD LD INC INC INC RRA El PUSH LD CP JR POP LD LD DEC DEC RET POP JR HL HL HL AF A.03H L NZ, HRTIND AF HL, 1003H ( HL ) -> A HL (HL) AF RTRIND RUTINA DE PASO A PASO <SS) 04AA 04AD 04AF 04B1 04B4 04B6 04B9 04BB 04BD 04CO 04C2 04C4 04 C6 04CA 04CD 04CF 04D2 04D3 04D7 04D9 04DA 04DB 04DC 04DD 04E1 04E2 04E5 04E8 04EB 04EE 04FO 04F2 04F4 04F6 04FS 04FB 04FD 04FF 0502 0504 0506 0507 050A 050C 050E 0510 0512 0515 0516 0517 0519 05 IB 05 ID 05 1F 0521 0522 0526 0527 0528 0529 052B 3A2210 CB7F CBFF 322210 202F 3A0010 CBC7 CB9F 320010 D3FD CB4F 200'? ED535B10 CD6F04 1812 CD6Í301 5F ED535D10 1804 CB DD FD ED ED535B10 1A 325310 21DC04 010400 STRTSS OPCDTL LDPCOC SSBTSL BITSEL 3A5::no EDB9 282:3 CB07 380C CB07 D29605 FED? 2007 C3E506 CB07 3804 03 C3CB05 F6EO CB1F FE7Ü 2824 C33~O6 79 : B7 281 D FE 03 2833 FEO 2 2001 OB ED5BSB10 13 03 1A FECB 2809 LD BIT SET LD JR LD SET RES LD OUT BIT JR LD CALL JR CALL LD LD JR CB DD FD ED LD LD LD LD LD LD CPDR JR RLC JR HBTS80 RLC JP CP JR JP RLC JR HBIT80 MXBTSO BYTLTH DDFDSB INC JP OR RR CP JR JP LD OR JR CP JR CP JR DEC LD INC T.NC LD CP JR A, (1022H) 7, A 7, A (1022H),A NZ, BITSEL A. C 1000H) 0,A 3, A <1000H) 7 A ( FDH ) , A 1,A NZ, STRTSS DE, (105BH) FINDOC SSBTSL ZEROUT E, A <105DH),DE LDPCOC (105BH),DE A, (DE) (105DH),A HL»04DCH BCí 0004H A, (105DH) 7. , BYTLTH A CíHBTSSO A NCiLBITSO D9H NZiHBITSO EXCHLT A C,MXBT80 BC RSVRUN EOH A 7DH ZiBYTFIX LTGP8O A»C A Z,BYTFIX 03H Z»EDSUBR 02H NZ 7 DDFDSB BC: DE, C10SBH) DE BC A, (DE) CBH Z,BYTFIX ?ESTA RUTINA EJECUT ?EL PROGRAMA DEL US ?RIO PASO A PASO DE •LA LOCALIDAD COPIA ?EN LOS INDICADORES 5 DATOS- 052F 0531 0532 0534 0536 0537 0538 053B 053C 053E 0540 0542 0544 0546 0548 054B 054E 054F 0552 0555 0559 055A 055B 055D 055F 0561 0563 0564 0566 0568 056A 056D 056E 0571 0573 0575 0577 0579 057B 057D 057F 0580 0582 0584 0586 0588 O589 058B 058D 058F 0590 0592 05'? 4 0596 0598 059A 059 C 059E 05 A 0 •O5A2 05A4 380A OB CB07 3033 03 , 03 C3C305 HBITDF OB CB07 30F6 CBOF CBOF FEE9 203A 2A5B 1 0 3A5D10 77 2A4-10 C3CF05 ED5B5B10 13 1A CB07 380E CBOF F6F3 2F FE04 28 9 £ FE02 CAE305 OB C3CB05 CEO 7 3091 CB07 300B CB07 3889 FEC6 03 BYTFIX : 28B4 1882 F68F FEB03 EDSUBR JR HBITED LBITDF SLBTDF EXIT HBT80H LASTCK 284:> FEA r 30A7 1A FE21 28 A 2 1 Wc«o CBOr F670 FE76 3806 FE7C 2894 18DE FE74 JR DEC RLC JR INC INC JP DEC RLC JR RRC RRC CP JR LD LD LD LD JP LD INC LD RLC LBIT80 CHK3BT RRC ÜR CPL CP JR CP JP DEC JP RLC JR RLC JR RLC JR CP INC JR JR ÜR CP INC JR CP JR LD CP JR JR RRC ÜR CP JR CP JR JR CP C, HBITDF BC A NC, LBITDF BC BC RSVRUN BC A NC, BYTFIX A A E9H NZ,HBIT80 HL, U05BH) A, (105DH) < HL ) , A HL, (104FH) RJPRUN DE, (105BH) DE A, <DE) A C, HBITED A F8H 04H Z,HBIT8Q 02H Z, INTRET BC RSVRUN A NC,HBIT80 A NC, LASTCK A C,HBIT80 C6H BC Z, BYTFIX HBIT80 8FH BFH BC Z v RSVRUN AFH NC, BYTFIX A, (DE) 21H Z, BYTFIX RSVRUN A 70H 76H C,CHK3BT 7C Z, BYTFIX HBT80H 74H OSAS 05AB OSAD 05AE 05BO 05B2 05B4 05B6 05 B 9 05BB 05BD 05BF 05C 1 05C3 05C5 05C7 05C9 05CB 05CE 05CF Ü5DO 05D3 05D5 05DS 05DC 05DF 05E2 OSES OSES 05E9 OSEA 05ED 05FO 05F1 05F2 05F3 05F4 05F6 05FA 05FC 05FF 0600 0602 0604 0606 3A5:310 1pero C...¿.,o c. 03 3086 1819 CBOF CBOF 3A5310 300A CBOF CBOF CBOF CBOF 1SE3 FE 10 3023 1SB7 CDDF05 09 7E 325310 36FF 225310 ED532010 C33C04 2A5310 222010 3A5310 77 C9 CDDF05 2A5910 5E j^!'-' 56 EB ; 18D9 ED435B10 2008 3A5610 3D 2820 1823 FE 18 BCFIX CK23BT NEWINS THBT80 RSVRUN R.JPRUN FXOPCD INTRET RLJPGP RELJMP •~iO i IIT .C.*-' 11 0608 FE30 O6OA 060E 0610 0612 0614 0616 0619 061 A 06 1C 06 1 E 0620 0622 0625 0627 06 28 ED53571O 3004 CB03 CB03 CB5F 2006CB43 2803 1804 CB43 2005 010200 18A4 03 OA LD CP INC JR JR RRC RRC LD JR RRC RRC RRC RRC JR CP JR JR CALLADO LD LD LD LD LD JP LD LD LD LD RET CALL LD LD INC LD EX JR LD JR LD DEC JR JR CP JR CP LD JR ZFLAG CYFLAG JRONFG NOFLAG FIMDDIS RLC RLC BIT JR BIT JR JR BIT JR LD JR INC LD A, (105DH) 22H BC NdBYTFIX RSVRUN A A A, ( 105DH) MC, NEWINS A A A A BCFIX 10H NC, RLJPGP HBTSOH FXOPCD HL,BC A, <HL) (105DH),A (HDiFFH <105BH),HL DE, (1020H) RUN HL, (105BH) í!020H)vHL A, (105DH) (HL),A FXOPCD HL, (1059H) E, <HL) HL D, (HL) DE,HL RJPRUN BC, ( 105BH) NZ,RELJMP A, (1056H) A Z 7 NOFLAG FNDDIS 1SH 2-, FNDDIS 30H DE, < 1057H) NC, CYFLAG E E 3, A NZ, JRONFG 0,E Z» FNDDIS NOFLAG 0,E N Z, FNDDIS BC,0002H RSVRUN BC A, (BC) * ••sr é 9 _ 0629 062B O62D 062F FE80 3303 E044 D602 063 1 0633 0634 0636 ED44 4F 06FF 0638 063A 063B 0630 063F 0641 0643 0646 0648 064A C602 064C 064F 0652 1 -ss 0655 '•£• 0658 065A • 065C 065F 0662 • 0665 0668 * • 066A 066C 066E 0671 0673 0676 0678 • 067B 067D • ar ,» 0 068 1 0683 0685 0687 0689 068B 068F 0692 0694 41 0&96 0697 0698 0699 • 069A 069C 0690 • 1 0 • 069E 069F 06A 1 06A3 06A5 06A7 06A9 06AB 1893 FWDJMP 4F 0600 188C FE73 HRSVRN LTGP80 2015 3A5D10 FEC ? 28 A 0 FEE? C20605 CDDF05 2A5110 C3CF05 FE71 200E 3A5D10 CD7D06 DAEQ05 010100 1803 FE75 2041 3A5D10 E6F3 C07D06 3846 010300 18C3 ED5B5710 FEDO CKJPHL GGAH01 ONELCN GGAH02 CALLGP CKFGCN 30 1 2 CB03 CB03 CB5r ED4B5B10 3A5D10 2006 CB43 37 C8 3F C9 CB43 37 3F C8 18F7 FEEO 38E4 FEFD 300 £ CBOB CBOB SGMFLG CRRYRT RETURN JPFGST CYPYSN CP JR NEG SUB NEG LO LD JR ADD LD LD JR CP JR LD CP JR CP JP CALL LD JP CP JR LD CALL JP LO JR CP JR LO AND CALL JR LD JR LD CP JR RLC RLC BIT LD LD JR BIT SCF RET CCF RET BIT SCF CCF RET JR CP JR CP JR RRC: RRC 80H C, FWDJMP 02H C,A BiFFH RSVRUN 02H C,A B ^ OOH RSVRUN 73H NZiGQAHDl A, (105DH) C9H Z, INTRET E9H NZ.HBITSO FXGPCD HLi (1051H) RJPRUN 71H NZ,GOAHD2 A, (105DH) CKFGCN C, INTRET BCi 000 1H HRSVRN 75H NZ^GOAHDS A, (105DH) F8H CKFGCN C.CALLJP BC? 0003H HRSVRN DE, (1057H) DOH NC 7 CYPYSN E E 3, A BCi (105BH) A, C105DH) NZ, JPFGST Oí E Z 0»E Z RETURN EOH C, CRRYRT FOH NC,SGNFLG E E 06AD 1SDA 06AF Ü6B1 06B3 06B5 06BS 06BA 06BC 06BE 06C1 06C2 06C3 06C4 06C5 06C6 06C9 06 CB 06CD 06DO 06D2 06D4 06D6 06 D8 06DA 06 DC 06DD 06DF 06E2 06E3 06E5 06ES 06EA 06EB 06EC O6EF 06F1 FE79 2SBJ3 FE 7 7 3A5D10 2016 FEC3 200)3 CDDF05 23 5E 23 56 EB C3CF05 FEE3 GOAHD3 GOAHD4 CALLJP HRJPRN DI8CRD •1' i"\ O •JU .•'<-• C322Q& CB4F 2006 FEC3 208C Í3E4 E638 5F 1600 CDDF05 EB 18E1 2A5B10 3E76 77 EB 2A2210 CBB-E C33C04 HNOFLG KPGOIN RSTART EXCHLT JR CP CRRYRT 79H JR CP LD •JR CP JR CALL INC LD INC LD EX JP CP JR JP BIT JR CP JR JR AND LD LD CALL EX JR LD LD LD EX LD RES JP ZiCALLGP 77H A 7 ( 105DH) NZ, KPGOIN C3H NZ^DISCRD FXOPCD HL E, (HL) HL D, (HL) DE,HL RJPRUN E3H NC,ONELCN NOFLAG 1,A NZ, RSTART CDH NZ,ONELCN CALLJP 38H E, A D i OOH FXOPCD DEiHL HRJPRN HL, (105BH) A,76H <HL),A DE,HL HL, (1022H) 7, (HL) RUN RUTINA DE SELECCIÓN DE FUNCIÓN ( M N U ) 06F4 06F6 06F8 06FA 06FC 06FE 06FF 07O2 0705 0707 070 A 070D 070E 070F 0710 0713 O716 0719 07 1C 07 1F 0722 0725 3E80 D3FB 3E11 D3FO D3F5 76 212507 O 10700 EDB1 C2F?00 211007 85 6F E9 C 3E607 C35E07 JMPTBL C 30 408 C3B407 C 3F307 C3E3FS C317F9 00 TBLBTM LD OUT LD OUT OUT HALT LD LD CPIR JP LD ADD LD JP JP JP JP JP JP JP A»SOH (FBH),A A, 11H ( FOH ) , A (F5H),A HLiG725H BC7O007H NZ 7 ERROR HL, JMPTBL A,L L,A <HL) RWMEM PGM680 PGM581 LD680 LD581 OFFSET 3 ESTA RUTINA SELECC 5 Y EJECUTA UNA FUNC ;ESPECIAL BAJO COMA ?DE UN CÓDIGO INTRO 3 DO A LOS INDICADOR ?DATOS. 0727 0728 0729 072A 072B 06 09 06 09 OF 12 OC OF 12 oc RUI TIMA DE DE =-RO RUITNA =-ROGRAMACION/LECTURA DE EPRGMS Y LECTURA/ESCRITURA DE LOCA DES DE MEM3RI 072C 072F 0730 0731 0732 0734 0735 0737 0733 0739 073A 073B 073D 073E 073F 0741 0742 0743 0744 0745 0748 0749 074A 074B 074D 074E 0750 0751 0752 0753 0754 0756 0757 075S 075A 075B 07 5C 075D 075E 0761 0763 0765 0767 0769 076A 076B 076D 076E 0770 0772 CD6 BO 1 6F 62 AF D3F4 30 D3F5 76 4F 42 AF D3F4 INPUT1 LD LD XOR OUT INC INC OUT INPUT2 D3F5 E, A A,D CALL ZEROUT C,A B,D A (F4H),A A (F5H),A HALT 76 6F 62 AF D3F5 LD LD XOR OUT INC INC OUT 76 HALT 5F EB C9 LD EX RET CALL ADD OUT ADD OUT LD LD OUT LD OUT LD ADD D3F4 3C 3C PGM680 CNT581 D3FA C620 D3FA B,n A ( F4H ) , A A A CF5H),A LD LD RET LD LD XOR OUT INC OUT D3F4 57 7B D3F8 7E D3F9 SEO ¡3 82 Ci A HALT or" O'™- CD2C07 C640 ZEROUT L? A H,ü A ( F4H ) , A A (F5H),A HALT C'U 3C D3F5 76 5F 7A C9 CD6B01 4F 42 AF CALL LD LD XOR OUT INC OUT PGMSEQ L,A H,D A CF4H),A A A (F5H),A E, A DE,HL INPUT1 A,40H ( FAH ) , A A,20H ( FAH ) , A Dv A A7E < FT8H ) , A A, (HL) í F9H ) , A A,08H AiD ESTA RUTINA EJECUTA PROGRAMACIÓN DE LA EF'ROMS Y LA LECTURA LAS MISMAS, TAMBIÉN LEE UNA LO DAD DE MEMORIA Y C SU CONTENIDO BAJO MANDO DESDE EL TEC X X LL N O O o ü. ~ X L.' -J 03 o ¿E Lü Z h- z Ul > 3 Lí_ <r <x co a. <c a. LJ x x o >•-* Lü ¡ £C X X O Q 51 H O H- LÜ O ID CE IL -í x <r Ni LL 03 « «- C3 CO CO CO •* LL ül f£ NÍ 00 LL _J O _1 -J ü_ ü_ LL O. -i U •* _J Lü ffi CQ O O Z CQ Z O ~ X CQ X X CO CO CO CO X CQ Ni X Q <£. O O CL <E 0_ C£ LÜ C¿ <CLü~<£ <E X iN 03 - <r £ Lü " X <I ui Lü ~ <L <T i- O ^ <C ^ X Q X CO CO CQ X - H X~ ~ Z LL Z ~ CA f ü Z X DO X X O CO H X LL ~ ffl H r. <v CQ CL "3* <L L 00 CQ 10 Z Z <C ^ _j LL Z - u_ , LL - ^ ce o u. - x _ ! L ü _ j a . a o _ j - <r w N. 03 N. ir x o H LÜ > ~y ífi ü^| Lü O LL z a. _i Q Lü 2 O C£ a. a, ¡_ co H-i _J Q i™i 03 •^3 N x Lü Q —J O O O Lü Z H .y N. a^ co z H üü LL O O O O O '"*' O O O O O' O '"*' O O1 O O O O' 'O O Q O O O O '"""' O O O o i'J U J -O 03 C 03 Q Lü O N •=*• Ül NÜ N i> <E CG ü Q LÜ LL *-i N CO ^ -O QO P3 O LÜ ^ •* N i>- CQ Q O *-> CO ^ <í CO ffl Q U. O C^ CO Lll CO <C ü LÜ LL O *~* 01 CO N N N N N N N N CO 00 CO CO 03 00 CO 00 00 CO 00 CO 00 '>• '> '> ">• 0^ Q\> i>- <j •• <E <E <C <L <I <I CQ OJ ffl ffl ffl ffi 03 P3 01 U CJ U O O O O O C J Q P D Q Q iM p i i i~n «rf<L LL N Q i"i m cr O- O C* O '.'J O !O C^*T i.N íTs ü~l O ¿t CO O ¿L íO ¿X CA LL LL •-) LL UL O U. *5f O O O <t O CQ O £33 Lü li. LL ü_ LL 03 LL «í1 ^ LL Ül 10 O ül LL LL CO lü << Lü Q O U") O <i CO LT' ui PQ 03 CQ (33 -r-i -^ 03 CO CO <£ <' Lü 'N 03 Uí CO Ul Lü CO CO CO LL CO '>- Ui CO C¡ LÜ CO '?•• CO 03 -O Ul 03 CO CQ N ü") ID £S LO Q 00 Ul '_' Lü O Lü Lü CO CO CO CO U! O C'-í C N Lü LL LL N T~Í O O O CO ui Ul O <C Q Ü CO Q ü CO Q N Q N U O •** Q Q N Lü Q LÜ CO O. Q. Cí. O OO '—' O O 04 O X X _J-J _ J _ J X X X í— CO O O CQ h- CO ü. CL O O O O O £L Ü. O O w _1 _J h- H CC í— hH -J hH Q _í H CO CO ü_ O O C 13 13 Ui Q UJ iT LÜ £T Z' D 13 O O CQ Lü LÜ Lü Lü O O iT Z Z Q Z Ü- ü_ Q ££ <C ü. <C ui „< 13 Ci. O _> Lü O D <I Q -i Q D Uí Q <C iT D Z Q D D O Lü LÜ O ü i _J Q ~3 Ci ~i CO O ¿L Q_ £L CO Q Q Q G Q_ O. ~J w M _j <E O ~3 _i J O ~j U -J Q Q J x O Ül -í O O -J u -J u _i <L" O ~3 O M _J O, ü_ O. Q Q Q_ C LL O <E 07DB 07DC 07DD 07DE 07DF 07E1 07E3 07E4 07E6 07E9 07EA 07EB 07ED 07EF 07FO 07F1 07F3 07F5 07F7 07FA 07FB 07FD 07FE 07FF 080 1 0802 0804 0807 0809 080 A 080D 0810 0811 0813 0814 0815 0818 081 A 08 1C 081 E 0821 0824 0826 0829 082B 082E 083 O O'"!' OO O O 4— 0835 0837 0839 083B 083E 0840 084 1 0844 0845 0848 El ' 03 23 78 E60F FEOS F8 18BE CD6B01 5F 1A D3FO D3F5 76 12 18?- 5 3E82 D3FB CD4507 78 C604 47 7A C604 57 18B7 CD2C07 C604 57 C36107 210010 7E F60F 77 AF 322210 3EEI: D3F5 D3FD 314410 3A0010 D3FD 3A0110 D3FC 3A2210 CB7F 28EC 210010 CB9E CBC£ 1 8E3 326610 DBFF 17 D20;:tF8 3.F 3A6610 C37EF8 POP INC INC LD AND CP RET JR RWnEN CALL LD LD OUT OUT HALT LD JR LD581 PGM5S1 ESCAPE ESCPSS OUTDC -rHKRo'o' LD OUT CALL LD ADD LD LD ADD LD JR CALL ADD LD JP LD LD OR LD XOR LD LD OUT OUT LD LD OUT LD OUT LD BIT JR LD RES SET JR LD IM RLA JP RRA LD JP HL BC HL A,B OFH 08H M OVRFLW ZEROUT E, A A, (DE) (FOH),A (F5H),A ( DE ) , A 'ESCPBS A,S2H ( FBH ) 7 A INPUT2 A,B A704H B,A A,D Ai04H D,A EXCLD INPUT1 A 7 04H D,A CNT5S1 HLilOQOH A, (HL) OFH (HL),A A (1022H),A A,ECH ( F5H ) 7 A ( FOH ) , A SP, 1044H A 7 < iOOOH) (FDH),A A, ( 1001H) (FCH),A A ? (1022H) 7,A Z, OUTDC HL, IOOOH 37 (HL) 1 7 í HL ) OUTDC U066H)7A AiFFH NC 7 RT3S85 A, ( 1066H) RT3SZG RUTINA DE CHEQUEO DE LA ISTRUCCIOIM s RST FS7E DD224F1Q r Wüj¿ DDE; i FSS4 DD225B10 ED735910 315D1Q DDE 5 *""'Pi 3B F5 C5 D5 E5 314310 3A2210 17 3814 3A0210 FEOO 28 ID ED5B5B10 IB CDAC01 7D FE1C 3010 CDD4F8 ED7B5910 DDE5 DD2A4F10 CSC DO 1 CDD4FS ED7B5910 DDE 5 DD2W10 C33 311 ED731C10 315110 El DI Cl Fl DD2A5B10 ED731C10 C9 FÜÜW FS8C |~ÜüF F89 1 FS92 W / •_' FOO'T 1 COO/I i o ;"t F395 F896 FS97 F89A F89D F89E FSAO F8A3 F8A5 F8A7 F8AB F8AC F8AF FSBO F8B2 F8B4 F8B7 F8BB F8BD F8C1 FSC4 F8C7 F8CB F8CD FSD1 F8D4 F8D8 F3DB F8DC F8DD F8DE F8DF F8E3 F8E7 RT38ZG LD POP LD LD LD PUSH DEC DEC PUSH PUSH PUSH PUSH LD LD RLA JR BREAK USER38 ALLBAK LD CP JR LD DEC CALL LD CP JR CALL LD PUSH LD JP CALL LD PUSH LD JP LD LD POP POP POP POP LD LD RET (104FH),IX IX (Í05BH) , IX (1059H),SP SP, 105DH IX c-p •~'r SP AF BC DE HL SP, 1043H A, C1022H) ; ESTA RUTINA DETERM •SI LA EJECUCIÓN DE íRST 38 ES DEBIDO A ¡MONITOR O PROGRAMA tTERRUPCIOM DEL USU íSI ES DEBIDO AL MO i EJECUTA LA FUNCIÓN ¡PECTIVA. SI ES DEB ¡AL USUARIO SALTA A LOCALIDAD 1138H. C i BREAK A, ( 1002H) 00 H Z,USER38 DE, (105BH) DE CHEKBK A,L 1CH NC,USER38 ALLBAK SP, (1059H) IX IX, (104FH) BRKEXC ALLBAK SP, (1059H) IX IX, (104FH) RST38 <101CH),SP SP, 1051H HL DE BC AF IX, (105BH) SP, (101CH) RUTINA DE CALCULO DE OFFSET F8E8 F8EB F8EC F8ED F8FO F8F 1 F8F2 F8F3 F8F5 F8F6 F8F8 F8FA F8FD CD6B01 6F 62 CD6B01 5F EB AF ED52 7C •¿tJ 1 4. FEOO C2F900 7D OFFSET CALL LD LD CALL LD EX XOR SBC LD JR CP JP LD ZEROUT L,A H,D ZEROUT E, A DE,HL A HL,DE A,H C,CHEKSO OOH NZ, ERROR A,L ESTA RUTINA CALCUL EL OFFSET NECESARI PARA LOS SALTOS RE LATÍVOS. F900 F903 F905 F907 F90A F90C F90F F910 F912 F91S D2F900 D3FO D3F5 C31EOS FEFF C2F900 7D FESO FAF900 ÍSEC OUTPUT CHK80 JP OUT OUT JP CP JP LD CP JP JR NC,ERROR (FOH),A (F5H)7 A OUTDC FFH NZ,ERROR A,L SOH M7 ERROR OUTPUT MONITOR DEL 6800 RUTINA DE RESET OEAO OEA2 OEA4 OEA6 OEA9 OEAB OEAC OEAE OEAF OEB1 OEB3 OEB5 OEB7 DEBA OEBD CEBE OECO OEC2 OEC5 OEC7 OEC9 OECB OECD OECE OEDO OED2 OED4 OED7 CEDA OEDC CEDE OEEO OEE2 OEE4 OEE5 OEE7 OEE9 OEEB OEED OEEF yoüj^ RESET 97FB S6FE CE10C2 A700 4C A70Í 4F A702 A703 A7IC 97FO CE IODO FF10DF 4F 97F5 20 1 2 CE10C2 860 F A ACÓ A 700 97FO 4F A71I: 86EC 97F5 SE 11 09 CE1 HC2 A60097FD A60 1 97FC A61C 49 24E3 86F7 A400 SA02 A700 20E3 ESCAPE ESCPSS OUTDC LDAA STAA LDAA LDX STAA INCA STAA CLRA STAA STAA STAA STAA LDX STX CLRA STAA BRA LDX LDAA ORAA STAA STAA CLRA STAA LDAA STAA LDS LDX LDAA STAA LDAA STAA LDAA ROLA E CC LDAA ANDA ÜRAA STAA BRA #*82H *FBH #$FEH #$ 1 OC2H 00 1 X ESTA RUTINA EJECUTA INICÍALO ACIÓN DEL NITOR CRESET). 01, X 02, X 03» X 1C, X *FOH #*10DOH *10DFH *F5H OUTDC #$10C2H *t$OFH 00» X 00 T X $FOH IC,X $ECH SF5H #*11Q9H tt$10C2H 00? X $FDH 01.7 X *FCH ICiX OUTDC #*F7H 00 7 X #$02H 00, X OUTDC PROGRAMA DE SLECCIÜN DE SUBRUTINA 1 OEF1 OEF4 OEF5 OEFS OEFB OEFE OEFF OFOO OF02 OF05 OFOS OFOB B71 116 32 9711.14 F71115 FF1117 30 34 EEO!5 FF11.19 BF1 11BH CE10C2 860 L STAA PULA STAA STAB STX T3X DES LDX STX OTO LDX LDAA «1116H «1114H *1115H *1117H 05, X *1119H *111BH 4**10C2H tt*01H 5 ESTE PROGRAMA ENCU TRA LA RUTINA QUE ?HA PEDIDO Y LO EJE OFOD OFOF QFll OF13 ÜF15 OF17 OF19 OF1C OF1E OF21 OF24 OF27 OF29 OF2B OF2D OF2F OF32 OF35 OF38 OF3A OF3D OF40 OF43 OF46 OF49 OF4C OF4F OF52 OF55 OF5S OF5B OF5E OF61 OF62 OF65 OF67 OF68 OF6A OF6B OF6C OF6D OF6E OF70 OF71 OF74 OF75 OF76 OF77 OF78 OF79 OF7A AAOO A700 97FD 96FF S1FF 2710 CEOF3A 8D40 F61115 B61116 BE111B 6EOO 96FE 81FF 2606 BEÜ1B 7EFFE9 CEOF4C 20 E 2 7EFE89 7EOEC2 7EOFA1 7EFE01 7EFD72 7EFD9A 7EFC07 7EFC6D 7EOF7B 7EFDFO 7EOFAC 7E5DB9 BF 1 OES 35 CEOF75 E600 GETIXÍ LDS JMP CHKFE GETIX2 LDX BRA JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP FINDIX FINDKY STS . TSX OS o* J. 31 ' •_"j 1 RTRN 39 ; ; 00, X 00, X $FDH *FFH #*FFH CHKFE #$OF3A FINDIX 41115H 41116H 4111BH 00, X *FEH #$FFH OETIX2 4111BH EXTNMI #$OF4CH GETIXÍ SS ESCAPE LOAD GO REO > REG< BRK. REM BRK. CHK ERROR RW MEM BRK. INS REO. STR 410E3H LDX &40F75H LDAB 00, X CBA BEQ INX INS INS INS BRA 11 FE FD FB F7 EF DF LDAA CMPA BNE LDS JMP 2706 20F5 30 BE10E3 ORAA STAA STAA LDAA CMPA BEQ LDX BSR LDAB LDAA TSX LDS RTS FE FD FB RTRN FINDKY 410E3H F7 EF DF RUTINA DE ERROR OF7B OF7C OF7D OF7F OFS1 OF84 OF86 OF87 4F 43 97FC 97FD CE0040 C6FF 5A 26FD ERROR OUTERR STRTR DEC IX DECRB CLRA COMA STAA STAA LDX LDAB DECB BNE *FCH *FDH #$0040H #*FFH DECRB 5ESTA RUTINA GENERA 5 INDICACIÓN VISUAL ?DIBLE SI SE PIDE U ?CESO QUE AL MOMENT 5 ES PERMITIDO» OF89 OF8A OFSC OFSE OF90 OF92 OF94 OF96 09 26F8 8.1FB 2604 8AFF 20EB 84FB 20E7 DEX BNE CMPA BNE ORAA RESERR BRA DEC IX #*FBH RESERR í**FFH OUTERR ANDA BRA OUTERR SUBRUTNA ZEROUT OF9S OF99 OF9B OF9D OF9F OFAO CLRA STAA STAA STAA WAI RTS 4F 97F1 97F4 97F5 3E •jy $F1H $F4H *F5H 5 ESTA SUBRUTINA COL 5OOOOH ENLOS INDICA 5 RES DE DATOS» SUBRUTINA LOAD OFA1 OFA3 OFA5 OFA6 OPAS OFAA OFAB LDAA LDAB TSX STAB STAA TXS RTI 96F6 D6F7 30 E701 A702 33 3B $F6H $F7H ESTA SUBRUTIMA LEE (16 BITS) DEL TECL 01, X 021 X RUTINA DE INSERCIÓN DE BREAKS ÜFAC OFAF OFB1 OFB3 OFB6 OFB9 OFBA OFBB OFBD OFBF OFCO OFC1 OFC4 OFC6 OFC7 OFCS OFC9 OFCA OFCB OFCC OFCE OFDO OFD2 OFD4 OFD6 OFD7 OFDA OFDC OFDD B610C4 ülUW 27C8 BDOF98 CE 10 05 36 4F A 100 270F 37 5F 7610C5 24 OC BRKOUT oa os 08 5C 5C 5C 20F3 6COO 20 1 7 C100 2¿06 OE 7'? 10C5 2C OC OE 7910C5 LDAA CMPA BEQ JSR LDX PSHA CLRA CMPA BEQ PSHB CLRB ROR BCC INX *10C4H #*08H ERROR ZEROUT #$ÍOC5 00, X STRTBK *10C5H STBKID J:NX STRTBK STBKID SETBRK INX INCB INCB INCB BRA INC BRA CMPB BNE SEC ROL BRA SEC ROL BRKOUT 00 7 X BKINSA #$OOH SETBRK $ 1 OC5H BKINSB *10C5H ESTA RUTINA INSERT BREAK EN LA LOCALI QUE SE INDIQUE DES TECLADO„ ANTES VER QUE EL NUMERO DE B YA INSERTADOS SEA DE SER =3 SALTA A RUTINA DE ERROR- OFEO OFE1 OFE2 OFE3 OFE5 OFES OFE9 OFEA OFEC OFEE OFEF OFFi 5A 5A 5A 26F7 79 1 OC5 DECB DECB ENE ROL PULB PULA STAA 3TAB TXS LDX LDAA TSX STAA LDAA TXS LDX STAA JMP SETBRK $ 1 OC5H F8ÜA LDS TSX LDAB LDAA LDX JMP $ÍODFH 30 E60 1 A602 EE03 7E1120 FCOO FC01 FC04 30 7C10C4 7ECEC2 TSX INC JMP OFF3 OFF4 OFF6 OFF8 OFF9 OFFB OFFD F300 FS03 F804 F806 FSOS oo BKINSB •~'j¿ BKINSA A701 E702 35 EE01 A600 30 A7C3 S63F •~¡nr. EE01 A7CO 7EFCOO BE10DF USRSWI 01 7 X 02, X 01, X 00 7 X 03.X #*3FH 01, X 00, X $FCOOH 01, X 02, X 03 » X *1120H *10C4H ESCAPE RUTINA DE REMOC ION DE -BREAK FC07 FC08 FCOB 4F B 11004 FCOD FCÍO FC13 FC15 FC1S FC1A FC1C FC1D FC1F FC21 FC22 FC23 FC26 FC2S FC29 FC2A FC2B FC2C FC2E FC2F FC30 FC32 FC33 FC3S FC3S 7ECF7B BDCF9S 8D23 SC10DE 27F3 A602 35 EEOO A700 30 OC SC10C6 2706 59 09 09 09 20F5 59 O9 E7OO 09 6AOO 7EOEC2 B71117 26C3 ERRJMP BRKREM ROTACB RSRACB CHKBRK CLRA CMPA BNE JMP JSR BSR CPX BEQ LDAA TXS LDX STAA TSX CLC CPX BEQ ROLB DEX DEX DEX BRA ROLB DEX STAB DEX DEC JMP STAA *1'OC4H BRKREM ERROR ZEROUT CHKBRK 4HS10DEH ERRJMP 02, X 00 1 X 00 , X ••i**10C&H RSRACB ROTACB 00 7 X 00 , X ESCAPE *1117H ESTA RUTINA REMUEV BREAK DE LA LOCALI QUE SE INDIQUE DES TECLADO- ANTES VER QUE EXISTA POR LO UN BREAK YA INSERT SI EL NUMERO DE BR INSERTADOS ES =Q S A LA RUTINA DE ERR FC3B FC3E FC41 FC44 FC45 FC46 FC47 FC48 FC4B FC4D FC4F FC52 FC54 FC57 FC5S FC59 FC5C FC5E FC61 FC64 FC66 FC69 FC6C 56 08 OS FC97 FC93 FC9A FC9C FC9E FCA1 FCA4 bCAS FCA6 FQA7 FCA8 FCA9 FCAB FCAC FCAE LDX CNTROT 8C10DE 2F1F 24Í-5 BF1119 AEOO FFiliB 30 09 BC1.11 7 270S BE1119 FE111B 20 JE BEÍ119 FE 11 IB 39 CEIODE A600 49 49 25 ID 840F 2704 8109 2D.L7 B6:LOC4 2709 HRETRN 08 08 **./•-•O 24FA 4A 26F7 •¿¡.¿I *1118H #*10C3H *10C5H 4*$10DEH RETRN CNTROT S1119H 00, X $111BH M117H HRETRN $1119H *111BH CNTRÜT *1119H *111BH RTS i£ CHEQUEO DE NUMERO Y LOCALIZQCION DE BREAKS BRKERR CNTERR LDX LDAA ROLA ROLA BCS ANDA BEQ CMPA BLT LDAA BEQ HBKOUT 4**OFH BRKERR #$09H BKOUT S10C4H CNTERR 00 •> X tt*40H 00» X LDAA STAA STAA JMP $ 1 OC4H $FOH *F5H GUTDC RORA RORA BKOUT INC INCA ANDA CMPA BGE LDX LDAB PSHA INX INX INX RORB BCC DECA ENE PULA I NCR IX #*10DEH 00 7 X LDAA ORAA STAA HBKOUT 46; 6COO 4C. S40F 8109 2 CEO CE30C3 F610C5 36 08 LDS LDX RETRN A600 8A40 A700 B6I.OC4 97FO 97F5 7EOED4 46 LDAB RORB INX INX INX CPX BLE BCC STS LDS STX TSX DEX CPX BEQ LDS LDX BRA os RUTINA FCóD FC70 FC72 FC73 FC74 FC76 FC78 FC7A FC7C FC7E FC81 FCS3 FC85 FC87 FCS9 FC8C FC8E FC90 FC93 FC94 FC95 STAB F71118 CE10C3 F610C5 00, X 4**OFH tt*09H BRKERR #*10C3H *10C5H I NCR IX I NCR IX 5ESTA MUESTRAS PRIM ?EL NUMERO DE BREAK ?INSERTADOS EN EL S ;MA Y EN CASO DE HA 5 MUESTRA SU LGCALIZ •ESTA FUNCIÓN ES CÍ FCAF FCBO FCB3 FCB4 FCB6 FCB7 FCBA FCBC FCBE FCCO 16 B630C4 11 2604 4F B 7. 10 DE EEOO 97F1 DFF4 7EOED4 DISPLY RUTINA DE FCC3 FCC6 FCC7 FCC9 FCCA FCCC FCCE FCDO FCD3 FCD6 FCD9 FCDB FCDE FCDF FCE1 FCE4 FCE7 FCEA FCEC FCEE FCEF FCFO FCF1 FCF2 FCF4 FCF6 FCF7 FCFS FCFA FCFC FCFD FCFE FDOO FD01 FD04 FD06 FD08 FDOA FDOC FDOF FD12 FD15 FD17 FD19 FD1B FD1D FD1E FD20 BFJODF 30 AE05 34 AF05 A605 E606 SE30DO BDFC3S 8C30DE 2609 B630DE 49 2503 7EF300 8E1112 FE10DF A607 E606 36 37 34 34 A605 .JMP BRKEXC *10C4H DISPLY *10DEH 00, X *FÍH *F4H OUTDC E.JECUC ION STS TSX LDS DES — —. — •_.• i •-• LDAA LDAB LDS JSR CPX BNE LDAA ROLA BCS LDS LDX LDAA LDAB PSHA PSHB DE BREAK *10DFH 05. X 05, X 05, X 06, X #*10DOH CHKBRK #*10DEH BRKEXC MODEH BRKEXC USRSWI #*U12H $10DFH 07, X 06,X DES- E6C'4 36 37 A6C3 b.6C i¿! 37 36 A6C 1 36 CE1ODF A6CO E6C:l CB07 3900 B7110F F71110 CE10C2 A600 84FD 81FD 270 C 49 2445 49 TAB LDAA CBA BNE CLRA STAA LDX STAA STX JMP CHKREG FINDR1 DES LDAA LDAB PSHA PSHB LDAA LDAB PSHB PSHA LDAA PSHA LDX LDAA LDAB ADDB ADCA STAA STAB LDX LDAA ANDA CMPA BEQ ROLA BCC ROLA 057 X 04» X 03 7 X 02, X 01, X tt*10DFH 00, X 0 1 •> X tt*07H #$OOH *110FH $11 .10H tt*10C2H 00, X #*FDH #*FDH FIMDR2 OUTCCR ¡ESTA RUTINA ALMACE ¡LOS REGISTROS DEL :Y SU STATUS AL MOM :TO DEL BREAK Y MUE •EN LOS INDICADORES : DATOS EL CONTENIDO ¡PAR DE REGISTROS S :C ION ADOS.. FD21 FD22 FD24 FD25 FD27 FD29 FD2B FD2D FD2F FD31 FD32 FD34 FD36 FD3S FD3A FD3C FD3E FD40 FD43 FD46 FD4S FD4A FD4C FD4E FD51 FD53 FD55 FD57 FD5A FD5C FD5E FD60 FD63 FD65 FD67 FD69 FD6B FD6D FD70 49 2422 49 2411 S6FD A700 AÓ01 Sl^F 27 37 46 24 1F 8410 2724 S6ED A700 S6FF A701 CE L i l i 7EFCBA S¿DD A700 Q6FF FINDR2 OUTPC HOUTPC HDSPLY OUTSP HOUTSP A701 CEllOF 20F:0 S6FE A701 CE110B 20E7 . 86DF ÜUTAB OUTIX A701 CE110D 20DE S67'D A700 S6FF A7C 1 CE110A 20 E 1 OUTCCR HOTCCR ROLA BCC ROLA BCC LDAA 3TAA LDAA CMPA BEQ RORA BCC ANDA BEQ LDAA STAA LDAA STAA LDX JMP LDAA STAA LDAA STAA LDX BRA LDAA STAA LDX BRA LDAA STAA LDX BRA LDAA STAA LDAA STAA LDX BRA OUTSP OUTPC 4t*FDH 00, X 0 1, X tt$FFH OUTPC OUTAB tmoH OUTIX #$EDH 00 1 X #*FFH 01, X #*miH DISF'LY #3DDH 00, X #*FFH 01, X #*110FH HDSPLY tt*FEH 01, X #*110BH HDSPLY #*DFH 0 17 X tt*110DH HDSPLY tt*7DH 00 7 X tt*FFH 01, X #*11QAH HDSPLY RUTINAi DE CHEQUEO DE REGISTROS Y MOVIMIENTO FD72 FD75 FD77 FD7S FD7A FD7C FD7D FD7F FDSO FDS1 FDS3 FDS4 FD86 FDSS FDS9 FD8B FDSC FDQE FD90 CE10C2 A600 16 CAF5 E7OO 49 24D4 49 ' 49 240Ü 49 240F A60 1 46 24D1 17 S4EF 20AA 17 RESTPC RSTCCR LDX LDAA TAB ORAB STAB ROLA BCC ROLA ROLA BCC ROLA BCC LDAA RORA BCC TBA ANDA BRA TBA #*1QC2H 00, X #*F5H OO, X OUTAB RSTCCR RESTSP 01, X OUTIX #*EFH OUTPC > "ESTA RUTINA MUESTR 5 CONTENIDO DEL PAR 5 REGISTROS SIGUIENT 3 QUE INDICAN LOS LE ?STATUS DEL SISTEMA 5 DESPLAZAMIENTO DE 5DIDO DE LOS LEDS E 5 CÍA LA DERECHA. FD91 FD93 FD95 FD96 FD9S S47F 20D2 17 84 DF 20 A E RESTSP ANDA BRA TEA ANDA BRA #$7FH HOTCCR ftSDFH HOUTSP RLJI TIMA DE CHEQUEO DE REGISTROS Y MOVIMIENTO < FD9A FD9D FD9F FDAO FDA2 FDA4 FDA5 FDA7 FDAS FDA9 FDAB FDAC FDAE FDBO FDB1 FDB3 FDB5 FDB7 LDX LDAA TAS ORAB STAB ROLA BCC ROLA ROLA BCC ROLA BCC LDAA RORA BCC ANDA BEQ BRA CE10C2 A600 16 CAF5 E700 49 24EE 49 49 24 EO 49 24AE A601 46 24 DD 8410 27 ?C 20 02 #*10C2H 00, X #*F5H 00 7 X RESTSP 5 ESTA RUTINA MUESTR ; CONTEN I DO DEL PAR "REGISTROS ANTERIR 5 QUE INDICAN LOS LE 5 DE STATUS DEL SIST 5 EL DESPLAZAMIENTO •ENCENDIDO DE LOS L 5 ES HACIA LA IZQUIE RESTPC OUTIX 01, X RSTCCR &$10H OUTAB RESTPC RUTINA DE CAMBIO DE CONTENIDO DE REGISTROS FDB9 FDBC FDBE FOCO FDC1 FDC3 FDC5 FDC6 FDCS FDC9 FDCA FDCC FDCD FDCF FDD2 FDD3 FDD5 FDD7 FDD9 FDDB FDDD FDDF FDE1 FDE3 FDE5 FDE7 FDE9 FDEB FDED CEIOC2 9EF6 A601 43 260F A600 49 FDSTR1 24:. 3 49 49 24 ;. 3 49 2414 7EOF7B 46 2512 84 1 O 2612 20EQ AF¿-8 200E AF4D 200 A AF4F 2006 AF/Í9 2002 AF4B 7ECED4 FDSTR2 STRCCR STRSP STRPC STRAB STRIX ODCJMP LDX LDS LDAA COMA BNE LDAA ROLA BCC ROLA ROLA BCC ROLA BCC JMP RORA BCS ANDA BNE BRA STS BRA STS BRA STS BRA STS BRA STS JMP ft$10C2H $F6H 01, X FDSTR2 00 7 X 5 ESTA RUTINA CAMBIA 5 CONTEN I DO DEL PAR 5 REG I STROS I ND I CAD 5 EL NUEVO DATO COPI 5 EN LOS INDICADORES 5 DATOS. STRCCR STRSP STRPC ERROR STRAB ttílOH STRIX FDSTR1 48 7 X ODCJMP 4D,X ODCJMP ' 4F, X ODCJMP 49, X ODCJMP 4B, X OUTDC RUTINA DE LECTURA/ESCRITURA DE LOCALIDADES DE MEMORIA FOFO FÜF3 FDF5 FDF7 FDF9 FDFB FDFC FDFE BDOF98 DEF6 A600 97FO 97F5 JSR LDX ZEROUT *F6H LDAA STAA STAA 00 7 X 3E WAI E700 7EOECE STAB JMP $FOH *F5H ESTA RUTINA LEE LA CALIDAD DE MEMORIA CADA Y CAMBIA SU C DO BAJO COMANDO DE TECLADO. 00, X ESCPSS RUTINA DE EJECUCIÓN DE PROGRAMA DEL USUARIO (GO) FEO 1 FE04 FE06 FE09 FEOB FEOD FEOP FE12 FE 15 FE17 FE 18 FE1B FE1D FE1E FE20 FE21 FE22 FE24 [- EJ¿O BDOF98 DEF6 FF1111 A600 813F 2708 SE 11 02 BF10DF 2022 35 CE10DE A600 49 2414 OC CNTNGO SL3PGO 46 A700 A635 30 A 700 FE27 CE10C2 FE29 8608 FE2C AAOO FE2E FE30 A700 2005 FE32 SE 11 09 FE34 SD2D FE37 CE10C2 FE39 A600 FE3C SAOF FE3E FE40 A700 97FO FE42 CE10DF FE44 FE47 •~* %J A62Z: FE48 E62D FE4A FE4C EEOD A703 FE4E FE50 £702 30 FE52 FE53 ' A623 AE32 FE55 EEOO FE57 A701 FE59 AF06 FE5B BE1 IOD FE'SD AF04 FE60 BE10DF FE62 BRKGG RUN JSR LDX CT •«• 1 Y A LDAA CMPA BEQ LDS STS BRA TXS LDX LDAA ROLA BCC CLC RORA STAA LDAA TSX STAA LDX LDAA ORAA STAA BRA LDS BSR LDX LDAA ORAA STAA STAA LDX TXS LDAA LDAB LDX STAA STAB TSX LDAA LDS LDX STAA ZEROUT $FÓH *1111H 00 7 X tf*3FH CNTNGO 4t*1102H *10DFH RUN tt*10DEH 00, X BRKGG 00 7 X ••:•=; y •._'%J 7 A 00 7 X 4**10C2H #$08H 00, X 007 X RUN #$1109H FINDOC tt*10C2H 00 , X #*OFH 007 X $FOH tt$10DFH 2C,X 2D,X 00 1 X 03, X 02 1 X 2B, X 32, X 007 X 01 7 X C'T1— • •_> ) --.' 06, X LDS STS LDS *110DH 04 7 X *10DFH 5ESTA RUTINA EJECUT ,PROGRAMA DEL USUAR 7°A PATIR DE LA LOC 5 DAD COPIADA A LOS 3 C ADORES DE DATOS,, FE65 FE66 FE69 FE6C FE6F FE72 FE74 FE76 FE77 FE78 FE79 FE7A FE7B FE7E FESO FE32 FE84 FE86 FEwa 3B B61111 F61112 BDFC3S SC10DE 2717 A6J2 OC 59 09 09 09 8C I.OC3 26F7 £702 6A01 EE4E A700 39 FINDOC DECBRi; SBRRTN RTI LDAA LDAB JSR CPX BEQ LDAA CLC ROLB DEX DEX DEX CPX BNE STAB DEC LDX STAA RTS sillín *1112H CHKBRK #$10DE1 SBRRTN 02, X #$1QC3I DECBRK 02, X 01, X 4E,X 00» X RUTINA DE PASO A PASO (SS) FE89 FE8C FE8E FE8F FE91 FE93 FE96 FE93 FE9A FE7B FE9C FE9E FEAO FEA2 FEA4 FEA6 FEAS FEA9 FEAA FEAC FEAF FEB1 FEB3 FEB6 FEB8 FEBA FEBD FECO FEC1 FEC2 FEC4 FEC5 FEC7 FEC8 FECA FECC FFCF 1 1— '_-! FED1 FED3 CE30C2 A61C 49 2409 A651 FE1111 .A7CO 2026 OD 46 A71C A600 8A01 84F7 A700 97FD 46 ; 46 2507 FE1111 8DB5 20011' BDOF9S DEFÓ A6OO B71113 FFlitll 16 59 CNFTOC STRTSS SSBTSL BYTSEL 257:. 59 2536 59 25 OC; A601 B711 13 A70 1 7EFE39 ONEBYT HLFRUN LDX LDAA ROLA BCC LDAA LDX STAA BRA SEC RORA STAA LDAA ORAA ANDA STAA STAA RORA RORA BCS LDX BSR BRA JSR LDX LDAA STAA STX TAB ROLB BCS ROLB BCS ROLB BCS LDAA STAA LDAA STAA JMP #*1QC2I *1CH CNFTOC K-.j y •-' .1 , 7% $ 1 1 1 1H 00» X BYTSEL 1C,X 00 , X #$Q1H #*F7H 00» X *FDH 'oTRTy'™$ 1 111 H FINDOC BYTSEL ZERGUT $F6H 00 7 X *1113H $1 1 1 1 H CHKHGR CKBT02 CKBCSP 01, X *1113H #$3FH 01, X RUN 5 ESTA RUTINA EJECUT 3 PROGRAMA DEL USUAR 5 PASO A PASO DESDE 5 LOCALIDAD COPIADA "LOS INDICADORES DE 5TOS. FED6 FED7 FED9 FEDA FEDC FEDD FEDF FEE2 FEE4 FEE6 FEE9 FEEB FEED FEEF FEFO FEF1 FEF3 FEF6 FEF8 FEFB FEFD FEFE FFOO FF01 FF03 FF05 FF07 FF09 FFOC FFOE FF10 FF12 FF14 FF16 FF1S FF1B FF1C FF1E FF20 FF22 FF24 FF26 o R^r •"*' £-'.t FF2A FF2D FF2F FF31 FF33 FF35 FF36 FF38 FF39 FF3B FF3C FF3E FF40 FF42 FF44 FF46 FF4S FF4B FF4D 59 24 5A 59 24EE 59 2510 FE110F EE01 A600 B7.1113 863F A700 20 E4 59 59 2505 FE:. 111 20F:3 FE;. 121 20E-7 59 24CA 59 240F 817E 27DB A603 B7J 113 S63F A703 20 Cl 816E *"•*'/• 1 ""' E6C1 CE10E1 4F EB2D AB2C A7CO E7C 1 EEOO 20BC A602 B7I113 863F A702 20 A 0 2O5D 59 2546 59 2535 59 25EA S13B 23E6 818D 26C1 E601 CE10E1 A631 C17F CKBCSP SPLOPS EXTDJP EXCSTR EXCWAI CKSIWA SFTWRI CKBT02 THREBT CHEK6E INDXJP TWOBYT BMCHJP CHKHGR CKRLJP ROLB BCC ROLB BCC ROLB BCS LDX LDX LDAA STAA LDAA STAA BRA ROLB ROLB BCS LDX BRA LDX BRA ROLB BCC ROLB BCC CMPA BEQ LDAA STAA LDAA STAA BRA CMPA ENE LDAB LDX CLRA ADDB ADCA STAA STAB LDX BRA LDAA STAA LDAA STAA BRA BRA ROLB BCS ROLB BCS ROLB BCS CMPA BLS CMPA BNE LDAB LDX LDAA CMPB BNCHGP ONEBYT CKSIWA *110FH 01, X 00, X $1113H #$3FH 00, X HLFRUN SFTWRI $1 1 1 1 H EXCWAI *1121H EXCSTR ONEBYT CHEKóE #$7EH EXTDJP 03, X *1113H tt*3FH 03, X HLFRUN #*6EH TWOBYT 01, X #*10EU 2C,X 00 7 X 01, X 00 , X EXCSTR 02, X *1113H 4**3FH 02, X HLFRUN BNCHGP CHKCTF CHEKAB TWOBYT #*SBH TWOBYT tt$SDH THREBT 01, X #$10E1I31, X #$7FH FF4F FF51 FF52 FF53 FF55 FF57 FF59 FF5B FF5D FF5E FF5F FF6 1 FF62 FF64 FF66 FF68 FF6A FF6C FF6D FF6E FF70 FF71 FF73 FF75 FF77 FF7A FF7C FF7E FF80 FF81 rr P~ i~i -"i r r o-j> FF84 FF86 FF88 FF8A FF8D FF8E FF90 FF92 FF94 FF96 FF97 FF99 FF9B FF9D FF9F FFAO FFA1 FFA3 FFA4 FFA7 FFA9 FFAA FFAB FFAD FFAE FFBO FFB2 FFB3 FFB5 FFB7 FFB8 2310 50 10 £630 C2:JO E700 A701 EEOO 08 OS 2033 IB E630 C900 E700 A701 EEOO OS HEXCSR FWDJMP HFWDJP os 20EF 59 2407 81BD 2690 7EFEE2 81AD 2798 20A8 59 250A 59 25A2 8 ICE 269E 7EFF07 59 25FA 2096 8120 27BO 16 8123 2327 S12C 2C2E 46 46 ' CHEKAB CHECKA CHKCTF HTREBT CHEKEF HTWOBT BNCHGP 2514 46 B6110A 2501 46 R/_ •-JO 2505 46 249ó 20DE 46 2591 20D9 46 46 CHECKV HCHKFG CHECKC JPFGRS BCC JPFGST CHEKZN BLS NEGB SBA LDAB SBCB STAB STAA LDX INX INX BRA ABA LDAB ADCB STAB STAA LDX INX INX BRA ROLB BCC CMPA BiME JMP CMPA BEQ BRA ROLB BCS ROLB BCS CMPA ENE JMP ROLB BCS BRA CMPA BEQ TAB CMPA BLS CMPA BGE RORA RORA BCS RORA LDAA BCS RORA RORB BCS RORA CKRLJP BRA RORA BCS BRA RORA RORA FWDJMP 30, X #$OOH 00, X 01,X 00, X EXCSTR 30, X #$OOH 00, X 01 v X 00 7 X HEXCSR CHECKA #$BDH THREBT EXTDJP &$ADH INDXJP TWOBYT CHEKEF TWOBYT 4t*CEH TWOBYT THREBT HTREBT TWOBYT #$20H CKRLJP #*23H CHECKZ #$2CH CHKNVZ CHEKZN *110AH CHECKC JPFGST HTWOBT CKRLJP HTWOBT 1 1 O O T¡ i-*- rn co -o rn s-* m ca o 3> O TlTJT]T}TlTiTlTíTlTJT}TiTjTiTlTjTiTjT}TiTjT¡TjTÍTjT NI m s: -L r T| rn m H CO -& COí~í O N' -í^ CO ID1 m o r TJ NI z c _. U 4 X X X -J CO i-*1 NI X j> ^r o o o T> TÍO í o rn o rn o H o I .pa n H=. o r-.'i TI co N! X T\ m !-•• ¡. .' O mo m o NÍ !. .1 rn X O o x. N! 7\ 7 x m a TJ o o o O NI ) i X ¡TJ O *O * X cu ¡-J- i—* ¡^í¡ O O ÍT¡ C> u i-* o en o T\> TJ x. 3> 3> x O'i 3> O m ri !> C¡ m Tj 'D "O O ''"= 3> Tj TJ . co «-* TI TI 2 a o G ¡"M o 33 r~ "z. ~¿- TJ o z 2 m 3: H rt o o o X m O O"11 NI CO N' CO m r n r n n i n i r n o Q C J Q O O o o o o o o o n o o co co co •••O x¡ c> •£> N> o m o ü> co >> -& ío TÍ rn ú co *& xj en w o TI rn o ' "n ~n vi m o 3> CO Cd NI O f-O CO N" CO NÍ CO NI CO CO N' TÍ TI m m ¡> o o m o o O1- •£• o co c^ i-1- xi f-^ —• en í-^ o o o *-•• m "n o o o o o o o o o TI m o o co 3> •••O co xi o^ co TjTlTjTjTjT|TíTjTjTITj PRÜGRMAM MONITOR DEL 80S5A RUTINA DE RESET V LOCALIDADES DE RESTART •""' cr o "'• D3F3 C33FOO LDA OUT JMP FBH RESET 00 38 C33308 JMP CHKR3S 003 F 004 1 DBFF 17 3EFE D25208 IN RAL LDA JNC FFH 0000 0002 00 04 0042 0044 OCZ.O.Ú- RESET 5 ESTA RUTINA SALTA 5 PROGRAMA DE RESET 3S085A Y TAMBIÉN SAL 5 AL PROGRAMA DE CHEQ 5DE LA INSTRUCCIÓN FEH RSET85 3LIBRUTINA ZEROUT O16B 0 1 6C 016E 0170 0172 0173 UWo'B 083E 0840 084 1 084B 0840 084F 0852 0855 0856 0857 0858 0859 085A O85B OS5C 035D 085E 0861 0863 0866 0869 086 A 086C 086F 0872 0873 0875 0876 AF D3F1 D3F4 D3FS5 76 C9 XRA OUT OUT OUT HALT RET A F1H F4H F5H 326610 DBFFr 17 D20DF8 STA IN RLA .JNC 1066H FFH 1F 3A6610 C37FOA 216710 77 3C 2-^ 77 AF RST85 RSET85 j^'.O 77 .c.o 77 •™»*~tiOO 1 f~i Oj¿-'~"-' 1 v* D3FO 218B10 22B210 AF D3F5 C3S008 216710 7E F60F 77 AF ESCAPE RAR LDA JMP LXI MOV INR INX MOV XRA INX MOV INX MOV STA OUT LXI SHLD XRA OUT JMP LXI MOV ORÍ MOV XRA CKURBK 1066H EXCBRK H, 1067H Mi A A H M,A A H M, A H Mi A 1088H FOH 108BH 10B2H A F5H OUTDC H, 1067H A,M OFH M, A A ;ESTA SUBRUTINA COLO SOOOOH EN LOS INDICA RES DE DATOS. 0877 087A OS7C OS7E OS 30 OS 33 OS 36 i"*jO ™'O 08 3B OS 30 OS90 O 391 0894 0397 OS9S OS9A 089C OS9D 328810 3EEC D3F5 D3FO 31A710 3A6710 D3FD 3A6S10 D3FC ESCPSS OUTDC 3ASS10 17 D2&008 2U710 7E E6F7 F602 77 C38008 STA MVI OIJT OUT LXI LDA OIJT LDA OUT LDA RAL JNC LXI MOV ANI ORÍ MOV JMP 1 08SH A 7 ECH F5H FOH SP, 10A7H 1067H FDH 1068H FCH 10SSH OUTDC H, 1067H A 7M F7H 02H Mi A OUTDC PROGRAMA DE SELECC ION DE SUBRUTINA OSAO OSAS OS A 4 OSAS 08A6 08A9 OSAC OSAD OSEO OSB3 08B4 03BS 08B8 OSBB OSBD OSBE OSBF OSC i OSC 3 OSC5 oses OSCB OS CE 08CF OSDO O8D 1 OSD4 O8D5 OSD8 08DB OSDD 08DF OSE2 08E4 OSE7 OSEA OSED OSFO OSF3 OSF4 22B710 El F5 ET-"; 22BD10 210000 •—• y 228510 31BD10 C5 D5 31A910 216710 SEO 1 B6 77 D3FD DBFF FE7F CAOBOS CDFOOS 31B910 DI Cl Fl 2ASH10 F9 2AB710 C3BF10 DBFEFEFF C2C808 3EC3 32BF10 214711 22C010 C3CBOS 211809 17 D20609 FSTKBD RTNSTS CHKFE FDRTNE SHLD POP PUSH XTHL SHLD LXI DAD SHLD LXI PUSH PUSH LXI LXI MVI ORA MOV OUT IN CPI JZ CALL LXI POP POP POP LHLD SPHL LHLD JMP IN CPI JNZ MVI STA LXI SHLD JMP LXI RAL JNC 10B7H H PSW 10BDH HiOOOOH SP 1085H SP, 10BDH B D SP, 10A9H H, 1067H AiOlH M M,A FDH FFH 7FH CHKFE FDRTNE SPi 10B9H D B PSW 10S5H 10B7H 10BFH FEH FFH FSTKBD A,C3H 10BFH H, 1147H 10COH RTNSTS H, 091SH RELDDE 9 1ESTE PROGRAMA ENCU ; TRA LA RUTINA QUE 5 HA PEDIDO Y LO EJE OSF8 OSFB OSFC 08 FF 0900 0901 0902 0903 0906 0907 0908 09 OB 090 E 090F 0912 0914 09 1 7 0918 0919 091 A 09 IB 09 1C 09 ID 091 E 0921 0924 0927 092A 092D 0930 0933 0936 0939 09 3C 093F 113:1)09 BE CAOz.09 FDDATA oo 13 1 -~i --• J.o •—' C3F308 O "7 O/ 1F 111 £09 C3F1308 EB 22C010 3EC3 32BF 1 0 C9 FE FD FB F7 EF DF C3140D C36F08 C36009 C3850C C32BOB C3C90B C3BB09 C313.0A C34209 C3770C C 3 66 09 C33F:OC RELDDE STJPLC DATATL FSTTBL SCNDTL LXI CMP JZ INX INX INX INX JMP STC RAR LXI JMP XCHG SHLD MVI STA RET FE FD FB F7 EF DF JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP JMP RUTINA: 0942 0943 0944 0946 0943 O94A 094C O94D 0950 O951 0954 0955 0956 0957 0958 0959 095A 095B 095D AF 2F D3FH D3FC 06FF OE3£¡ OD C24CO9 05 C24A09 1F 1F 1F 3F 17 17 17 D3FD C34S09 STRTER DECB DECC DE XRA CMA OUT OLIT MVI MVI DCR JNZ DCR JNZ RAR RAR RAR CMC RAL RAL RAL OUT JMP D-, 0930H M STJPLC H D D D FDDATA Ü7091EH FDDATA 10COH AiCSH 10BFH SS ESCAPE LOAD GO REU j REü':-. BRK. REM BRK. CHK ERROR RWMEM BRK. INS REO. STR ERROR A FDH FCH B,FFH C,38H C DECC B DECB FDH STRTER SUBRUTINA LOAD "ESTA RUTINA GENERA 5 INDICACIÓN VISUAL 3 DIBLE SI SE PIDE U 5 CESO QUE AL MOMENT 5 ES PERMITIDO. O 9 60 0962 O963 0965 IN MOV IN RET DBF6 57 DBF7 C9 F6H D,A F7H 5 ESTA SUBRUTINA LEE ?DATOS (16 BITS) DE ;TECLADO. RUTINA DE INSERCIÓN DE BREAKí O966 0969 096B 096E 0971 0972 0975 097S 097A 097D 09 SO 0981 0984 0985 0986 0987 098A 098B 098 E 098F 0990 0991 0992 0995 0996 0997 0998 099B 099C 099D 099E 099F 09AO 09 Al 09 A 4 09A5 09A8 09A9 O9AA O9AB 09 A C 09AD 09AE 09AF 09BO 09BÍ 09B3 09B4 09B7 09B8 3A6910 FEOS CA4209 CD6B01 5F 216B10 3A6A10 FE 00 010000 CAS 309 1F D 2 SE 09 03 03 03 BRKOUT Uütí'JÜV 3C C3A1509 09 F5 AF B9 C29B09 Fl 37 17 C3AÍ509 Fl 37 17 OD OD OD C29C09 17 326A10 73 j£.O 72 EB . 7E EB !¿!--> 77 EB 3EFF 77 216910 34 C36F08 STRTBK STBKID CNTNE SETBRK BRKINS LDA CPI JZ CALL MOV LXI LDA CPI LXI JZ RAR JNC INX INX INX JMP INR JMP DAD PUSH XRA CMP JNZ POP STC RAL JMP POP STC RAL DCR DCR DCR JNZ RAL STA MOV INX MOV XCHG MOV XCHG INX MOV XCHG MVI MOV LXI INR JMP 1069H 08H ERROR ZEROUT E, A H, 106BH 106AH OOH Bi OOOOH STRTBK STBKID B B B BRKOUT A BRKINS B PSW A C: CNTNE PSW BRKINS PSW C C: C SETBRK 106AH M,E H M,D A,M H M,A FFH M,A H, 1069H M ESCAPE RUTINA DE REMOCIÓN DE BREAKS ESTA RUTINA INSERT BREAK EN LA LOCALI QUE SE INDIQUE DES EL TECLADO.ANTES V FICA GUE EL NUMERO BREAKS YA INSERTAD SEA <£. DE SER ~& A LA RUTINA DE ERR O9BB 09BE 09CO 09C3 09C6 09C9 09CA 09CB 09CD 09DO Q9D1 09 D 2 09D3 09D4 09D6 09D7 09D8 09D9 09DA 09DB 09DD 09DE 09DF 09E2 09E5 09E6 09E7 09ES 09EB 09EC 09EF 09F2 09F3 09F4 09F5 09F6 09F9 09FA 09FB 09FD OAOO OA01 OA02 OA05 OA06 OA09 OAOA OAOB OAOC OAOF OA10 LDA CPI JZ 3A6910 FEOO CA4209 CD6B01 CDEB09 F5 7D FE83 D 242 09 JÍ.O 7E 12 Fl E67F 07 2D 2D 2D 57 3E6B BD 7A DAD609 216A10 77 2B 35 C36FOS SF 216810 3A6A10 OF •~~f -~i 23 !¿!w' D2F2O9 F!5 7D ROTATE CHKBRK CHEKBK FINDBK CNTROT CLADDR cr cr o o D20FOA 7B BE CA090A Fl C3F209 7A j£.--j BE PSWPOP C2050A Fl C9 RETRN HFADDR CALL CALL PUSH MOV CPI JNC INX MOV LDAX POPAN I RLC DCR DCR DCR MOV MVI CMP MOV JC LXI MOV DCX DCR JMP MOV LXI LDA RRC INX INX INX JNC PUSH MOV CPI JNC MOV CMP JZ POP JMP MOV INX CMP JNZ POP RET 1069H OOH ERROR ZEROUT CHKBRK PSW A*L 83H ERROR H A,M D PSW 7FH ESTA RUTINA REMUEVE BREAK DE LA LOCALID QUE SE INDIQUE DESD TECLADO,, ANTES VERI QUE EXISTA POR LO M UN BREAK INSERTADO» SI EL NUMERO DE BRE INSERTADOS ES =0 SA A LA RUTINA DE ERRO L L L D,A A,6BH L A,D ROTATE H, 106AH M,A A M ESCAPE E, A Hi 1068H 106AH H H H CNTROT PSW AiL OOLJ O O ti RETRN A, E M HFADDR PSW CNTROT A,D H M PSWPOP PSW RUTINA DE CHEQUEO DE NUMERO Y LOCALIZACION DE BREAKS OA11 OA14 QA15 CAÍ 6 CAÍ 7 OAIA 213810 7E O7 07 DA3BOA OF LXI MOV RLC RLC JC RRC H,IOSQH HBKOUT "ESTA RUTINA MUESTRA ?PRIMERO EL NUMERO D 5BREAKS INSERTADOS E 5 SISTEMA, Y EN CASO 3 HABERLOS, MUESTRA ?LOCALIZACION. ESTA OA1C OA1E OA21 OA23 OA26 OA29 OA2B OA2E OA2F OA31 OA32 OA33 OA34 OA36 OA33 OA3B OA3C OA3D OA3E OA3F OA42 OA43 OA44 OA45 OA48 OA49 OA4B OA4D OA50 O ASI ÜA52 OA53 OA54 OA55 OA56 OA57 OA5A OA5B OA5C OA5F OA61 E60F CA260A FE09 FA3DOA 3A6910 FEOO CA340A F5 3E40 B6 77 Fl D3FO D3F5 C3SOOS CNTERR OF OF 34 E5 HBKOUT 4D 44 El 116900 3C E60F FE09 F2260A 47 F5 79 1C 1C ÍC 1F D2530A F5 05 C27BOA INCRE 2610 OA67 OA6S C26FOA OA6B OA6C OAóF OA70 OA72 OA74 OA75 OA76 OA73 OA7B OA7C AF 323S10 7E D3F1 D3F4 2B 7E D3F5 C3SOOS Fl C3530A OA63 OA64 BKOUT 2A6A10 6B Cl Cl 3A6910 BS OA62 BRKERR DISPLY RSRPSW ANI JZ CPI ÜH LDA CPI JZ PU3H MVI ÜRA MOV POP OIJT OUT JMP RRC RRC INR PUSH LHLD MOV MOV POP UXI INR ANI CPI JP MOV PUSH MOV INR I MR INR RAR JNC PUSH DCR JNZ MVI MOV POP PO LDA CMP JNZ XRA STA MOV OUT OUT DCX MOV OUT ÜMP POP JMP OFH BRKERR 09H BKOUT 1069H OOH CNTERR PSW A,40H M M,A PSW FOH F5H OUTDC H 106AH C,L B,H H D 7 00691 A OFH 09H BRKERR B,A PSW AvC E E E INCRE PSW B RSRPSW H, 10H L,E B B 1069H B DISPLY A 10S8H A,M F1H F4H H A,M F5H OUTDC: PSW INCRE RUTINA DE EJECUCIÓN DE BREAK 10AAH OA82 OAS3 OAS4 OAS7 OAS8 CAS"? GASA OASB CASE OA91 OA92 OA95 OA98 OA99 OA9A OA9B OA9E OAA1 OAA3 OAA6 OAA9 OAAB OAAE OABi OAB2 OAB3 OAB4 OAB5 OABS OAB9 OABC CABE OAC1 OAC4 OAC6 OAC9 OACC CACE GADO GAD3 OAD5 OAD8 CADA OADD GAEG OAE2 OAE4 OAE7 OAE9 OAEB GAEE OAF1 GAF3 OAF5 GAFS OAFB OAFE OBO 1 OB04 OBG7 GBG9 E3 2B 22B41G •-'•j> o •«' F5 El 22B010 21GGGG oo 22B21G 31B010 C5 DS 20 32A9ÍG 3A6710 E6FD C2BÍGA 3A6S10 FEFF C2F1GA C3C40A 17 17 17 17 D2C40A 1F D2DSOA 3EFD 326710 C3A60A 3EED 3267 10 3AB510 D3F1 D3F4 3AB410 D3F5 C3E9GA 3EDD 3267 1G 3AB310 D3F1 D3F4 3AB21O D3F5 3EFF 326S1G NOTFND FINDR1 STOREA OUTB4 OUTB5 OUTFD u^yuuy F661 FEFF 21B310 C201GB 326710 C3E9GA 31A91G CD130B SEA A BD FINDR2 LOCREG XTHL DCX SHLD INX INX PUSH POP SHLD LXI DAD SHLD LXI PUSH PUSH RIM STA LDA ANI JNZ LDA CPI JNZ JMP RAL RAL RAL RAL .JNC RAR .JNC MVI STA JMP MVI STA LDA OUT OUT LDA OUT JMP MVI STA LDA OUT OUT LDA OUT MVI STA JMP ORÍ CPI LXI JNZ STA JMP LXI CALL MVI CMP H 10B4H SP r~-p PSW H 10BOH H, OOOOH i>r*' 1GB2H SP, 10BOH B D 1GA9H 1067H FDH FINDR1 106SH FFH FINDR2 GAC4H OUTB4 OUTB5 A, FDH 1067H NOTFND A.EDH 1067H 1GB5H F1H F4H 10B4H F5H OUTFD A,DDH 1G67H 10B3H F1H F4H 1OB2H FSH A, FFH 106SH OUTDC 61H FFH H, 1GB3H LOCREG 1067H OUTFD SP, 1GA9H FNDREG A» AAH L ESTA RUTINA ALMACE LOS REGISTROS DEL Y SU STATUS AL MOM DEL BREAK Y MUESTRA LOS INDICADORES DE EL CONTENIDO DEL P DE REGISTROS SELEC NADOS» OBOA OBOD OBÍO OBI 3 OBI 5 OBI 6 OBI 7 OB1S OBI 9 OBI A OB1D OB1F OB20 OB21 OB22 OB25 OB26 OB27 OB2S 21A910 C36FOA 060 1 1F FNDREG 04 2B 2B 1F DAÍ60B 3EFF 17 F5 05 C2270B Fl C9 Fl C3ÍFOB FNDBIT SETFC HSETFC LXI JMP MVI RAR I MR DCX DCX RAR JC MVI RAL PUSH DCR JNZ POP RET POP JMP H, 10A9H DISPLY BiOlH B H H FNDBIT FFH PSW B . H, SETFC PSW PSW SETFC RUTINA DE CHEQUEO DE REGISTROS Y MOVIMIENTO OB2B OB2E OB30 OB3 1 OB32 OB33 OB36 OB37 OB3A OB3D OB3F OB41 OB44 OB47 OB4A OB4C OB4F OB51 OB54 OB56 OB59 OB5A OB5B OB5D OB5E OB60 OB63 OB66 OB67 OB68 OB6B OB6E OB6F OB70 OB71 OB72 OB74 OB76 OB79 3A6710 F6CO 17 17 17 D2S40B 17 D26EOB 3A6810 F661 FEFF CA940B 21B310 CD130B FE7F CA990B FEEF C2590B 3E7F C3660B 4F 7D FEAD 79 LDA ORÍ RAL RAL RAL JIMC RAL JIMC LDA ORÍ CP I NOTHL 0600 CDACOB C3630B 2B 2B 326810 C36FOA 1F 1F 1F 1F F610 E6DF 326710 3EFF DISPIM DSPREG RESTSP HRSTSP JZ LXI CALL CPI JZ CPI JNZ MVI JMP MOV MOV CPI MOV MVI CP JMP DCX DCX STA JMP RAR RAR RAR RAR ORÍ ANI STA MVI 1067H COH Rb.üETA RESTSP 1068H 61H FFH NOREO hU 10B3H FNDREG 7FH RESTPC EFH NOTHL A,7FH DISPIM C,A A» U ADH A,C B , OOH ROTRGT DSPREG H H 106SH DISPLY 10H DFH 1067H A, FFH 3 ESTA RUTINA MUESTR 3 CONTENIDO DEL PAR •REGISTROS SIGUIENT 5 QUE INDICAN LOS LE 3 DE STATUS DEL SIST 3 EL DESPLAZAMIENTO 3 ENCENDÍDO DE LOS L 5 ES HACIA LA DERECH OB7B OB7E OBS1 OB84 OBy6 OB89 OB8B OBSE OB91 OB94 OB96 OB99 OB9C OB9E OBA1 OBA3 QBA6 OBA9 OBAC OBAD OBAE OBB1 OBB2 OBB3 OBB4 OBB5 OBB8 OBB9 OBBA OBBB OBBC OBBD OBCO OBC1 OBC4 OBC5 OBC6 3268 i 0 21B310 C36FOA F6FD 326710 , 3EFD 1 326310 21BÍ10 C36FOA 3EFF 326710 3A6710 E6EF 326710 3EFF 326S10 21B510 C36FOA 04 1F DAACOB 37 1F 3F 17 2 1 B3 1 0 17 2B 2B F5 05 C2C50B Fl 326S 1 0 C9 Fl C3B80B RESETA NOREG RSETPC ROTRGT ROTLFT HRTLFT LXI JMP ORÍ STA MVI STA LXI JMP MVI STA LDA ANI STA MVI STA LXI JMP INR RAR JC STC RAR CMC RAL LXI RAL DCX DCX PUSH DCR JNZ POP STA RET POP JMP 106SH H, 10B3H DISPLY FDH 1067H A, FDH 106SH H-, 10B1H DISPLY A,FFH 1067H 1067H EFH 1067H A,FFH 106SH 10B5H DISPLY B ROTROT H» 10B3H H H PSW B HRTLFT PSW 1068H PSW ROTLFT RUTINA DE CHEQUEO DE REGISTROS Y MOVIMIENTO < ÜBC9 OBCC OBCE OBCF OBDO OBD1 OBD4 OBD5 OBDS OBDB OBDD OBDF OBE2 OBE3 OBE4 OBE7 OBES OBE9 OBEA OBED OBEE 3A6710 F6CO 17 17 17 D21COC 17 D22COC 3A6310 F661 FEFF CA940B 1F 1F D2260C 17 17 17 D20FOC 1F 0600 LDA ORÍ RAL RAL RAL JNC RAL JNC LDA ORÍ CPI JZ RAR RAR JNC RAL RAL RAL JNC RAR MVI 1067H 60H RSTPC RESETI 1QÓSH 61H FFH NOREG RSTSP DISPHL B,QOH ESTA RUTINA MUESTRA CONTENIDO DEL PAR REGISTROS ANTERIOR QUE INDICAN LOS LEO STATUS DEL SISTEMA. DESPLAZAMIENTO DE E CENDIDO DE LOS LEDS HACIA LA IZQUIERDA. OBFO OBF1 17 OBF2 OBF5 06F6 OBF7 OBF3 OBF9 OBFC OBFD OBFE OBFF DAFOOB 37 17 3F ocoo OC01 OC04 OC05 ecos OCOB ococ OCOF OCIO OC11 OC 1 3 OC16 OC19 OC 1 C: OC1D OCIE RAL JC STC RAL CMC RAR LXI 1F 21A510 1F RTRGHT ji'-JÍ F5 05 U20BOC Fl 3268 1 0 C36FOA Fl C3FCOB 37 1F E6EF PUSH DCR JNZ POP STA JMP HRTRGT POP DISPHL STC JMP RAR AMI STA LXI JMP • "'•"'/. O J. 1 í"l C'x_O'_> IJ 21AB1Q C36FOA 37 1F 1F OC1F 1F OC20 OC23 OC26 OC29 OC2C OC2F OC31 OC34 OC 36 OC 39 OC3C 326710 C3990B 3A6710 C3720B 3A6710 F6FO 326710 3E7F 326S10 21A910 C36FOA RSTPC LDA JMP RESETI H H PSW B HRTRGT PSW 1 06SH DI3PLY PSW RTRGHT EFH 1068H H, 10ABH DISPLY STC RAR RAR RAR STA JMP RSTSP H, 10A5H RAR INX INX .¿LO RTLEFT LDA ORÍ STA MVI STA LXI JMP 1067H RESTPC 1067H HRyTüP 1067H FOH 1067H A,7FH 1068H H, 10A9H DISPLY RUTINA DE CAMBIO DE C UNTEN I DO DE REGÍSTRO OC3F OC42 OC44 OC47 OC4A OC4B OC4C OC4D OC50 OC5 1 OC53 OC5 4 OC57 OC5A OC5C OC5D OC5F OC60 3A6810 FEFF 21B510 CA640C 2B 2B 1F DA4AOC F5 3EA9 BD FA5AOC 21A910 DBF6 77 DBF7 2B 77 LDA CPI LXI JZ FNDSTR LDREG DCX DCX RAR JC PUSH MVI CMP Jlvl LXI IN MOV IN DCX MOV 1068H FFH H, 10B5H PGMCTR H H FNDSTR PSW A,A9H L LDREG H» 10A9H F6H M,A F7H H M, A ÍTA RUTINA CAMBIA 5 CONTENIDO CO DEL PAR D ;RE REGISTROS INDICADO ;EL NUEVO DATO COPIA ;EN LOS INDICADORES 5 DA 7 E¡D OC64 OC67 OC6S OC69 OC6A OC6B OC6E OC6F OC72 OC73 OC74 3A6710 17 17 17 17 D25AQC 1F DA4209 2B 2B C35AOC PGMCTR LDA RAL RAL RAL RAL JNC RAR JC DCX DCX JMP 1067H LDREG ERROR H H LDREG RUTINA DE LECTURA /ESCRITURA DE LOCALIDADES DE MEMORIA OC77 OC7A OC7B OC7C OC7E ocso OC8 1 OC8 2 CD6B01 5F 1A D3FO D3F5 76 12 C37AOS CALL MOV LDAX OUT OLIT HALT STAX JMP ZERGUT E, A D FOH F5H 5 ESTA RUTINA LEE LA 3 LOCAL I DAD DE MEMORI ? INDICADA Y CAMBIA S ? CONTEN I DO BAJO COMA •DESDE EL TEC LADO. D f'Cr'Co 'Co E O•_>'_- RUTINA DE EJECUCIÓN DE PROGRAMA DEL USUARIO (GG) OC85 oes s OCS 9 CCS 9 ocsc OC8F OC92 OC94 OC95 OC9S OC9B OC9C OC9F OCA 1 OCA 2 OCA 3 OCA6 OCA9 OCAC OCAD OCA E OCAF OCB2 OCB3 OCB4 OCB5 OCB6 OCB7 OCB9 OCBC OCBF OCC1 OCC4 OCC6 CD6BO 1 5F iA FEFF C2A90C 2 1 38 i 0 SESO A6 CAA60C 3 ABÓ 10 12 216710 3E08 B6 77 C3A90C CDD10C 218610 -t!' 7•_• j¿O 72 3 1 AS 1 0 Fl 3O El DI Cl 3EC3 328510 3A6710 F60F 326710 D3FD D3FO BRKGO RUN CALL MOV LDAX CPI JNZ LXI MVI ANA JZ LDA STAX LXI MVI ORA MOV JMP CALL LXI MOV INX MOV LXI POP SIM POP POP POP MVI 3TA LDA .ORÍ STA OUT OUT ZEROUT E,A D FFH RUN H, 10S8H A,SGH M BRKGO 10B6H D H, 1067H A»OSH M M,A RUN FINDGC H, 10S6H M,E H M,D 3FS 10 ASH PSW H D B AiCSH 10S5H 1067H OFH 1067H FDH FOH 5 ESTA RUTINA EJECUTA 5 PROGRAMA DEL USUARI ? PARTIR DE LA LOCALI 5 COPIAD A EN LOS INDI 3 RES DE DATOS „ OCC9 OCCA OCCB OCCE OCD1 OCD4 OCD7 OCD8 OCD9 OCDA OCDB OCDE OCDF OCEO OCE2 OCE3 OCE4 OCE5 OCES O CE 9 OCEC OCED OCEE OCEF OCF2 OCF3 OCF6 OCF7 OCFS OCF9 OCFA OCFB OCFC OCFD OCFE OCFF ODOO ODOi OD03 OD04 OD07 ODOS ODOB ODOE ODOF ODIO OD11 El F9 2AAA10 C38510 3A6A10 216910 Tr~j FIMDOC LOGREO 23 U-J!' 1F D2D70C F5 7D FE82 DO 7E BA CAECOC Fl C3D70C , 2B 7E BB CAF60C 23 C3E80C 23 j¿-~' 7E 12 Fl 3F 17 2B 2B 2B F5 RSTRRG ESAME OKDE RTRIND 3E6A BD C2100D Fl 326 A 10 216910 35 C9 Fl C3FCOC HRTIND JMP RUTINA DE OD14 OD17 OD18 OD1B ODIE OD21 OD22 OD23 OD26 OD29 3A8S10 17 D2210D 3AB610 C34DOD 37 1F 32S31O 3A6710 F601 POP SPHL LHLD JMP LDA LXI INX INX INX RAR JNC PUSH MOV CPI RNC MOV CMP JZ POP .JMP DCX MOV CMP JZ INX JMP INX INX MOV STAX POP CMC RAL DCX DCX DCX PUSH MVI CMP JNZ POP STA LXI DCR RET POP CNFTOC H 10AAH 1085H 106AH H, 1069H H H H LOCREG PSW A,L O '""f O iiiL FLJi A,M D ESAME PSW LOCREG H A,M E OKDE H RSTRRG H H A,M D PSW H H H PSW A>6AH L HRTIND PSW 106AH H, 1069H M PSW RTRIND PASO A PASO <SS> LDA RAL JNC LDA JMP STC RAR STA LDA ORÍ 10S8H CNFTOC 10B6H BITSEL 10S8H 1067H 01H ESTA RUTINA EJECUTA PROGRAMA DEL USUARI PASO A PASO DESDE L LOCALIDAD COPIADA E LOS INDICADORES DE TOS. OD2D OD30 OD32 OD33 OD34 OD37 OD3A OD3B OD3E OD41 OD44 OD45 0046 OD49 OD4A OD4D OD4E OD51 0052 OD55 0057 OD59 OD5C OD5E 0061 OD64 OD66 OD69 OD6C OD6F OD70 OD71 OD74 OD76 OD77 OD7A OD7D OD7E OD81 ODS4 OD87 OD3A OD8B OD8C OD8F OD92 0095 0097 0098 0099 009C OD9E OD9F ODAO ODAS ODA6 ODA7 ODAA ODAC ODAF OOB2 326710 D3FD STA OUT RAR RAR JC 1F 1F DA410D 2AB410 EB CDD10C C3450D CD6B01 5P EB STRTSS 7E BITSEL HONBYT ONEBYT RSVRUN RJPRUN 32B610 3EFF 77 22B410 2 A 36 10 EB C3A90C 2AB410 223610 3AB610 FXPOCD 77 C9 010200 C36COO 2AB410 3E76 TWOBYT EXCHLT ZEROUT E, A 10B4H A,M 10B6H HGHBIT HONBYT 1CH OCH LOWHLF 1SH TWOBYT ONEBYT D9H EXCHLT &i 000 1H CALL FXOPCD DAD MOV STA MVI MOV B A,M SHLD LHLD XCHG 10B4H 1086H JMP RUN LHLO SHLD 10B4H 10S6H 10B6H LDA MOV RET LXI JMP LHLD MVI MOV 77 EB 10B6H A,FFH M,A M,A B,0002H RSVRUN 10B4H A,76H M,A XCHG 213310 3E7F A6 77 C3A90C 3AB610 1F D2B50D £604 C2690D 010300 C36COO CALL MOV MOV STA RLC JC RLC JC ANI CPI JM CPI JZ JMP CPI JZ LXI DAC10D 09 7E C-OOT'-'I •-"•-.« O I -_«L_. LDPCOC 07 DA640D E61C FEOC FAA30D FE1S CASCOD C3690D FE09 CA9200 010ÍOO CD810D FINDOC JMP XCHG SHLO 32B610 07 STRTSS 10B4H LHLD XCHG CALL ¡:>yBTüL 22B410 1067H FDH LOWHLF TREBYT LXI MVI ANA MOV JMP LDA RAR JNC ANI JNZ LXI JMP H? lUtíWH A,7FH M M, A RUN 10B6H CK3BYT 04H ONEBYT Bi 0003H RSVRUN ODB6 ODB9 ODBB ODBE ODC1 ODC2 ODC5 ODC7 ODC9 ODCC ODCE ODD1 ODD3 ODD6 ODD9 ODDB ODDE ODEÍ ODE2 ODE3 ODE4 ODE5 ODE6 ODE9 ODEB ODEE ODF1 ODF3 ODF6 ODF9 ODFC ODFD CEDO OE01 OE03 OE06 OE07 OEOS OE09 OEOA OEOB OEOC OEOE OE11 OE12 OE13 OElé. OE17 OE1A QE1C OE1D GE 1 E OE1F OE20 OE22 GE 23 OE24 OE25 OE2S GE2A OE2D D269CD E608 CA690D C3AFOD 07 D2690D E&1C FE1C CA3BOE FE 13 CA8COD FE14 FAE90D 3AB610 FECD C2690D CDS10D 23 5E HGHBIT CALLJP !¿!-i¡ 56 £B C3700D FE10 C24FOE 3AB610 E6FS CDFCOD DADEOD C3AFOD EB 2ABO 1 0 EB FEDO D22SOE F5 7B 07 CKCALL CKFGCN MOV 07 5F Fí SGNFLG E608 2AB410 4D 44 3AB610 7B C2200E E601 CRRYRT 37 CS ocr Oí C9 E601 37 3F CS C31EOE FEEO DAOCOE FEFO RETURN JPFGST CYPYSN JNC ANI JZ JMP RLC JNC ANI CPI JZ CPI JZ CPI JM LDA CPI JNZ CALL INX MOV INX MOV XCHG JMP CPI JNZ LDA ANI CALL JC JMP XCHG LHLD XCHG CPI JNC PUSH A, E RLC RLC MOV POP ANI LHLD MOV MOV LDA MOV JNZ ANI STC RZ CMC RET ANI STC CMC RZ JMP CPI JC CPI ONEBYT OSH ONEBYT TREBYT ONEBYT 1CH 1CH RSTART 1SH TWOBYT 14H CKCALL 10B6H CDH ONEBYT FXOPCD E?M H D,M RJPRUN 10H NEXT 10B6H FSH CKFGCN CALLJP TREBYT 10BOH DOH CYPYSN PSW E, A PSW OSH 10B4H CiL B,H 10B6H A, E .JPFGST 01H 01H RETURN EOH CRRYRT FOH OE32 OE33 OE34 OE35 OE36 OE37 OE3Q OE3B OE3C OE3D OE40 OE43 OE45 OE46 OE4S OE4B OE4C OE4F OE51 OE54 OE57 QE59 OE5C OE5E OE61 OE64 OE66 OE69 OE6B OE6E OE71 OE73 OE76 OE79 OE7C OE7F OEQ2 OES5 OE36 OE37 OE83 OES9 OE8C CESE OE91 OE94 OE97 OE9A OE9D C3700D FEC9 C2690D C37FOE 3AB610 CDFCOD DA7FOE C3690D FSOD F810 3A6610 22AA10 FS13 FS14 F817 F818 F819 F81A F81B F81E E3 F5 El PUSH 22B010 210000 SHLD í™821 39 F5 7B OF OF 5F Fl C30COE F5 7B C3090E 3AB610 E638 HSNFLG RSTART 5F 1600 CDSÍOD NEXT SKJUMP ÜMP CPI JZ CPI RTRN 5E "ñA EB •~¡;1¡ ÜMP CPI JNZ LDA CPI JZ CPI JP ^•""""í 22B410 •^"•—' MOV JMP LDA ANI MOV MVI CALL XCHG EB C3700D FEOC C2640E 3AB610 FEC3 CADEOD FEE3 F2690D C3SCOD FEOS CAEEOD FEOO CA940E 3AB610 FEE9 C28COE CDSÍOD 2AAA10 C3700D CDSÍOD 2AB210 PÜSH MOV RRC RRC MOV POP JMP PUSH CHKRET CNLRET CKRT38 JZ LDA CPI JNZ CALL LHLD JMP CALL LHLD MOV INX MOV XCHG JMP CPI JNZ JMP LDA CALL JC JMP LDA SHLD XTHL SHLD INX INX POP LXI DAD PSW A, E E, A PSW CRRYRT PSW A, E SGNFLO 10B6H O •_"OLÍ -'r! E,A DíOOH FXOPCD RJPRUIM OCH CKJUMP 10B6H C3H CALLJP E3H ONEBYT TWOBYT 08H CKCALL OOH CNLRET 10B6H E9H CHKRET FXOPCD 10AAH RJPRUN FXOPCD 10B2H E,M H DiM RJPRUN C9H ONEBYT RTRN 10B6H CKFGCN RTRN ONEBYT 1066H 10AAH 10B4H SP o o •—'I PSW H 10BOH Hi OOOOH SP i~y.«¿-.j F82S F829 F82A F82D F82E Ftí!¿lF F832 Froo^i O O--.' F836 F839 F83C F83E F841 F844 F845 F847 F84A F84D F850 F OC" •_'•_' I1 F854 F855 F858 F85B F85E FS61 F862 F865 F866 F369 F86C F86F F870 F873 F876 F877 F878 F879 F87C F87D 31B010 C5 D5 2AB410 2B EB 31A910 O/\OO 1 t"\ H «-"--A U 17 DA4AFS 3A6910 FEOO CA5BF8 CDEC09 7D FE83 D25BF8 CD6CFQ 2AB210 F9 2AB4ÍO E5 2AAA10 C37FOA CD6CF8 2AB210 .i— _ CKFRBK BREAK 2AB410 E5 2AAA10 U'J-Jc! 1 1 210000 39 2283 1 0 31AC10 DI Cl Fl 2A8310 F9 C9 ALLBAK LXI PUSH PUSH LHLD DCX XCHG LXI UDA RAL JC LDA CPI JZ CALL MOV CPI JNC CALL LHLD SPHL LHLD PUSH LHLD JMP CALL LHLD SPHL LHLD PUSH LHLD JMP LXI DAD SHLD LXI POP POP POP LHLD SPHL RET SP> 10BOH B D 10B4H H SP, 10A9H 108SH BREAK 1069H OOH USER38 CHEKBK A,L 83H USER3S ALLBAK 10B2H 10B4H H 10AAH BRKEXC ALLBAK 10B2H 10B4H H 10AAH RST3Q I-UOOOOH SP 1033H SP, 10ACH D B PSW 1033H