DISEÑO Y CONSTRUCCION DE UN ANUNCIADOR ELECTRONICO DIGITAL
GUSTAVO ADOLFO ARBOLEDA OSPINA
ORLANDO CASTAÑEDA ALVAREZ
Trabajo de Grado presentado colllo
requisito parcial para oPtar al
título de Ingeniero Electricista
Director : AUGUSTO GUARIN
CORPORACION UNIVERSITARIA AUTONOMA DE OCCIDENTE
PROGRAMA DE INGENTERIA ELECTRICA
cari,rrrulSf fffig¡¡
lr"¡
I
\\J
ito(l
I
cr\q\$
I
\g
1,1\,I
d.
-.¡(ts\;
j
\9
LI'xrl\Y\f
.J*-\
.IU{q¡,
\r\\\"
\.t"
.\\s-{
I
{u\({\
=sfs:
*.\.!\¡
j
3'at!
Aprobado por eI Comité de trabaio
de Grado en curnplimiento de los
requisitos exr'gidos por la Corpora-
ción Universitaria Autónoma de
Occtdente para optar el tftulo de
Ingeniero El ectricista.
CaLi, julio 26 de 1985
it
Presidente del Jurado
DEDICATORIA
A mi esposa Alba Rosa, a mi hi.ja Lorenita, a mi madre
Edelmira y a la nrenroria de mi padre Ricardo.
0rl ando
A mi's padres Francisco José y Helda Maria, a mi abuelita
Aura Cecilia.
Gustavo Adolfo
tii
AGRADECIMIENTOS
Queremos agradecer de nnnera especial la colaboración obtenida de las
siguientes personas que de una u otra forma colaboraron en la elabora-
ci6n de nuestra tesis :
Ingeniero ALBERTO FRANCO.
Ingeniero FABI0 ALMANZAR.
Ingeniero AUGUST0 GUARIN.
Ingeniero GERMAN VARELA.
Ingeniero ALBERTO RAMIREZ.
SeñOr LUIS ALFONSO ALVAREZ.
Ingeniero JAIIIE HII{CAPIE
iv
+621.-3{'J\aca S.-
TABLA DE CONTENIDO
INTR0DUCCION..i 'r.. t.. i' r.r '.. r" " "r ' "," ""
I.. EL MICROPROCESADOR Y ELEMENTOS PERIFERICOS UTILIZADOS
PARA CREAR UN SISTEMA..
1.1 ESTRUCTURA DEL SISTEMA.
I.Z ESTRUCTURA INTERNA DEL
1.3 COMUNICACION DEL MICRO
MICROPROCESADOR.
CON LOS ELEMENTOS PERIFERICOS.
1..4 oPERACIoN DEL SISTEMA........ ... ......1..5 TIPoS DE MEMoRIA.... . r... r... o. r '. ' ......,.1.6 FORMAS DE INTERRUPCION DEL MICROPROCESADOR....
1.7 C0NFoRMACI0N DE UN PR0GRA[14.........,.".. ......
2. EL Z-80....e..rr.t."t' "t"o"" "o""""
2,7 ESTRUCTURA DEL Z'80. '.. r... r... r... ' t. " " " " " ": "Z,Z REGISTROS PROGRMABLES DEL 2.80... A ' ' ... t..
2.3 M0D0s DE DIRECCIoNAMIENT0...,,....,.............
2.4 ESTAD0S DEL Z'80,.r.. .''.'i.r" """r""'2,5 PINES Y SEÑALES DE LA CPU 2.80....I .. .. ' ........
2,6 CoNJUNT0 DE INSTRUCCIoNES DEL Z-80....,.. '...........2.7 FoRMATo DE DAToS E INSTRUCCToNES.,. '...,.........,...
Pág.
4
4
5
L2
t2
15
t7
2L
25
25
26
29
30
33
37
40
3.
3.1
EL PUERTO PROGRAI-¡IABLE PIO 8255.,..,,., a
EL INTEL 8255 Y EL 82554..... . .... e
43
M
47
50
54
56
57
59
60
60
61
65
66
3.2 PINES Y SEÑALES DEL 8255 PPI.
3.3 MODOS DE OPERACION DEL PUERTO 8255 PPI...... I " " ' I "3.4 CUIDADOS IMPORTANTES EN EL I'IANEJO DEL 8255 PPI...I...
4. MEMoRIAS RM Y EPRoM....,........ r. o..........,. r.....
4.1 LA MEMoRIA RoM..... r,............ .. e.,. r. r..,.. r. r.. r
4.? LA MEMORIA EPR0M...... r.., " " e ' o " " " t " ' t " ' r " ' t '
4.3 PROGRAMACION DE UNA MEMORIA EPROM..'I't....I'ItQ"..'
4.4 BoRRADo DE UNA EPRoU 2716.,.......r.r..r..o.....,r...4.5 FUNCIoNAMIENTo..,, r. ......... . r... r.., r......... ... r r
4.6 LA MEMoRIA RAI{. o.... i.,....... o rr¡ o. r, r..,.. r r r......
4,7 I{EMoRIA RM ESTADISTICA..i..........,...r...ar.......
4.8 CAPACIDAD Y CONSIDERACIONES DE CONFTGURACION DE gITS
EN UNA RAIYI ESTATICA. '...r '.r... r'. r r' o.. t" ro" " r.. '
5. CoDIFICACIoNES Y MULTIPLEXoRES..,'.......'..r...a r.. r..
5.1 CoDIFICADoRES. ..... o.. ?. ..... '....... '
5,2 I{ULTIPLEX0RES.., t. r. r,..... .,. . r. t.. r.. a o,..,... r r r r r
6. pERIFERIC9S - BASIC0S I TECLADOS * DISPLAY...,..... o.,
6.1 TECLADOS. t. r..'.r.i.rr.. r "rt I ? r" "o " I r 'r it"" "' t
6,2 DISPLAY.... o r.... t t. '... '... " .. t ' ' t " " " " " " " r t '
7. EL PRoGRAMA M0NIToR...r r.r.r i a. r. r. r... r.,. ?.....r rr..
7,1 INICI0 PR0GRAI4A.,. r,.r.¡ r r ii r. ro r... r r r ?.rr,.r i... ro i
7.2 INICIo ANUNCIo. T.rr.......e.....,.e .. r..r r.r.ar.
68
7L
7t
72
77
77
83
85
B6
91
7.3 tt55 FINAL ANUNCI0|T.. '.. r.. '. ' i.... t. r. '. o.. ' ". t r " t '
7.4 SUBRUTINA "B0RRAM.|.. r...., o..... r.........,. t........7 .5 SUBRUTINA UPARRAIil' .. .. ,... . r . . .. .
7.6 SUBRUTINA "PARRAMH0RA',|......,.,.,r..,.. .......,,7.7 SUBRUTINA "ESC0PARRMI|....r...........r.......,.....,7.8 SUBRUTINA "BLoQUE" . r... .. r.. r.........,....7.9 SUBRUTINA "COMCE.|...,...''.............r... .......".t7.10 SUBRUTINAIIPRINIIOR|,| . r ' r r ? ' t r t. r...I. t '. t. ' '... ' tI.I I '
7.11 SUBRUTINA ,¡INTRETI .... r.,... i. r.. r. r. r..,.......
7.12 SUBRUTINA "C0NTACAR||.. ,.. . r... r '. r r ',. r r.... r,, r... '.7.13 SUBRUTINA I|ESCOPAR¡| ... i.. r..'t' '.. r.....r...o ". .... '
7.14 SUBRUTINA tlBLANCOSll . r.. ' r t a. r. t ' r... t,.... r I i '. " r " '
7.15 SUBRUI INA llRELOJll .... r '..... r...... "'.. '. r t o r ". " r t '
7.16 SUBRUTINA 11 INDIi| .......... r.... t t r........ r.. r a... '. '
7.17 SUBRUTINA ilINltErl.e...a...,r?..r...t............,.,...
7.18 SUBRUTINA '|FECH4rr....,........ r...,. r.... o........ '. '
7.1'9 SUBRUTINA llSELEMESllr r r. r..... ' t. r t t...... r...,. ' I o " '
7.20 SUBURTINA '|ESCOMES|It r... a r. r t..r..r.. r'. ' r "'. rr" ' r '
7.21 SUBRUTINA tlMESESllr r r r i t r r r.r. r t r I I r. r I I t.... r t 'r. tr I I
7.22 SUBRUTINA llESC0AiVOlt. . ? r r . e r r r r ' . . . r r . t ' t . . I . ' .. i . .. . .
7.23 SUBRUTINA tt54 REL0Jtt' '.,o. '. t... r r..r o. r.. ' t....r r.. '
7.24 SUBRUTINA IIRET 1ll ... r r..... t. ' t t.. 't '... " " "r a " I I I
7.25 SUBRU.TINA., t,RETARDott ..,..,.. o..... ..., r, r,.. . e.... r r.
7.26 SUBURUTINA ttSCANtlt t. '. ' r r. r. r r I t .. .. " "t I r " t ' r ' t ' e'
7,27 SUBURUTINA .ICABACTERES!| ,.... r....... o... r '..... '. t I I a
7.27.1 Subrutina Caracter lrlgtra Att..,r.r.....r.,...riet
94
98
100
103
106
107
108
110
1t4
115
117
1.19
120
125
727
130
133
134
136
138
140
141
143
144
147
150
Yli
7 .27.2 SUbfUtlna CafáCtef trl{úüefO8lt. r. ¡.. r.... .. ...... r.
7.Zg SUBruIlfilA tloonRBcr!............... o o.... r.. o. r o. ¡. o.
7.2g SIIBRUTIIIA nRgf[IRlflt.. o. o o.............. o......... o. o
7.30 SIIBRIITII|a na.Jltsmtt.... o........ . o.. o.... '...... o.. o
cCI{cLuslollEso . . .. o... . o. . o o o. ... o .. o. . o ... o.. .. .. .. o..... ..
GLOSARIO. .. .. . r . o . . . . . . . . . . . . . . .. o . . . . . . . ¡ o . o . . . . .. . . . . . .
BIBLIGRAFIA. . . . o I . .. o . o . . o . .' t t''' I''' "'''''''' " " o' ¡'
APENDICES.. . o .. .. .... .. .' t o'' " " o I t''' " o o "'' "' " t'' "
151
15s
15¡
161
163
r65
L72
t74
Yltl.
FTGURA 1
FIGURA 2
FIGURA 3
FIGURA 4
FIGURA 5
FIGURA 6
FIGURA 7
FIGURA 8
FIGURA 9
FIGURA 10
FIGURA ],1
FIGURA 12
FIGURA 13
FIGURA 14
FTGURA 15
FIGURA 16
FIGURA 17
FIGURA 18
FIGUBA 19
LISTA DE FIGURAS
Configuración básica de la computadora..........
Mapa de mmoria de instrucciones en secuencia...
Diagrama de bloques y funciones del 4.1.U.... '..Diagrama de bloques del C.P.U
Interrupci6n.. .e......r, orr..r...
Niveles de códigos de programación..............
Arquitectura del microprccesador Z-80..... r.....Registros programables del Z-80. r.... r r *.
Asignacidn de Pines y Señales de la CPU del Z-80
Organización de un octeto de datos en eI Z'80...
Formato de instrucciones en lenguaje de máquina.
para gl Z-80. .....'r.t.r.... .ra..
Lógica del 8255 PPI.. ..... ,...... ... ..Asignaci6n de pines y señales del 8255 PPI......
Lógica de acceso al 8255 I
Conformacidn de Puertos en el
Conformación del nrodo 0 en el
Conformación del modo I en el
Configuracidn de memoria RAI'|..
Interfaz de entrada/sal ida en
8255. .. a.....9255 PPI. r., t.....9255 PPI.qr!tto...
Pág.
6
I11
13
19
19
25
27
34
41
41
46
48
51
51
70
51
7A
79
ix
para'lglo. ..... t r r.
FIGURA 20 Circuito codiffcador
por software..
de 128 teclas contnolado..
FIGURA 21 Conformación física de un caracter. ., e. .,.
FIGURA 22 Simulación de una columnas con se$rentos encen-
didos ... a.
FIG[]RA 23 Forna de rotación de dtgitoe en dfspla!........
80
148
148
92
x
LTSTA DE APET'IDICES
Tablas de Instrucciones Z-80.
Resumen coniunto de instrucciones del Z-80
Especificaciones eléctricas del 8255 PPI..
Caracterlsticas eléctricas del LS 139. ' . . .
Características eIéctricas de Ia EPR0ll
2716...... a..'.Ir"' ..""..""
Caracterfsticas eléctricas de la tlM 6116.'
Caracterfsticas eléctricas de la ROl'l 2376.
C6digo ASC II.... e,.... i.......,Codificaci6n prognama monitot...... a r,.,,..Diagramas de flujo proErama monitora......
Manual de Maneio ...,. ..... a ,
Planos eléctricos que conforman el Anuncia-
dor electrdnico digital... ., q......... r...
Pág.
APENDICE 1
APENDICE 2
APENDICE 3
APENDICE 4
APENDICE 5
APENDICE 6
APENDICE 7
APENDICE 8
APENDICE 9
APENDICE 10
APENDICE I1
APENDICE 12
174
185
193
195
t97
199
202
204
209.
?.ffi
331,
336
xi
RESUMEN
El objetivo fundamental de 1a'presente tesÍs es el diseño y constnucción
de un anuncfador electrónico digital basado en la I6gtca del circuito in-
tegrado que constituye el microprocesador Z'80.
En los seis primros capltulos se ne.ali'za un estudto tedrtco pormenort=
zado de cada uno de los elementos básicos que conforman el anunciador
electrdnico digital, tales como la Unidad Central de ProceSo C.P.U,,
puertos de entrtada y saltda de datos, Memorias programables de acceso
aleatorio, ltemorias programables no bomables, Decodificadores y Display.
En el capítulo Eéptimo se describe y analiza la funcidn principal de ca-
da una de las subrutinas que intervienen para conformar el Programa Mo-
nitor. Para comprender bien este capftulo es necesario conocer el mane-
jo de la lógica del Microprocesador Z-80 y su relación con los elementos
periféricos, descrita en los seis capftulos previos.
Mediante la utilización de los diagramas de flujo que constituyen el
apéndice 10 se puede analfzar de manera secuencial e interrelacionada la
lógica requerida por el programa monitor.
xil
INTRODUCCION
Con el presente proyecto de grado se pretende incursionar dentro del cam-
po de los Microprocesadores, campo este que día a día evoluciona de mane-
ra rápida y se involucra directanente en todos los sistemas de control
en la Industria. En efecto, la aparicidn de los Microprocesadores data
hace apenas unos once (11) años, pero con ellos se han abierto nuevos
caminos para facilitar el diseño o modificación de si$temas compleios
donde interviene la l6gica digital.
Una de las muchas ventajas que ofrecen los Microprocesadores es la reduc-
ci6n de costos, pues docenas de circuitos integrados pueden ser reempla-
zados por unos pocos chips, la reducción del cableado, que supone una ma-
yor fiabilidad, menor consumo de potencia y por úItimo facilidad en el
diagnfistico de daños, reparaci6n y mantenimiento de equipos.
podemos citar algunas de las muchas aplicaciones de los l4icroprocesado-
res en la Industria :
Control de Procesos.
Control Numérico.
Sistema de Ventas.
- Juegos Electrónicos.
- Instrumentos Autocalibradores.
- Equipos Biomédicos.
- Aplicaciones Militares.
- Control de Vehículos.
- Proceso de Datos
- El ectrodonésti cos , etc.
La idea para el presente proyecto se origin6 al observar los anunciado-
res electrónicos comerciales, lográndose de manera totalmente original
su fabricación e inplementación teórico-práctica.
El prnyecto en sf, es un sistema digital programable con tablerc electró-
nico para mostrar anuncios de extensión total, igual a 200 caracteres en
forma yttatoria, que ofrece tar¡bién Ia hora y fecha (día y mes) y que es-
tá controlado por un programa monitor, el cual utiliza eI integrado "MI-
CROPROCESADOR 2.80".
El gran avance de las técnicas de integracidn han trafdo como consecuen-
cia un progreso admirable de las técnicas digitales, añadiendo a éstas
el concepto de programabilidad. La caracterlstica fundamental de las téc-
nicas digitales programables es, el poderce presentar una gran variedad
de conceptos alternativos.
En síntesis, eI crear un sistema digital programable es una actividad
creativa en la que se pueden presentar una gran variedad de alternativas
3
para llegar aI obietivo propuesto, tal como es el caso de nuestvt pro-
yecto.
El tablerp electrónico programable estará al servicio de la comunidad
universitaria para dar a conocer los mensaies que se consideren de uti-
lidad o inter€s general. Dichos mensaies pueden ser introducidos al sis-
tema por cualquier persona, ya que éste cuenta con un teclado de símbo-
los normales alfanuméricos, además de un pequeño manual de manejo con el
cual de manera fácil y corta se instruye al usuario para que pueda ope-
rar el equipo.
4
1. EL MICROPROCESADOR Y ELEMENTOS PERIFERICOS
UTILIZADOS PARA CREAR UN SISTE}IA
Un microprocesador es un elemento que posee funciones equivalentes a la
Unidad Central de Proceso (C.P.U. ) de un pequeño computador' Es por lo
tanto capaz de desempeñar las funciones básicas de un computador y pue-
de ser incorporado dentro de sistemas ya diseñados que requieran de sus
funci ones .
ya que el micropyrcesador es esencialmente un computador de un solo
chip, gran parte de la teyminologfa utilizada para describir las carac-
terfsticas y operación de dicho elemento provienen del sector de la in-
dustria dedicada a Ia fabricacidn y comercialización de los computado-
res.
1.I ESTRUCTUM DEL SISTEMA.
Un sistema en el que se utilice un microprocesador, tiene básicamente
la misma estructura que cOnforma un computadgr, o sea que esta compues-
to por tres bloques básicos a saber :
- El C.p.U. o corazón del sistema o computador, el cual es capaz de de=
sarrollar muchas funciones como artiméticas, manipulaci6n de datos,
etc. El C.P.U. es controlado por un coniunto de instrucciones' las
cuales son suministradas en secuencia.
Asociado al c.P.u. debe existir alguna forma para almacenar datos.
A esta área se le denomina 'rArea de Almacenamiento de Datosrt y en e-
lla se pueden gua¡dar los datos que están siendo trahajados en el ins-
tante y también almacenar los resultados de las operaciones. Adicio-
nal a las funciones anteriores, también se alnacenan las instruccio*
nes con las cuales se controla la operaci6n del C'P'U'
El tercer bloque en el sistema es la funcidn de Entrada y salida de
información, puertos I/0. La clase de informacidn puede ser datos o
instrucciones que entran dentro de la memoria y el C.P.U., pero tam-
bién estas deben ser capaces de salir a la parte exterior del siste*
ma, elementos periféricos de salida.
El arreglo o distribución de las tres funciones en un sistema pueden
ser vistas en la Figura 1.
Las rayas punteadas entre el C.P.U. y el puerto I/0 indican que €r Ílu*
chos casos el dato puede estar entrando o saliendo directamente a y des-
de el C.p.U. sin necesidad de pasar por la memoria o sitio de Almacena-
miento de Datos.
I.2 ESTRUCTURA INTERNA DEL MICROPROCESADOR.
Asociado al diseño del micropnocesador hay un conjunto de instrucciones'
las cuales él deberá reconocer y responder. Al suministrar estas instruc-
6
FIOURA I. COIIFIcURACIOX 8A!¡ICA DE LA CflPUTAOORA
ciones al microprocesador en una determinada secuencia, el sistema pue-
de efectuar el desarrollo de una tarea en particular. A la secuencia
de las instrucciones para una tarea dada se le denomina 'rPR0GRAl'lA" y
el trabajo de determinar inicialrnnte la secuencia de las instrucciones
es denomtnada "ESCRITUMT' del programa, o "PROGRAII|ACION". Un término gé-
nerico para identificar los programas e informactón relacionada es deno-
minado '|SOFThIARE" y como término opuesto, la palabra que cobiia a todos
los elementos ffsicos que intervienen en el sistema se denomina'rtlARDt{ARE".
El microprocesador responde a las instrucciones del programa' y en con-
cordancia con este desarrolla sus funciones básicas sobre el dato en la
rnmoria y el sistema de entrada y salida. El programa de instrucciones
no solamente debe ser presentado al micropnocesador en la secuencia co-
rrecta, si no que también debe estar en el tiempo correcto. La forma co-
mo es efectuado el almacenamiento del programa en las localizaciones de
memoria del sistema ha sido predefinido de alguna manera.
Normalrnnte el programa se almacena secuencialmente, ya que las instruc-
ciones sucesivas en el programa son almacenadas en localizaciones de ne-
n¡oria sucesivas, concordando con alguna forma conoctda de direccionamien-
to en secuencia.
Asumiendo que la secuencia que se utiliza para el direccionamiento es el
conteo binario normal, en la Figura 2 se puede observar las ins-
trucciones de un programa almacenado en un bloque de localizacidn de me-
moria. Un diagrama de este tipo, en el cual se muestra la utilizacidn de
rooloooo
tooloool
rooroolo
roolooll
rooillol
tooll I lo
¡oolllll
rorooooo
+II
DnEccfoxEs
nrTnuccloil afi- l,
txETlucclotl x
tDELLOC¡Lrz^clotf cotf tExlDo
FtSUn¡ 2. r Pa DE rEroFl¡ D€ lxSTlUCClollES Ell tEcuExcla
9
la localizacidn de memoria en un hloquen
mori a"
es comparahle a un trMaPa de Me-
una vez las instrucciones son alnncenadas en la secuencia requerida en un
bloque de localizaci6n de memoria, eI procesador puede consultar estas
localizaciones cada vez que Io requiera una nueva instrucción. Esto se
ejecuta normalmente al tener un contador dentro del procesador el cual
puede ser seleccionado, cargado, incrementado, etc. La señal de salida
de este contador es utilizada para direccionar la localizacidn de meno-
ria que contiene la instrucción. A este contador se le conoce como el
,,Contador de Progranar' [PC) en todos los prccesadores. El contador de
programa normalnnnte es un registro que posee capacidad aritmética para
adicionar a su contenido el incremento de una determinada cantidad que
se le ordene. Por tanto el contenido del PC es fácilnrente npdificado por
una cantidad positiva o negativa de acuerdo a como esté siendo incremen-
tado.
Al ob.tenerse entonces una instrucción de Ia remoria, el procesador eJe-
cuta la tarea definida por esa instrucción.
para el desarrollo de las funciones lógicas y aritnéticas,el procesador
posee uno de los mayores bloques dentro de su estructura conocido como
"Unidad Aritmética y Lógica" (ALU).
El ALU es un circuito, el cual tiene dos coniuntos de datos a Ia entra-
da y un conjunto de datos a la salida y se desarrollan funciones ldgicas
y aritméticas entre los dos datos de entrada para ofrecer un resultado
10
como dato a la salida. El circuito ALU también puede responder a una re-
quisición de prioridades establecidas por un control de entrada el cual
determina que función el ALU eiecuta.
Las funciones tfpicas que puede eiecutar el ALU son :
- Funciones Lógicas :
AI{D, NAf,lD, 0R, NOR, 0R exclusiva.
- Funciones ArtirÉticas
Adicionar, Restar, Invertir A o B, Rotar a la lzquierda, Rotar a la
Derecha, Identificar comparaciones verdaderas para A o B.
En la figura 3 se muestra un diagrama de bloques y funciones del ALU
Existe una función primordial dentro del CPU, y esta es poseer un área
de almacenamiento para direcciones que han sido seleccionadas rpdiante
instrucciones de salvado, llamado O retorno en el mismo instante de la
ejecución de la instrucci6n. Esta función se realiza utilizando urd rn€*
moria, la cual es conectada al procesador para ejecutar el almacenamien-
to del dato.
Existe un registro dentro del procesador, llamado ttsTAcK'r el cual tiene
un dato almacenado dentrc de él para indicar el área que está siendo u*
tilizada en la memoria al ejecutarse la instrucción.
Una parte final dentro de Ia construcción del microprocesador es el rrRE-
GISTR0 DE ESTADo o REGISTRo DE FLAGS". Este es un registro de almacena*
11
TUXClot|Et :
surtSUBS?RAcclot{
IIVEFÍIR A o 3
FOTAR L
ROTAR R
VENDADERO A O
EÍ{TNADA ¡
Et|flaD I
FrSUn¡ !. DlacRAIl DE SLocuE Y FUXCIoIE! oet- ^'L'u'
cotfRoL
l2
miento dedicado a manteher la informact6n concerniente al filtimo evento
que ha tenido lugar. Por ejemplo, si una función matemática resulta al
compararse que está por encima del llmite de rebozamiento (OVERFL0bI)'
entonces un bit en el "REGISTRO DE ESTADO" podrfa seleccionarse. De
igual forma, si el resultado de la comparación es de igualdad, entonces
el estado de igualdad podría seleccionar otro determinado bit.
En lá .figur:a 4 se muestra en resumen la construcci6n del micropro-
cesador que hemos tratado de explicar.'
1.3 COMUNICACION DEL MICRO CON LOS ELEMENTOS PERIFERICOS.
El procesador debe poder comunicarse con elementos de memoria, elemen-
tos de entrada y salida etc y ésto se ejecuta por medio de un bus de
datos, un bus de direcciones, un bus de control y un bus I/0.
Al establecerse una comunicación entre el microprocesador y los elemen-
tos anteriornpnte norürados se dice que se tiene un rrSISTEMArr.
T.4 OPERACION DEL SISTEMA.
Los elenentos de memoria conectados al microprocesador necesitan trans-
ferir tres tipos de información.
- Ellos requieren ser direccionados desde el procesador para detenninar
cual localizaci6n de almacenamiento. está siendo accesada.
- Ellos requieren un tipo de control en la información para detenntnar
13
IwSTRUCCIOtIES
DSCODIFICADAS
Y
SECUEXCIA
coxTFOr
nE3|sTnos
OOXT¡DOR DE
PROSRIT'
ESfADO
a. L. u.
Ir8 r DnEcclo¡lE3
!I'S DE DA?O3
!u9 0E coil?io|.
FTOURA a. DT,AoRAXA DE BLTOOIE9 EL CPU'
t4
exactamente cuando el ele¡nento va a ser activado y también si la me-
mOria aggesada eS una funCión de 'rleCtura" O "eSCritura". (POr eiem-
plo, si el dato está siendo transferrido desde la localización de me-
moria direccionada al procesador o viceversa).
- EIIos necesitan transferir el dato de memoria hacia y desde el pro-
cesador.
Para poder establecerse una comunicaci6n entre el microprocesador y
los elementos exteriores se necesitan unas conexiones por las cuales
se transmitirá informaci6n. Es decir se establece un canal de informa-
ción al que se le denomina "Bus". Dependiendo del tipo de información
el Bus será de direccionamiento, de. control o de datos.
- El bus de direccibnes'es unidireccional y direcciona la información
de salida desde el $rocesador a la rnmoria.
- El bus de control, manda informacifn de control a la memoria' y pue-
de también comunicar al mis¡rp tiempo la informaci6n de retorno desde
la memoria al procesador.
- EI hus de datos es bidireccional y es utilizado para transferir da*
tos hacia y desde la memoria. Una de las señales de control del hus
de control indica sl las conexiones del bus de datos al procesador
están en el modo de entrada oenelmodode salida a un determinado tiem*
po.
15
1.5 TIPOS DE MEMORIA.
Existen dos tipos básicos de elemntos de Memoria, utilizados en siste-
mas de microprocesador. La memoria de datos tiene datos entrando hacia
ella y lee de éstos y debe ser capaz de desempeñar funciones de lectura
y escritura, El tipo de elemento más comúnrnnte utilizado para esta for-
ma de almacenamiento es la Merpria de Acceso Aleatorio o memoria RAI'I
(Random Acess Memory). Este nombre no define explfcitamente la capaci-
dad del elemento para desempeñar funciones de lectura y escritura' pero
sin embargo ha sido aceptado en la industria haciéndose un sinón.irn con
dichas funciones. La memoria MM (o Memoria de Lectura/escritura) es u-
tilizada para almacenar datos' pero no siernpre es el meior medio para
almacenar instrucciones de programa, debido a que los elementos utili-zados en su fabricación no permiten almacenar la inforrmción de manera
permanente pues son volátiles, es decir cuando se desenergiza el elemen-
to, los datos almacenados se pierden. Si esta forma de almacenamiento
se utiliza para las instrucciones del programa, el programa debe ser
recargado desde una cinta perforada de papel o cintas o discos magnéti-
cos, etc., cada vez que eI sistema sea energizado. Regularmente los sis-
temas basados en microprocesadores están dedicados a una aplicacÍón en
particular, pof tal raz6n sus instrucciones deben permanecer almacena*
das en una forma imborrable, o sea en elementos que no cambien su con-
tenido cuando la fuente de energía sea conectada o no. Debido a que el
procesador no necesita escribir ningún dato dentro del área de mernria
en la cual está almacenado eI programa, dicha informaci6n puede ser reu*
nida en un elemento de mmoria para lectura solamente' o sea uld ltl€Ílo-
ria ROM (Read only memory). Estos elementos tienen un cddigo interno par-
16
ticular colocado al momnto de su fabricaci6n el.cual no puede ser alte-
rado. (por ejemplo máscara programable). La desventaia de este elemento
RQM es que el programa tiene que ser experimentado,chequeado y prtbado
antes de que los elementos sean fabricados con ese c6digo, Por tanto el
requerimiento para su fabricaci6n exige que sean muchos cientos de ele-
mentos idénticos para garantizar su fabrlcación. La alternativa que sur-
ge al anterior problema es utitizar una memoria programable ROM (PROM)'
en lo cual el usuario puede meter su c6digo de programa dentro del ele-
mento mediante un procedimiento eléctrico específico. Dependiendo del
tipo de elemento utilizado, este procedimiento puede ser totalrBnte no-
reversible (por ejemplo fundición de uniones nBtálicas) o físicamente
borrable (por irradiaciones con luz ultravioleta)'
La capacidad total de direccionamiento del micnoprocesador esta definida
por el número de bits de direcciones que és transferido por el bus de
direcciones en una operaci6n de direccionamiento'
para,,n,,bits de direcciones la capacidad de direccionamiento es 2n po-
siciones de memoria. Un elerento con un bus de direcciones no multiple*
xado de 16 líneas puede direccionar 216 = 64K posiciones de memoria (1K=
2I0 = 1024).
Una posici6n de rnmoria es una parte de Ia memoria que esta referencia*
da por un número hexadecimal, que se conoce como dinección de memoria'
en la cual se puede almacenar un dato ¿e b utts.
L7
Para conectar elementos de entrada o saltda al microprocesador existen
diferentes métodos que se utilizan. El r¡étodo más confin es el rÉtodo
llamado,,mapa de memoria", en el cual las direcciones son codificadas
desde el bus de direcciones a los elementos intennedios de mernria.
(gufter) conectados al hus de datos.
La distinción entre
salida es ejecutada
el bus de datos está
cua
por
en
I de los elementos es de entrada y cual es de
el control del prtcesador el cual establece sf
el rndo de entrada o en el de salida.
La fabricaci$n y operaci6n de microprocesadores hasta aqul descritas'
rnncionan todas a un elemento de operacidn secuencial de rata fiia' el
cual esta definido por un reloi a la entrada de un oscilador.
1.6 FORMAS DE INTERRUPCION DEL MICROPROCESADOR.
La hoja de datos para el elemnto microprocesador definirá cuanto tiem-
po este toma para eiecutar una instruccifn (tiempo de eiecuci$n) en
términos de ciclos de reloj. El procesador trabaiará continuamente la
secuencia de instrucciones almacenada en la rnemoria del programa, to-
mando un nfimero especÍfico de ciclos de reloi por instruccidn y rntien-
do y sacando datos requeridos por la instrucción. Si el procesador es
requerido para que responda a un evento externo' por eJemplo un intemup-
tor que sea operado, entonces el programa debe ser escrito para inducir
en el procesador eI estado de entrada del interruptor ocasional y deter-
minar sl está cerrado o abierto. Esto sucede a intervalos fiios depen*
diendo del tiempo de ejecucidn de la instrucción la cual está siendo
18
operada en el rnismo tiempo. En consecuencia, puede haber un tiempo a-
preciable entre el evento externo que está teniendo lugar y el recono-
cimiento de este por parte del procesador.
Una forma de implementar esta situaci6n es proveer aI procesador con
una señal de interrupción. Esta es una manera fácil rndiante la cual
el procesador puede ser perturbado desde que la función este siendo
ejecutada en cualquier instante y eiecutando funciones diferentes. Si
el interruptor externo, en el ejemplo previo' se conecta al interrup-
tor de entrada del procesador, cuando el interruptor se opere, el pro-
cesador innndiatamente responde al cambio de funci6n de otro programa
predefi ni do.
En el instante en que sucede Ia interrupci6n, el procesador esta real-
mente ejecutando una tarea, con el dato para esa tarea, etc. Se requie-
re frecuentemnte que el procesador pueda regresar a su tarea anterior
despues de que este haya atendido la interrupcidn. Para que ésto suce:'
da, se debe tener suficiente infbrmaci6n. Para recordar la posici6n
que se estaba comiendo en el programa, el estado y cualquier dato con*
tenido en la rpmoria de trabajo dentro del procesador, se almacena to-
do en un ánea conocida de memoria. Entonces cuando la operacidn de in-
terrupci6n se complete, esta informacidn puede ser regresada a la ope-
ración original para que continue en el punto exacto donde esta fue
dejada. La representaci6n en diagramas de la explicaci6n anterior se
puede ver en la Figura 5.
19
DETATiOrlO OE ¡¡ T¡iEA OOT?III'ACIOT DE ¡¡ T¡IEI
COIPIU¡DOR LEtSll¡irE! 0€ ^L?o
¡lvEL
,. .t. FoRTRll, !¡81c, Erc.(
\
\LEÍICUAJE E¡sEIILY
ESSEXSLER
tt¡tsfttccloxEt DE cooFo-
OSJETO.
DECOOIFICADRIT?ERTIO
SEilALE! IIC¡O-OOT DE
ooxTRoL tx?Ellr
lnicr:iriori'!r;tl!tt:n'n Él lj..rrd$th
l'!10't: R,fr¡'.lf: :
FrBrrRA 6 llllra.Es DE CODleOg oE PioSn^rtclol{
20
En nurntrsas aplicaciones es ventajoso tener un nfinero de interrupcio-
nes de entrada con fácil acceso al procesador. Si un número de inte-
rruptones se conectan a un interruptor de entrada sencillo, y eI pro-
cesador siempre reSponde a esta entrada, entonces la situación puede
originarse donde la interrupción a la tarea es asf nisma intérrumpida
por otro interruptor que esta siendo cerrado, etc.
Para suministrar alguna forma de control al procesador y que este pue-
da responder a una de todas las fuentes de interrtpción, conto solución
se implementa entonces un sistema de interrupción con prioridades. Por
lo regular, este sistema cuenta con diferentes niveles de interrupcidn,
los cuales se identifican por c6digos de interrupcifn que interpretan
diferentes niveles de prioridad. Si el procesador esta en servicio a
un nivel de interrupcifin determinado, este puede ser interrumpido sola-
mente de nuevo por una interrupción de prioridad mayor.
Existen diferentes maneras para implementar el cambio de tarea cuando
ocurre la interrupcifin. Probablemente el sistema rnás común es el que
utiliza la técnica de vectores de interrupción, rediante el cual el pro-
cesador es dirigido de alguna forma a un nuevo programa en la memoria.
Este sistema cuenta con una fuente de interrupción lógica la cual loca-
liza una dirección en el bus de datos, que el procesador lee y transfie-
re a su contador de programa. Alternativamente, la incidencia de un ni-
vel particular de interrupci6n, puede hacer que el procesador lea el
contenido de cierta localizaci6n de memoria colocada a ese nivel de in-
terrupción, por la estructura del procesador.
?7
La localización de nemoria anteriormente citada es denominada "trampa"
y su contenido es una direccidn que va a ser cargada dentro del conta-
dor de programa. Como la direcciónalmcenadaen 1a rrtrampa" dirige el
procesador a una nueva área de programa, esta se llama el "vector de
trampa". El nombre de "trampa" es debido a que el salto no prOgramado
se realiza al ocurrir una determinada condicidn prevista, la cual en
este caso es la señal para un determinado nivel de interrupci6n
I.7 CONFORMACION DE UN PROGRAMA.
Et hardr.lare que conforma un sistema de microcomputadorr.es insuficien-
te para que ejecute funciones en el sistema sin la implementaci6n de
un programa que pueda hacerlo operar. Para que el programa pueda ser
interpretado por el sistema de microcomputador, este debe estar compues-
to por instrucciones lógicas que a su vez se confonnan por ceros y unos.
Al estado compuesto por las instrucciones en secuencia de ceros y unos
se le denomina "Código 0bjeto" (Object Code). Dichas instrucciones pue-
den ser formuladas en una de las representaciones estandar de forma bi-
naria (por eiemplo, sistema binario, octal, hexadecimal, etc).
Para facilidad del usuario, cada instrucción se puede representar tam-
bién por un Nemonico, el cual es sencillamente un nonüre corto confor-
mado por las letras mas significativas de la funcidn de esa instrucción.
EI Nemfinico permite al programador representar las instrucciones más
fácilnnnte que escribir el título de la instrucción completo. EI lista-
do de los nemónicos que representan un programa se llama "cddigo fuen-
te" ("Saurce Code").
22
Una vez se tenga escrito el programa, este entOnceS debe Ser cargado
dentrc de la memoria del sistema para que pueda ser corr''fdo.
El proceso de transcribir nanualrBnte el "C6digo Fuente", €S decir el
listado de Nemónicos, hacia un "Código Qbieto" de forma binaria es te-
dioso e implica un gran margen de epor. Por la anterior raz6n, entre
otras, existe una ayuda para que eI programador pueda eiecutar la trans-
cripción. El conjunto de instrucciones del microprocesador está sopor-
tado por un programa "Asserüler", el cual convierte el"código fuenterl
en "C6digos objetos" y además permite el uso de algunos métodos para
mantener la posicifn de los datos localizados en el pnograma. Este tam-
bién ejecuta algunos chequeos para determinar si el estado de cada uno
de los componentes del código fuente son válidos, y suministra alguna
informaci6n útil relacionada con el programa.
Los nen¡dnicos de las instrucciones, combinados con otras palabras de
control reconocidas por el programa "assenbler'r, conforman un lenguaje
en el cual se puede escribir un programa para el microprocesador. Dicho
lenguaje es conocido conp el "Lenguaje Assemhly" y es posiblemnte l'a
forma más común conocida de escribir programas de microprocesadores.
El ,,Compilador" es un programa que convierte o interpreta funciones de
un leguaje como el "Assembly'r hacia lenguajes denomiados de alto nivel
como el P0RTMN, BASIC, C0B0L, etc. Los programas "Assenhler" y de'rCom*
pilador" son ayudas para el programador y no son parte de un sistema
final, para que puedan ser corridas en el misno tipo de equipo.
Los niveles de conpleiidad son npstrados en forma de diagrama en la
Figura 4.
24
2. EL Z-80
La Zilog (tábrica de dispositivos electrónicos) introduJo en 1976 lo rn-
jor de los procesadores de 8 bits' la CPU Z-80 y sus circuitos de sopor-
te. Existe actualmente un sucesor del z-80' la serie 2-8000 que es una
CPU de 16 bits con capacidad de cálculo comparable a la de los minicon-
putadores de gama media.
El microprocesador Z-80 es prácticamente un computador de un solo chip
que requiere solamente de unos pocos componentes externos : una fuente
de poder de 5 volts, un simple oscilador y una memoria ROM para cons-
truir un sistema completo de computador.
2.I ESTRUCTURA DEL Z-80.
La estructura del Z-80 es nostrado en la Figura 7.
El bus de datos es de ocho bits de amplitud y este es el camino que debe
tomar todo dato para que Sea transferido entre una ¡Inmoria externd¡ e-
lementos de entrada/salida y registros del CPU.
El bus de direcciones es de dieciseis bits de.anplitud. NormalrBnte el
bus de direcciones puede especificar una dirección de rpmoria externa
25
rI
I
I
I
I
I
I
I
I
I
I
rf cloPnocEsaDoa 2.'0
Eur intrttoaa ao¡ca
ConlTof iñtatm
8úr a|. alo?ot
d. t D¡i.
&rr ó ditacc¡cta¡
.1. 16 bl{.
s.ñoh¡ d.lar¡taDo da
cotl'fol t\lI\,
1
I
I
I
I
I
lI
J\ L-
FIGURA ?. AROUITECTURA OEL MICROPROCESADOR Z-tO
26
desde la localizacidn 0 a la 65535, es decir puede direccionar 64K po-
siciones, gracias a que el 280 tiene un número completo de instruccio-
nes de entrada/salida. El camino principal que toma un dato dentro del
CPU se establece nediante un bus de datos interno, el cual conecta los
registros del CPU, las unidades aritnréticas y l6gicas, el bus de control
de datos y los registros de'instrucci6n.
Las unidades aritnéticas y lóSicas ejecutan adiciones, sustracciones'
operaciones con funciones ldgicas N{D, 0R y 0R exclusiva, además op€Fd-.
ciones de canbio entre dos operandos de 8 bits.
2.2 REGISTROS PROGRAMABLES DEL 2.80.
El Z*80 tiene dos conjuntos de registros programables de 8 bits, y dos
conjuntos de registros para programacidn en propdsitos especiales, tam-
bién de 8 bits. Con el Z-80 se tiene la ventaja de poder activar o dcc€-
sar al mismo tiempo el conjunto de registnos progranables y el coniunto
de raegistros para propósitos especiales.
El Z-80 tiene además un registro Contador de Programa de 16 bits, url ln€o
gistro Stack Pointer de 16 bits, dos registros Indexados de 16 bits, un
Vector de Intemupcidn de 8 bits y un registro Refresco de Memoria de
8 bits.
En la 'figura 8 se i'lustra los registros del Z'80.
27
(, ¡¡ :J
=oo,
o o a
ooI
N
¡¡ovlEJG
-t(,oEo.
ooEF6(t¡¡E
o
E=I\
i iÉtg€€!r
E 5EF sBrt;i3 €iE ¡
i¡i¡¡sii!E¡s;:E!;.::;;iEEEE¡i¡E¡Eg¡EEEF5;gi5
I
gEo!:E3¡s::.lo-Eaooo
¡;ot.Ea!!¡.5aÉ¡9Co0E'-:3E:s I::s
'l'i'
t
28
Los registros de Propfsito Especial utilizados por el Z-80 son el A, B,
C, D, E, H y el L, además del Stack Pointer y el Contador de Programa-;
los registros A, B, C, D, E, H, y L son pares; por eiemplo el registro
A está conformado por el registro principal A y el registro complemen-
tario A!.Con la anterior propiedad y mediante una instrucci6n sencilla
en el 7-ú se puede desviar la información desde un registro seleccio-
nado a otro, o intercambiar el contenido de los rcgistros seleccionados.
En un instante de tiempo, uno de los dos registros seleccionados (el
principal o el complemento), pueden ser accesados, pero no ambos.
Existen dos registrts Indexados de 16 bits, denomtnados Ix e Iy. Estos
son considerados como registros de base.
Las interrupciones l6gicas al Z-80 son realizadas por el registro Vec*
tor de interrupción y dan la opción de inicializar Ia interrupción de
una rutina de servicio con una instrucción de llamado, donde el byte de
dirección de mas alto orden para el llamado es suministrado por el r€-
gistro Vector de InterruPción.
El registro I'Refresco de Memoria" representa lo más notah.le de los sis-
temas de micrcprocesador, el cual ha sido tenido en cuenta por los fa-
bricantes Fairchild y Zilog.
Los elennntos de memoria dinámica no retienen el cbntenido de la infor-
rnacifin en el almacen por mucho tiempo, independientemente de que el ele-
mento se encuentre energizado o no. Una mennria dinámica en consecuencia
29
es accesada en intervalos de milisegundos. Los elerpntos de memoria di-
námica compensan este corte o acceso y el circuito de refrcsco dinámico
es muy simple. Utilizando una técnica afin para naneiar el acceso de rp-
moria dinámica, el circuito de refresco periddicamente accesará las rB-
morias dinámicas, reescribiendo el contenido de cada una de las palabras
de memoria en cada acceso.
Se podría decir que la única l6gica necesitada por el refresco dinámico
es un contador de una via el cual mantiene la trqyectoria de su progreso
a trayés de la memoria dinámica; éste es el propósito del registro [Re-
fresco de Memoria". El Z-80 tiene una señal especial Dl'lA de control de
refrescos; en consecuencia el Z*80 provee en gran manera la lógica del
refresco dinámico necesitada por los elenentos de mmoria dinámica.
2.3 MODOS DE DIRECCIONMIENTO.
El Z-80 tiene una gran variedad de instrucciones, las cuales van desde
una simple instrucción hasta poder seleccionar una infonnaci6n flip-flop
capaz de habilitar un grupo de instrucciones de bfisqueda que rastrean u-
na secuencia de bytes para hallar un byte determinado.
A causa del amplio rango de
magnitud va desde un byte a
Iongitud, las instrucciones
di reccionada.
funciones que ejecuta eI Z*80, éste en su
cuatro bytes. Además de estas diferencias
se diferencian en como la memoria externa
en
es
l!¡¡ivCtsiüÉ ttlialtoo.i¡ ff: nfti,h.rrr
Deg* firlir":'
Algunas instrucciones no requieren operandos y pueden ser ejecutadas du-
30
rante la última ponci6n de un ci'clo.0tras instruccione's requieren de un
primer operando de un registro del CPU y un segundo operando de otro re-
gistro del CPU o rpmoria externa. EI segundo operando puede ser detalla-
do en una gran variedad de formas.
Como ejemplo, la instrucción ADD (de adición), necesita de dos operandos
de 8 bits; uno de los operandos esta en el registro A, mientras el s€gutl-
do puede estar en otro registro del CPU tal como el registro de direccio-
namiento.
El Z-80 tiene Ios siguientes rpdos de direccionamiento, ordenados desde
el mas simple al más compleio :
- Direccionamiento lmplicito.
- Di reccionamiento inrediato.
- Direccionamiento extendido inmdiato.
- Registro de direccionamiento.
- Registro de direccionamiento indirecto.
- Direccionamiento extendido.
- Direccionamiento página cero modificado.
- Direccionamiento relativo.
- Direccionamiento indexado.
- Bit de direccionamiento
2.4 ESTADoS DEL Z-80.
El Z-80 utiliza el "Programa Palabras de Estadorr para almacenar en orden
31
el estado de los flags.
Los flags o banderas de estado del Z-80 son :
Carry (c)
Zero (z)
Signo (S)
Paridad y Rebosamiento [P/0)
Carry Auxitiar (Ac)
Substracción (N)
Los estados son almacenados en el ItPrograma Palabras de Estado* o regis-
tro de flags por el Z-80 de la siguiente nanera esquemática :
7 6 5 4 3 2 10 Núrerodelbit.
S Z X Ac X P/0 N C Registrodeflags.
Los flags del registro de flags son :
- El Flag de Signo (s)
El flag S (posicionado en el bit + 7) es activado si el resultado de
una instruccifn al eiecutarse es negativa y reseteado (no activado),
si el resultado es Positivo.
El flag de signo 5 es afectado por operaciones de rctacidn y traslado
y por operaciones aritméticas, incluyendo las corparaciones ejecutadas
en el grupo de instrucciones de reconocimiento o búsqueda.
3?
Algunas de las condiciones nás comunes en la cual el flag de signo se ve
afectado son :
. Comparaciones de dos operandos (mayor que' menor que' etc).
. IncrementO o decremento de un contador indexado respecto de cero.
. Traslado o colocación de un I (o cero) dentro del bit S.
- El Flag zero (Z)
El flag Z (posicionado en el bit 6), es activado si el resultado de de*
terminada instrucci6n al ejecutarse es cero, y reseteado (no activado),
si el resultado no es cero.
El flag Z es activado principalmente por operaciones aritlfuticas' lógi-
cas y de traslado.. El grupo de instrucciones de büsqueda, que esencial*
mente son comparaciones o substracciones, tambtén afectan eI flag Z.
Algunas de las condiciones mas comunes que afectan el estado del flag
Zson:
. Igualdad de dos operandos después de una comparaci6n.
. Increrento o decremento de un contador indexado hacia ceno.
. Resultado del bit de chequeo es cero.
. Después de una operación ldgica At'lD.
- El FIag Carry Auxiliar (Ac) y El Flag de Substraccidn INI
Los flags Ac y N (posicionadoi en los bits 4 y 1 respectivarBnte) son
dos flags que no pueden ser activados por instrucciones de salto condi*
33
cional. Ellos son usados por el CPU del Z-80 para operaciones aritméti-
cas en bcd. Ac representa el carry auxiliar desde el cuarto bit menos
significativo del resultado (el dígito nenos significativo en bcd) y N
es el flag de substracción, el cual es activado para indicar si la ú1-
tima operación ejecutada fue de adición o substracción.
- El Flag de Paridad o Rebosamiento (P/0)
El flag P/0 (posicionado en el bit N"2) es un flag de doble propósito'
En el caso de paridad, el flag es activado para representar resultados
nones o impares de oPeraciones.
Cuando es utilizado para indicar rebosamiento, el flag es activado si
el rebosamiento ocurre después de una operación aritnética.
- El Flag de Carry.
El flag de carry está asociado principalmente con operaciones aritméti-
cas y de rotacifn, a menos que éste sea reseteado por instrucciones 16*
gicas. El flag de carry es usado para :
. Chequear el resultado de la comparacifn de dos operandos
. Chequear eI resultado de una operación de traslado o rotacidn.
. Suministra medios para efectuar operaciones con precisión aritmética.
2.5 PINES Y SEÑALES DE LA CPU 2.80.
Los pines y señales del CPU z-80 son ilustrados en la Figura 9.
3l+
tll
^12lll¡la¡ttt
D.D'D'DT
f5Y02
DlDO
DI
tx7IrrHALT
IREO
roio
¡to¡tta
^lA3t5¡aAI
^2tl
^o3l{D
iFIHIIñlserlu3RE
ffiryÜR
iD
ilOTI'RE DEL PIÍI
AO-a15DO- D7
l¡l
I¡REO
i6lo
ND
ffiFffiñFrE¡-rii-rffiiñlssrBUSñO
ñ-¡.p
? !Y. SilD
DESCRlPClotf
¡u¡ ¡r dlr¡cclór3||r rl. dotos
t¡üfit¡oo .t clolo a. tóqú|m'd. mo '.|rfaFlói
d'¡ú$|oa.taqüt¡lc¡dr a. n.iotlo ¡dioo qú. lo CPU "loa¡artodo uñ occato ab úaro?lo'
ñ.{u|¡la¡rn ü llo a.nt?oao - E¡d!, haloc oP.to-c¡crr d. t/O ..| .r..üolón
Lo cPu La da rrno taDot/io o aharlio lrlol-o CPU aactlDa a|. ¡||o tarotlo o tr¡alo l/O
Rrfralco dnotr¡lco da ñai¡otio
ttto d. ¡o CPU m lo ¡l¡cuci¡i¡
R.¡dricldn d. .ltodc - r3P.to
n.eúlrtcldt ól InlrrruPclóa
R.qula|3ión d. int truPciót ao trrtoEoto¡ltFr¡rt . In¡c¡oliroc¡dn Ó lo CPU
ñ.ouiaic¡oo Doto Gotltcl a. dit.caiottoiú'ntc¡oto¡
t GoartTol l. Dut.
l€noc¡r¡anto .L !u¡Rdor a., GPU
Fldta t f-?to
TrPO
8!llds, ?l.rtotlo!ldl'.oloúlr Ttl.¡l.doSo¡lóo
80l¡aor t?¡.rtodo
Soll¡lo, rl.3tO¡lo
so¡¡ósr T?Lll!.loSolidor Trl..fo.toSoll¡lo
Sol¡¿.EnttoóoEntrúalo
EñtrütoEntioalo
ErlrodoSoll.lo
E¡lrodo
FT6URA'9. AStS¡{AC¡Oil DE PIffES Y SEiALES DE LA CPU DEL Z'tO
35
Las 16 lfneas de direccionamiento lde Ao - AtS) conforman el bUs de di-
recciones. Estas líneas son triestado; ellas pueden flotar por el z-80
suministrando un control externo lógico al bus de direcciones.
Las lfneas del Bus de Datos (de Do-D7) transmiten datos bidirecciona-
les hacia o desde la CPU del Z-80. En forrma análoga a las lfneas del
bus de direcciones, las lfneas del bus de datos son triestado.
. Las señales de control pueden dividirse en :
- Señales de control del sistema.
- Señales de control de la CPU.
- Señales de control del bus del Z*80.
Las señales del control del sistema son :
a - Ml Identifica eI ciclo de máquina para la eiecución de una
instrucción de búsqueda.
b - MREQ ldentifica cualquier operaci6n de acceso en eJecución a
una memoria. Esta es una señal triestado de control.
c - IORQ Identifica cualquier operación I/0 en ejecución.
También es usada como una interrupcidn de reconocimiento.
d * RD Es una señal triestado la cual indica que la CPU necesita
leer un dato de otra memoria o elernnto I/0.
e . l.lR Es una señal triestado de control la cual indica que la
CPU necesita escribir un dato en una memoria o un elemento
rlo'
36
f - RFSH Es una señal de control utilizada para refrescar memorias
dinámi cas.
Las señales de control de la CPU son :
a) HALT Se activa en baio a la salida después de eiecutarse una
instrucci6n de parada o alto. Lo que hace en CPU es l4e*
ter un estado de PARE durante el cual continuamente se
reejecuta en orden una instrucción NOP (de no operaci6n)'
para mantener el refresco de menroria activado- Un PARE
o ALT0 puede terminarse solamente con una interrupción.
Es equivalente a una señal de lectura colocada en la en-
trada del CPU. La señal IIAIT crea un estado de espera
durante el cual la CPU adiudica un n{imero entero de pe-
ríodos de tiempo.
Son dos interrupciones colocadas a la entrada del CPU.
La diferencia entra estas dos señales es que la señal
NMI tiene una alta prioridad y no puede ser inhabilitada.
b) wArT
c) INT y
NMI
Las señales
a) ngsrr
de control del CPU Z-80 son :
señal. de control para reseteo colocada a la entra-
CPU.
Cuando el Z-80 es reseteado, esto es Io que pasa :
. El contador de programa y el contenido de los regis-
tros R son todos colocados en cero.
Es una
da del
37
Las solicitudes de intemupción rediante la señal INT
son desactivadas.
Todas las señales triestado del bus están flotando.
b) BUSRQ y Son señales de requisicifn y reconocimiento de bus' rea-
BUSAK lizadas por operaciones l6gicas externas; dichas operacio-
nes pueden asumir el control del sistema de Bus del micro-
computador.
?.6 CONJUNTO DE INSTRUCCIONES DEL Z8O.
El 280 puede eiecutar 158 instrucciones independientes.
El conjunto de instrucciones del 280 puede clasificarse en los siguien-
tes grupos :
- Instrucciones de carga de 8-bits.
- Instrucciones de carga de 16-bits.
- Instrucciones de bfisqueda, cambio y transferencia de bloques.
- Insutrcciones aritr¡éticas y lógicas de 8-bits.
- Instrucciones aritméticas de propósito general y control del CPU.
- Instrucciones aritméticas de 16-bits.
- Instrucciones de notaci6n y traslado.
- Instrucciones de selección, reseteo y chequeo de bits.
- Instrucciones de salto.
- Instrucciones de llamado y retorno.
- Instrucciones de entrada y salida.
Los anteriores grupos de instrucciones se listan indicando :
38
- Su nenónico o forma de Notaci6n que facilita recordar y distinguir
cada operaci6n.
- La operación en forma sinüóIica, indicando fuente y destino.
- Los flags que se activan.
- Los códigos hexagesimales utilizados para representar cada operación.
- El número de bytes.
- El número de ciclos.
El apendice L contiene las tablas pertenecientes a cada grupo de ins-
trucciones y el apendice 2 el significado de cada nem6nico y el signi-
ficado de los sfmbolos utilizados.
En forma más general, los 11 grupos anteriormente citados independiente-
mente de sf son de 8 a 16 bits, se pueden clasificar de la siguiente ma-
nera :
- Carga e Intercambio.
Las instrucciones de carga desplazan datos entre registros o entte regis-.
tros y memoria. La fuente y el destino de estos datos se especifican den-
tro de la instruccidn. Las instrucciones de intercarüio permiten el con-
tenido de dos rcgistros.
- Aritrnéticas y Lógicas.
Estas instrucciones actfian sobre los datos en el acumulador, un registro
o una posición de memoria designada. Los resultados se colocan en el acu-
39
mulador y los indicadores de estado se establecen consecuentemente.
Las operaciones aritr¡éticas incluyen la adici6n y resta de 16 bits en-
tre pares de registros.
- Búsqueda y Transferencia de Bloques.
El 280 utiliza una sola instrucción para transferir cualquier bloque
de memoria a cualquier otro grupo de posiciones de memoria contiguas.
La búsqueda de bloques utiliza una sola orden para examinar un bloque
de memoria para un carácter de 8 bits particular.
- Rotación y Desplazamiento.
Los datos pueden ser ohjeto de rotación y desplazamiento en el acumula*
dor, un registro del procesador central o memoria. Estas instrucciones
tienen también rndios de trataniento del c6digo decimal codificado en
binario (BCD).
- Manipulación de Bits.
La manipulaci6n de bits incluye las funciones de pos.icionamiento, de
inicializaci6n y de prueba. Los hits individuales pueden modificarse
o probarse en el acumulador, un procesador centraT o memoria. Los re.
sultados de las operaciones de prueba se indican en el registro de es-
tado.
- Salto, Llamada y Retorno.
Un salto es una bifurcación a una posicidn de programa especificada por
tlnivrniúad''lufg¡'urlno ¡!.1'"t¡J,ntr
0ePrc '*'i¡i " "
40
el contenido del contador de programa. El contenido de este último pue-
de proceder de tres modos de direccionamiento : inrndiato, extendido
o indirecto por registrt. Una llamada es una forma especial de salto
en donde la dirección, que sigue a la instruccifn de llamada' se intrc-
duce en la pila antes de que se realice el salto. Un retorno es la in-
versa de la llamada. En esta categoría se incluyen las instrucciones
especiales de reinicio.
- Entrada y Salida.
Estas instrucciones transfieren datos entre registrc y memoria a dispo-
sitivos de I/0 externos. Se dispone de 255 ports de entrada y de sali-
da. Instrucciones especiales prcporcionan desplazamiento de bloques de
256 bytes a, o desde, los ports de I/0 y memoria.
- Control CPU.
Estas instrucciones incluyen la parada funcional de la CPU o la de ha*
cer que se ejecute una NOP (sin operacidn). La capacidad para desinhi-
bir o inhibir entradas de interrupci6n es un rpdio de contrcl supl€r€rl*
tario.
2.7 FORMATO DE DATOS E INSTRUCCIONES.
La memoria para el 280 está organizada en cantidades de 8 bits denomi-
nados octetos ( Ver'figura 10 ) Cada octeto de programa está alma*
cenado en una posici6n de nnmoria singular y es objeto de referencia
por medio de una direcci6n binaria de 16 bits.
4t
rs3IArt mó. .tg^tlicoravo t
LSA( 9¡r ¡¡¡m¡ .hnfficlttro,
laafrr¡cc¡o¡at t laaa oclaloa
D7 DO
liltrucciorra3 (¡ cuofn ctafo¡
D7 DO
D7 DG
FICUR¡ IO ORGATIZACIOI{ DE UI{ OCTEÍO DE DA?OE E'{ EL !-tO
ocf€70 t.
ln3truccioaaa aL r't aCo oclato
D7 DcoDt60OPERACIOÍY
oelETo t.
.oc?ETo 2.
ocfE7o t
OCTETO '
ocfEto 2
OCTETO I
ogfeTo a
OPCODE
ocfETO t.
ocr¿fo 2
. laatiúccioña3 da atoú octatoa
D7 Do.
o7 oo.
OODFO
@Elac|ot{
DATOS O
DtRECCIOT{ES
I
I
\coorco( oeeeacprI
I
Dt D2 DI DOD6 D5 D'D'
D7 o
D7 D
D7 D
FIq,RA II. FOFUATOS T'TÍISTRUOCIO'{ES E¡I LEf,q|AJE TAOUI'{A PARA EL Z''O
42
La capacidad de direccionamiento dtrecto total es de 65.536 octectos
(64K) de nemoria, que puede ser cualquier conüinaci6n de ROM [mmoria
de s6lo lectura);.EPROM (memoria de s6Io lectura borrable-programable)
o mmoria programable. Los datos se almacenan en los formatos de la
Figura 11.
43
3. EL PUERTO PROGRAMABTE PIO 8255
Un microprocesador tiene un lfmite para el número de terminales que pue-
den ser acomodados dentro de una pastilla de Circuito integrado. No hqy
suficientes patas en una pastilla de microprocesador para suministrar
bases separadas y poder comunicarse separadamente con la rnmoria y el
puerto programable PIO. Todos los microprocesadores usan un sistema de
bus común para seleccionar palabras.de rnmoria y unidades a interconec-
tar.
Si una pastilla de interconexión tiene un determinado nfinnro de regis-
tros, cada uno de éstos se selecciona por nredio de direcci6nes deter*
minadas de la misma forma en que se selecciona'una posictón de memoria.
El bus del microprocesador no distingue entre un registro de intercone*
xión (Puerto PIO) y una posicidn de nemoria¡ el usuario debe especifi-
cÉ? mediante instrucciones la selección de uno u otro, por tanto no de-
ben conresponder en una misma direccidn registros de interconexión y me-
morias. Normalmente el microprocesador especiftca en st mr'sno'cuándo la
diÉcción en el bus de direcciones es para una posición de memoria o pa-
ra un puerto PIO determinado. Esto se hace por medio de lÍneas de con-
trol, en nuestrr caso la Iinea Fo "Chip Selector". Cuando-CS=l signi-
fica que la dirección seleccionada es la correspondiente a una posici6n
44.
de memoria. Cuando 6 = 1 significa que la direccidn seleccionada corres-
ponde a el puerto PIO.
Una pastilla de interconexi6n contiene normalrnnte dos o más puertos I/0
que se comunican con uno o rnás dispositivos externos y una interconexi6n
sencilla para comunicarse con el sistema del bus del nicnoprocesador.
El microprocesador inicia cada puerto transfiriendo un byte a su regis-
trc de control, de esta forma el programa puede definir el modo de ope-
ración del puerto.
A manera de información, un puerto puede hacerse functonar en una varie-
dad de modos de operacidn. Los tres modos mas comúnrnnte encontrados
son :
- Trasnferencia directa sin linea de enlace.
- Transferencia con enlace.
- Transferencia con enlace usando interrupción.
l
3.1 Et INTEL 8255 Y EL 82554.
Los puertos programables I/0 Son los elementos paralelos I/0 más versá-
tiles de propósito general.
Dichos elementos poseen grupos de lfneas de datos que pueden ser espe-
cificados como entrada o salida baio el control del programa.
El 8255 PPI (Prograrmable Perpheral Interface) es un elemento de prop6-
45
sito general I10. Aunque este ha sido deseñado para usarse dentro de
un sistema de microcomputador 80804, éste puede en efecto utilizarse
con casi cualquier microprocesador.
8255 PPI tiene 24 pines I/0, los cuales pueden ser configurados co-
uno, dos o tres puertos I/0.
En la figura 12 se ilustra la lógica del sistema que ha sido im-
plementado en el 8255 PPI.
El 88255 PPI está empaquetado en una pastilla con rO patas. Este uti-liza una fuente de alimntación de +SVolt. Todas las entradas y sali-
das están a un nivel compatible TTL.
TTaV dos diferencias entre el 8255A y el 8255. Et 8255 está limitadot:
para trabajar con elementos que tienen señales de reloJ igual a 500 o
más nanosegundos por ciclo. El 8255A podría trabajar con señales de re-
loj tan cortas como 250 nanosegundos, ésto es con las rápidas CPUs
80804 que existen hoy en el mercado. Cuando se resetea el 8255, éste
saca en bajo la señal de control OEF al modo 1; La l6gica externa tie*
ne entonces un dato no inicial para requerir la señal de control. El
8255A cuando se resetea saca en alto la señal de controt OEF al modo
1; la lógica externa recibe una requisición inicial para transmitir
un dato al 82554.
EI
mo
RELOJ LOSICO
r-lI loe¡co toro m- || ¡a. rr¡uirrcida rh I+l i:rtr:ruPc¡oa.¡ d..-lI oc rtrnrnror rrtr.fLE-J
t
TinatprogrrnoDla
¡
I
)l.rDtlo .l¡,aclú¡a/..qalúro
Loelco d. occ.ao9ú,Jo @afiol óa
,arnotlo
46
FIOURA I2. LOCTCA DE EL tE'5 ??].
47
3.2 PINES Y SEÑALES DEL 8255 PPI
Los pines y señales del 8255 son rpstrados en la Figura 13.
EIlos están engañosamente enlazados¡ eI poder de este elemento depen-
de de su arquitecttura interna y sus características de operacidn.
Consideraremos prinnrc el Bus de Datos.
- Do - D7 representa el Bus de Datos bidireccional, por medio del cual
se realizan todas las comunicaciones entre el CPU y el 8255.
PAO - PA7, PBO - PB7 y PCO - PC7 representa el bus de datos conecta-
do a los tres puertos I/0 de 8 bits A, B y C. Todas las comunicacio-
nes en paralelo I/0 con elementos externos pueden ocurrir sobre u-
no de estos tres puertos I/0.
Existen tres pines para seleccionar eI puerto, éstos son ES, A0 y A1.
G es eI "pin maestro de selecci6n". Cuando una señal en bajo se en-
cuentra a la entrada de este pin, el 8255 es seleccionado. A0 y A1 perr
miten seleccionar uno de los cuatro registros con los que cuenta el
8255 para ser direccionado. G, A0 y Al se combinan para direccionar
los registros individuales existentes dentro del 8255 como se muestra
a continuación
A0 Seleccionado
0 6o Puerto A I/0| ¡ 1 Puerto B I/00 'a ? Puerto C I/0I o ? Control A en el BUFFER
de escritura
A1
0
0
1
1
cs
t)
0
0
0
,
2
I
a
5
3
7
t9
to
tl
t2
|l
aa
t5
r5
l7
t8
t9
20
ao
ltIta?
t6t5
latlt2
tlto
2J
2t
27
28
2J
2a
2t
22
2l
48
iOTERE DEL PIX
DO 07
PAO. PA7
PBO, P8?
PCO. ?C?
FñIRRESET
csN. AI.YCC. orrD
P^a
P^a
P¡?^7
t;RESET
DO.
Dt.
D2
0!D'
D5
D5
D7
vcc
PA7
PA6
P85
P3a
PB5
TIPO
3¡daracabnol
EHlr*clorol3lürcdoñal
3¡.t¡r.ooloaot
Entrodo
E¡rltoalo
eafioaaEDttolro
Ealto.to
P¡I?^2
P¡.
P¿ro
R;cs
t¡rD
AT
ao.
?crPC6
PC5
?ca
?co
?ct
?cz
Pc5
P80
PB I.
?BZ
F¡GURA ll ASTOilACIOi{
DESCiTPCIOil
3l.l¡r.eb|ol bú. d. dotoü
Ocio plt|.t al¡¡gaodos oorDo Púatlo3 A
Oa$o ph.a daaitrodor oomo F¡tt¡ IOcno ph.¡ a|.a¡oaadoú cdtD Pu.rlo3 C rryala yF,.rto c ¡rtar¡or.
LactJro -1¡ al alatr¡tlo 6lt?tol
Eaar¡turo Pots at ala|'anto cool?tl
Raaatao dal !¡tlal|oSat.ca¡ct r¡ aLt ttots.fG¡or.hl Dúlo 1/oFr¡rt t T¡.?to
DE PITES Y SE¡ALES flf,,L A2g3 P?I
AO
¡tAZ
AI
^1A5
¡6A7
ltat 3añoL¡ i ftto ttaocloo?
.t 8235oclo lir.or .L ¡oltcrd.n dal !.t ra dlt.ebD. LOGrCÁ
DELDEC@IFICADOF
FtOUnA fa LOOE¡ r ACGESo AL E¿5s ppr
49
Entonces, un puerto 8255 PPI se
ra de los. cuatro puertos I/0, o
No se selecciona el 8255
presenta ante el CPU mediante cualquie-
como cuatro localizaciones de memoria.
En la fiEur:a L4 se representa la forma lógica como se puede acce-
sar un puerto 8255 PPI.
Supóngase que ES está en un nivel bajo cuando el decodificador lógico
recibe 0f0011 como entrada, y tS está en un nivel alto de otra forma.
El 8255 PPI responderá al direccionamiento de los puertos I/0 de la
siguiente manera.
Cod Hex A7 A6 A5
4C0104D0104E010
'4F0-1 0
A4 A3 A2 A1 AO
011.00011010111001lll
Sel ección
Puerto A I10
Puerto B I/0Puerto C U0
Buffer de Control.
Si el puerto 8255 PPI es accesado con cuatro direcciones de memorias,
entonces eS podrla ser decodificado de A2 hasta A15.
TD y ffi son señales de control activas en bajo capaces de realizar o*
peraciones de lectura y escritura dentro de un puerto 8255 PPI selec-
cionado. Cuando ED está activa en baja, el contenido del registro di-
Uai4¡¡¡604 t,ttonnn; .+;=' ":nitil
0no;o ert, ''
50
reccionado esta leyendo la CPU. Cuando--W'R está activa en baia, la CPU
escribirá dentro del registro direccionado.
Cuando el puerto 8255 PPI es seleccionado en cualquiera de los cuatrt
puertos I/0,JID yTR se podrán conectar a las señales de controlTm'
v 70il- respecti vamente.
Si el puerto 8255 PPI es accesado como cuatro localizaciones de memo-
ria,TD-puede ser conectado a la señal TEfr'R, y TR-puede ser conecta-
do a la señal T'ffi.
Las señales que faltan por explicarse son RESET,'rpcitrer'r y'rground"
(tierra); todas estas son evidentes por sf n¡ismas. RESET es un siste-
ma tfpico de señal de reseteo. Cuando la señal de entrada está en un
nivel alto, esta limpia todos los registros del 8255.
'rPower'f debe ser conectado a una fuente de alirpntacidn de t5V.
3.3 MODOS DE OPERACION DEL PUERTO 8255 PPI.
Las cuatro zonas de direccionamiento del puerto 8255 PPI consisten de
tres puOrtos I/0 y un buffer de control. El Puerto C, I/0, puede di*
vidirse internanente en 2 puertos I/0 de 4 bits, acesados colrp una
unidad sencilla de direccionamiento. Los puertos se ilustran en la
Fi gura 15.
w¿nro c
PI'EN7O A SUPERIOF'
765.rt2tar631
51
érFét'
!'ÚFERIOF PUEN?O t^t i/ \
32tr976!ar2to
PUERTO E
GRUPO I. 6RUPO 2
FIOI'RA 15 GO'IFORTACIO¡{ DE PUEP?OS ET €L t?55
Cof|6 uro aa aaloa ct otto ua¡dodas Púadr ¡a7 oaioaoao gg|a
datoa tta antrodo ó aolióa gaio tro Pora añbo.
PUERTO C PUERÍO C
SUPERIOP'NFERIOF
PrE70 3
FI¡URA 16 CONFORTACIO¡ DEL IIODO O E'{ EL A255 PPI
r-? 6 5 a 3 2 | O 7 6 t a 3 2 | o 7 6 3 a 3 2 | O
Prarto A, ela6a 9? o.goodotor! rtoto¡ r¡ rif?oü o'toli-do, PatD lÉ Poto tllüol .
S.ño1.3 d. S.ñolat d.cfnl?r'l 9@a contrcl Poto.l pú.ño A. .l pu.ño L
Prt¡lo B¡ wü aa oait|oalo,o?o dslot - atttodo o¡ol¡dorparo ro ?oro onDo¡.
'z 6 5 a ! 2 | O-? 6 5 a''t 2 | 0 7 € 5 a 3 2 t O
I
Oruto L G?uPo 2
It
FrcuRA ¡7 COftFOitACtOlú DEL IODO r. Efi EL Q255 p?l
52.
Los puertos son accesados como tres puertos independientes, de 8-hits
en paralelo cada uno (Puertos A,B y C).
Cualquiera de los ochos pines de los puertos B y C pueden ser utiliza*
dos para alirnentar 1 miliamperio de corriente a 1.5 voltios. Esto per-
mite manejar directamente transistores Darl ington. Los tranststores
Darlington son utilizados en elementos tales como inpresoras y displays
de alto voltaje..
Algunos puertos 8255 brindan la opcidn de dividir los puertos en dos
grupos, denoninados Grupo 1 y Grupo 2. En un grupo, el puerto A o el
puerto B trabajan como puertos para transferencia de datos, mientras
los bits seleccionados del puerto C, funcionan como señales de control.
La forma en la cual se pueden identificar los puertos es cargando un
comando apropiado dentro del buffer de control.
Existen tres modos de operación,
En nuestro caso utilizaremos el
- El Modo 0 representa un simple
I/0 puede ser definido como un
puerto sinple de salida. Dicha
16.
modo 1 y el rndo 2.
modo 0.
el modo
8255 PPI
0, el
en el
Observese que las
pueden definirse
dos partes iguales
separadamente como
puerto I/0. En este modo cada puerto
puerto simple de entrada o como un
forma puede ilustrarse en la Figura
del puerto C, superior y baio'
puertos de entrada ylo puertos
53
de sal ida.
- El rndo 1 permite definir cada uno de los puertos A y B como puer-
tos de entrada y salida, con el puerto C suministrando señales de
control. El modo 1 se ilustra en la Figura 17.
En el Modo L, se pueden definir el puerto A, el puerto B, el puerto
C superior y el puerto C inferior o bajo como entrada o salida.
Hay cuatro transferencias de datos independientes a direcciones
nidas. En el caso'del puerto C superior y el puerto C inferior,
nos pines son seleccionados aparte como señales de control.
Las señales de control del puerto C ignoran los puertos definidos de
entrada o salida; los pines intransferidos del puerto C operan como
señales de entrada o salida, dependiendo de la dirección definida del
puerto C superior y del puerto C inferior.
Cuando un puerto 8255 PPI es reseüeado, todos los hits del puerto I/0
- y señales de control asociadas- son reseteados. Esto es ruy signifi-
cativo cuando el 8255 PPI está operando en el Modo 1 o 2, ya que la 16-
gica externa podrá recibir inicialrnente una señalTBFactiva en baja.
Entonces, la lógica externa podrá inicialmente pensar que el buffer
de salida det 8255 esta copado, J por lo tanto no se transnitirá el
dato.
AI efectuarse un 'tReset'r, el nuevo 8255 A inicializa sacando uni S€*
defi *
al gu;
54
ñal TE'F activa en alüa¡ el dato transferido baio el rpdo I' o el modo
2 podrá empezar sin un programa de intervención.
- El rpdo 2 permite al puerto A actuar como un puerto de dato bidirec-
cional. Las señales de control bidireccionales son suministradas por
el puerto C. Las señales de control I/0 son una simple conúinacidn
de las señales de entrada y salida del Modo 1.
El 8255 PPI no tiene un registro de estado; en cambio se podrfan leer
los contenidos del puerto C, e interpretar los bits según corp se indi-
c6 en Ia tabla 1.
3.4 CUIDADOS IMPORTANTES EN EL MANEJO DEL 8255 PPI.
Hay algunos aspectos de cuidado que no son reconocidos fácilnente en
el 8255 PPI, los cuales podrfan ser olvidados.
Cuando el puerto A o el puerto B es asignado cotm un puerto de salida'
los pines individuales del puerto pueden sacar señales de salida altas
o bajas; ésto es acompañado por un dato de escritura al puerto I/0 an-
tes de asignarse este como un puerto de salida. Cuando se asignan am*
bas o cada una de las dos partes igua:les en las que se encuentra divi-
dida el puerto C como un puerto de salida, todas las señales se pondrán
inicialmente en un nivel baio.
Cuando se está operando en Modo 0, se debe tener
las dos partes iguales en las que está dividido el
cuidado de asignar
puerto C (partes
55
superior e inferior), para entrada y salida.
Algunos usuarios han reportado que cuando se lee desde un puerto C se
pueden alterar los niveles de las señales de salida; cuando se escri-
be al puerto C, se puede escribir dentro la señal de entrada del bu-
ffer, modi.ficando cualquier bit seleccionado creado por las señales
de entrada. Este es un problema que no siempre aparece.
En los rndos ! y 2, se puede utilizar el c6digo de control escrito
para el puerto C un bit a la vez. No se puede escrfbir un patrón de
8 bits de puerto C. También en los modos 7 y 2' todas las señales de
control pueden ser inicializadas escribiendo el bit apropiado del puer-
to C con eI código de control apropiado.
Interrupciones l6gicas al 8255I pueden ser habilitadas. En los l'lodos
I y 2 se observa que las solicitudes o requerimientos pueden ser saca-
dos por INTRA y INTRB (pines 3 y 0 respectivarente del puerto C). Es-
tas interrupciones requeridas ocumirán solamente en la primera salida
de ocho niveles a esos bits del puerto C utilizan el código de control
apropiado.
Las especificaciones eléctricas del 8255 PPI, en nuestrp caso 82554-5
pueden obserúarse en el APendice 3,
5s
4. MEMORIAS RAI-'I Y EPROM
Las memorias representan naturalnpnte la parte más importante de cual-
quier sistema de computadora. Aún cuando el procesador central del Z-80
(CPU) tiene una gran cantidad de registnos para almacenamiento de 8
bits, dichos registros solo pueden ser utilizados en el maneio tempo-
ral de datos y no pueden almacenar instrucciones de programa. Tanto las
instrucciones de programa corn los datos deben ser almacenados el tiem-
po adecuado para que el prcesadorcentral (CPU) pueda realizar correc-
tamente su función. Las instrucciones de programa por tanto deben ser
almacenadas en elenpntos de memoria exterior.
La memoria externa puede dividirse en dos clases :
ROM (rpmoria
RAM (memoria
solo lectura).
I ectura-escri tura ) .
de
de
La ROM es utilizada para almacenar datos específicos o pasos que per-
manecerán en la programación. Los contenidos de estas posiciones de
memoria son considerados permanentes o fiios y no pueden cambiarse
fáci lrnnte.
- La RAM es utilizada para almacenar datos que están carüiando constan-
57
temente en el desarrollo del programa. Como ejemplo se podrfa citar el
caso en que los resu'ltados de cálculos o programas están variando fre-
cuentemente.
Para uno u otro caso (ROM o RfiM), la función primordial especffica es
y en el tiempola misma y consiste en proporcionar cuando se solicita
correcto una posición donde los datos son almacenados
para ejecutar un proceso determinado.
o una instrucción
4.1 LA MEMpRIA RoM.
La ROM (memoria de solo lectura) generalmente funciona cono una matriz
compuesta por memorias, cuyos contenidos, una vez establecidos por téc-
nicas especiales de programacifn, no pueden ser modificados por la
CPU; existen pocas excepciones a esta regla.
Debido a su naturaleza, Ia ROM no es volátil. Cuando se desenergiza el
sistema, los contenidos del programa no se pierden y cuandg se energi-
za éste permite la ejecucifin inmdiata del programa. Dentro de la ca-
tegorfa básica de las ROMs existen tres subcategorfas : RQM, PROM y
EPROM.
- R0M. Memoria de solo lectura.
Se trata de un almacenamiento fijo que puede ser escrito solo una vez.
Sin informaci6n contenida es fiia y no puede ser alterada. Una ROM por
lo general, está previamente programado por su constructor y por tanto
se compra con un modelo de bit pre-establecido. Lo dicho, permite que
58
Se
da,
te
se produzcan y
- PR0l4. Memonia
programen por encargo según las necesidades del usuario.
de solo lectura programahle.
podrfa decir que la memoria viene del proveedor virgen, no programa-
para que el almacenamiento de datos a realizarse en ella se eiecu-
solo una vez y queda fija.
- EPROM. Memoria de solo lectura prcgramable y bomable.
Es la combinación de las mqjores caracterlsticas de una ROM y una PROM.
Cuando se recibe de fábricas todas las posiciones de memoria están sin
programar¡ la EPROM puede ser pnogramada por el usuario como si fuera
una R0M. La principal característica, es que sf se desea, el contenido
de 1a información grabada puede cambiarse, borrándose y pnogra¡nando de
nuevo. Ffsicamente son fácilrpnte reconocibles porque tienen una ven-
tana de cuarzo sobre el circuito. integrado. Esta ventana es transparen-
te a la luz ultravioleta y facilita el bomado.
bnoiiendoya que existen tres clases
los requisitos de nuestra necesidad,
nuestras necesidades para escoger la
razones más fundamentales que priman
- Capacidad de memoria y costo y
- Facilidad ¿" progr.mación.
de ROM y que podrfan satisfacer
debenos analizar mas detenidamente
clase de ROM a utilizar. Las dos
en la escogencia son :
De acuerdo a nuestro prcgrama nonitor (extensidn y facilidad de progra-
mación que permita corregir posibles errores, se decidió escoger la me-
moria EPR0M de 2K denominada 2716.
59
4.2 LA MEMORIA EPROM.
La EPROM es una memoria de lectura en su mayor parte. Es usada como una
ROM para perlodos prolongados de tiempo, borrada ocasionalmnte y repro-
gramada cuando sea necesario. El borrado se realiza aI exponer una pe-
queña parte del chip, cubierto con una ventana transparente de cuarzo,
a Ia luz ultravioleta.
El elemento de memoria de EPROM usado por la INTEL en eI 2716 es de un
tipo de carga almacenada llamado transistor FAI'|OS (disposr'tivo de alma-
cenamiento MOS de inyeccidn por avalancha y puerta flotantel. Es simi-
lar a una FET de puerta de silicio y canal P, con la puerta 'rflotante"
o inferior, completamente rodeada por un aislador de dióxido de sili-cio. Et valor de almacenamiento de "1" o "0u del elemnto FAillOS es una
función de la carga en la puerta flotante. Un ele¡rcnto cargado tendrá
la salida de almacenamiento opuesta a la de un elerento no cargado. Al
aplicar una tensión de carga de 25 Volts a elementos selectivamente di-
reccionados, configuraciones de bits particulares que constituyen el
programa, estos pueden escribirse en la EPROM. Rodeado por material ais-
lante, la carga puede durar años. Cuando el aislador de didxido de si-
licio se expone a la luz ultravioleta, éste se vuelve conductor y dre-
na la carga en la puerta flotante. El resultado es el borrado de toda
la información programada. En el apéndice 5 se detallan las caracte-
rísticas eléctricas de la EPROM 27t6.
Unir'anilot n,¡ionoma dr l'.riór¡¡llrPm 8't" "' :
60
4.3 PROSRAI4ACION DE UNA MEMORIA EPROM.
La EpR0M 2716 se puede grabar por intermedio de un quemador de memoria
o grabador automático. Estos elementos generan pulsos que afectan la
estructura interna de la memoria, creando niveles lfgicos 1 o 0'en su
entrada. La EPRoM requiere un impulso de programación de unos 30 mA a
un nivel de tensión entre 25 y 27, con una duración por inpulso de I' m
(¡ilisegundo). Según las especificaciones del fabricante, ningún impul-
so de programación puede durar nrás de 1 ms. Para obtener una buena re-
tencion de datos, se recomiendan 100 impulsos de programacion (de 1 ms),
para un grupo de I bits o dirección de memoria.
Como no se pueden aplicar 100 milisegundos a una misna direccidn en un
instante dado, se recomienda realizar 100 aplicaciOnes de 1 ms; es de-
cir, se debe escribir cada direccifin con un solo pulso y repetir eI ci-
clo de instrucciones 100 veces.
4.4 BORRADO DE UNA EPROM 27L6.
Las rpmortas EPROM, vienen de fábrica totalmente borradas. Para borrart
las, después de grabarse en ella un programa dado, se expbne a radia-
ciones de luz ultravioleta durante un tiempo, distancia de la fuente
de luz e intensidad determinadas.
El costo y Ia seguridad, factores igualmente destacados, son puntos pre-
ponderantes cuando se selecciona un borrado ultravioleta. Dentro de las
características de la EPR0M se determina la intensidad necesaria de luz
61
ultravioleta para su borrado. El borrado de la 2716 comienza cuando es-
ta se expone a la luz de longitudes de onda nás cortas que unos 4000
Angstroms (O). Se debe notar que la luz solar y la de algunos tipos de
lámparas fluorescentes contienen longitudes de onda dentro de la gama
de 3000 a 4000 o. Datos experimentales revelan que exponiéndose una
EPROM 27LG a\ nivel de iluminación fluorescente de una habitación' po-
drfa hacer que ésta se borrase en aproximadamente 3 años; pero exponién-
de a la luz solar directamente el borrado se hará en una semana.
El procedimiento recorendado para el borrado de I a 27tG es exponerla
a la luz ultravioleta de corta longitud de onda, especialmente la de
?537 o. La dosis integrada (esto es, intensidad de luz UV X tiernpo de
exposición) para el borrado debe ser como minirp de 15 l't-seg/s¡2. El
tiempo de borrado para esta dosis es aproximadamente de 15 a 20 minutos,
utilizando una Iámpara ultravioleta de regirnen de potencia de L200 ywl
cn?. La 2716 debe colocarse a menos de 2.5 cm de los tubos de la lámpa'
ra durante el borrado.
4.5 FUNCIONAI-i|IENTO.
Los cinco modos de funcionamiento de la 2716 son :
Modo de lectura.
Modo de reserva.
Modo de Programación.
Modo de Inhibici6n del Programa.
Modo de Verificaci6n del Programa.
6Z
- Modo de Lectura.
La 27L6 posee dos
chas para obtener
funciones de control, las cuales han de ser satisfe-
los datos a su salida.
Habilitación de chiP (cr¡ es el control de alimentacidn y debe usarse
para seleccionar la patilla (chip). Habilitación de salida (0E) es el
control de salida y debe usarse para seleccionar los datos en las pati-
llas de salida, independientemente de la seleccidn del chip. Suponién-
do que las direcciones son estables, el tiempo de acceso a la direcci6n
(tnCC) es igual al retardo deFhasta Ia salida (tce). Los datos están
disponibles a la salida 120 ns (tgg) después del flanco de bajada de TF,
suponiendo queTfera un nivel baio y que las direcciones han pemaneci-
do estables durante un intervalo mfnimo tACC-tgE.
- Modo de Reserva.
La 2716 posee un modo de reserva que reduce la disipaci6n de energla ac:
tiva en un 75%, de 525 mtl a 132 r*1. La 2716 se pone en modo de reserva
aplicándole un nivel TTL alto a su entradaFl Cuando está en modo de
reserva, las salidas se encuentran en el estado de alta inrpedancia, in-
dependiente de la entra-0E.
- Porgramaci6n.
comienzo , después de cada borrado, todos los bits de la 2716 están
el estado ',1tr. La información se introduce programando selectivamen+
'r0'r en las posiciones deseadas de bits. Aunque solo Se pnograman
AI
en
te
63
"ceros'r, anbos estado rrltr y "0" pueden estar presentes en cada palabra
de datos. La única manera de carüiar untrO'r a un'rl" es el bOrrado con
luz ultravioleta.
La 27L6 está en el nodo de programación cuando la fuente de alimenta-
ci6n conectada a Vpp suministre 25V VTEtoma el valor V¡p. La informa-
ción a programar se presenta de a 8 bits en paralelo en las patillas de
salidas de datos. Los niveles necesarios pana las direcciones y los da-
tos de entrada son TTL.
Cuando la direcci6n y los datos se estabilizan se aplica un impulso TTL
de programaci$n de 50 ¡¡2, activo de nivel alto, a la entra¿aT/Pg¡1. Hay
que aplicar un impulso de pnogramación a cada una de las direcciones de
las posiciones que se van a prograrnar. Se puede programar cualquier di-
rección en cualquier momento, incluso individual, secuencial o aleato-
riamente. El impulso de programaci6n tendrá una anchura máxina de 55
ms. La 27L6 no debe ser programada aplicando una señal de c.c. a la en-
tradaTE/PGt't.
Se puede llevar a cabo fácilnente la programación mÍiltiple de varias
2716 conectadas en paralelo, con la misma información, dada la senci-
llez de los requisitos de programacidn. Las entradas iguales de las 2716
conectadas en paralelo pueden unirse cuando se Ias programa con los mis-
mos datos. La programación de todas las unidades 2716 conectadas en pa-
ralelo se consigue mediante un irnpulso denivel alto TTL aplicado a las
entradas -CVPGM.
64
- Inhihici6n del Programa.
La programacidn de vari as 27L6 en paralelo con datos distintos se lle-
va a cabo también fácilrBnte. Con la excepción de CEIPGM' todas las
entradas análogas (0E inclusive) de las 2716 conectadas en paralelo
pueden ser comunes. Las 2716 que reciben en su entrada etr/PGM un impul-
so de pFogramacidn de nivel TTL iunto con 25 V en Vpp resultan progra-
madas. Las que reciben un nivel baio en su entrada TE/PGM quedan inhi-
bidas y no reciben los datos.
- Verificaci6n del Programa.
Debe efectuarse la verificacidn de los bits progranados para conprobar
que presentan su estado l6gico correcto. La verificacidn puede efectuar-
se con 25 V en Vpp. Excepto durante la programacidn y la verificación
del programa, Vpp debe estar a 5 V
Las anteriores caracterfsticas de los modos son vistas en la Tabla Nol
TABLA 1 SELECCION DE MODOS
Pati I I asModti CElPGM
18TE(20) Inr iEEr
Sal idas(g-tt,13-17)
Lectura
Reserva
Programa
Veri fi ca-ci6n delPrograma
Inhi bi ci 6ndel prlograma
VIL
VIH
Pulsos desdeVIL hasta VIH
VIL
VIL
VIL
Irrelevante
VIH
VIL
VIH
+5
+5
+25
+25
+25
+5
+5
+5
+5
+5
Dout
Z altaDtn
Dour
Z alta
65
Nftese que todas las entradas para los cinco modos son niveles TTL'
Las tensiones de alirentación son Vcc = +5v J una Vpp' La fuente vpp
debe suministrar 25V durante tres nndos de prtgramacifn y 5V en los o-.
tros dos.
4.-6 LA MEMORIA RAM.
La memoria Mt4 (Random Access Memory), memoria de lectura escritura, es
justamente lo que su nombre implica o define. Dicha mernria permite que
los datos sean escritos en su interior, cotil) también se puedan leer pos-
teriormente los datos que Posee.
La npmoria RM generalmnte esta configurada por dispositivos semicon-
ductores de memoria programables, QU€ retienen los datos solamente cuan-
do la alimntación está aplicada o conectada. Por esta raz6n se deben
identificar a la remoria MM con¡¡ una memoria programable.
Existen dos clases de MM : Estática y dinámica.
- La memorta programable Estática almacena cada bit de información en
un elemento de memoria biestable, tal corn un circuito flip*flop' Di-
cha información puede retenerse tanto tiempo cono se mantenga la ali-
mentacidn suministrada por el circuito.
- La memoria programable Dinámica tiene una estructura interna más sim-
ple, un tamaño más pequeño, disipa menos potencia y es intrlnsecamente
más rápida. Almacena información en la puerta del transistor MOS re-
66
diante una carga eléctrica. Esta carga dura solamente unos pocos mili-
segundos y debe ser regenerada. Esta necesidad de regenerar la infor-
maci6n (carga), es una de las grandes diferencias entre una rBmoria
RAM dinámica y una RAM estática. El regenerar la memoria dinámica pue-
de ser molesto. Se requiere que todos los elementos de alnacenamiento
se direccionen al r¡enos una vez cada 2 milisegundos. Se acosturüra a-
dicionar al sistema un circuito contador que mantenga activadas las lf-
neas de dirección de Ia memoria para cuando el microprocesador no es-
té teniendo acceso a la memoria. En la gran mayorfa de los sistemas'
la implementaci6n del circuito contador, se hace mediante un circuito
externo.
La elecci6n entre el uso de una RAM estática y una MM dinámica se ba-
sa en los costos y la conpdidad. Generalmente' aún involucrando en los
costos el circuito externo contador, la mennria dinámica es menos cara.
En un sistema como el del presente proyecto, el uso de un circuito ex-
terno que este constantemnte generando la carga, crea rnás problemas
técnicos que beneficios económicos¡ por tal razón se decidi6 utilizar
una memoria RAM estática.
4..7 MEMORIA RAM ESTATICA.
Existen cinco componentes básicos en una RAI'I estática :
Llnea de entrada de dirección.
Entrada de datos.
SaIida de datos.
67
Selección de chip.
Lfnea de strobe de hahilitación de escritura o de lectura/escritura.
La función de una RAM estática es perrnitir, almacenar y recuperar datos.
Durante la funcidn de lectura, los datos almacenados están disponibles
en la línea de salida de datos. Durante la funcidn de escritura, los
datos que están ubicados en las lfneas de entrada de datos se almacenan
en la direccifin indicada por el cddigo en las lfneas de entrada. No es
necesario que los dispositivos de memoria RAt4 estática tengan lfneas
independientes de entrada y salida de datos.
Generalmente, las RAM estáticas están configuradas con salidas triesta-
do. Durante una funci$n de lectura, las lfneas de entrada de datos no
están habilitadas dentro del dispositivo de memoria. Los contenidos de
las posiciones de memoria están posicionados en la salida de datos y se
alimentan directamente del bus de datos bidireccional. Durante la fun-
ción de escritura sucede todo lo contrario; es decir, las lfneas de sa-
lida de datos están configuradas en forma triestado (que es práctica-
mente un circuito abierto), V ro extrae corriente del bus de datos bi-
direccional. Et contenido del bus de datos htdireccional se almacena
en el elemento de mernria indicado.
Todas las funciones multiplexadas dependen de las llneas de lectura/es'
critura y de la lfnea de selección de chip. No se puede realizar ningu*
na operacidn sin seleccionarse la lfnea del "chip'5g1ectrr' De esta for-
68
ma se selecciona un chip o un hanco de chips, determinándose mediante
la computadora o CPU, sf los datos serán lefdos de, o escritos en de-
terminadas posiciones de memoria. En un funcionamiento normal ' una me-
moria RAM estática se encuentra en el estado de lectura' y se habili-
ta para escritura al colocarse un nivel 'r0" en el terminal de selecci6n
de lectura ("1,{rite-enable"). Esta señal es llamada, "strobe de habili-
tacion de escritura". En una función de lectura, cuando el CPU tiene
acceso a la memo.i. ¡¡4y, el chip para ese banco determinado de merpria
se pone al.nivel ldgico "0" y solamente ese banco de remoria tiene ac-'
ceso al bus de datos. En el caso de existir varios bancos y de mernria
y que todos tuviesen la misma direcci6n, s6lo el banco seleccionado es-
tarfa en el rndo activo. El comportamiento lógico es similar para el
CPU cuando se requiere operar una funci6n de escritura.
En el nodo de lectura, los datos fluyen desde el chip de la memoria
RAlil; en el rndo de escritura los datos fluyen hacia dicho chip, y cuan-
do la mer¡oria no está seleccionada se encuentra en el nndo triestado.
4.8 CAPACIDAD
ESTATICA.
Y CONSIDERACIONES DE CONFIGURACION DE BITS EN UNA RAM
La regla más general que se aplica a todos los elementos de memoria es
que a mayor capacidad de bit de almacenamiento menor será el costo por
bit de memoria. Esto obviamente es ventaioso¡ por consiguiente' para
seleccionar un elemento de memoria que suministre Ia máxima capacidad
de bits, es necesario tener en cuenta los requerimientos de la aplica-
ción para no excederse o quedar cortos.
69
0tra consideraci6n a tenerse en cuenta es el arreglo de los bytes en
la mennria. Por ejemplo, para al'macenar lK X I bits, podrlamos utili-zar 8 elementos de 256 X 4 bits en lugar de 8 elementos de lK X I bit.
Los dos casos de configuracidn antes mencionados, se pueden observar
en la Figura 18.
La configuraci6n es indispensable en casos tales corp la necesidad de
adicionar memoria estática. Con elementos configurados en 256 X 4bit
se pueden incrementar en cantidades de 256 bytes por simple adici6n
de dos elerBntos nás al arreglo inicial. Con elenentos configurados en
lK X lbit, sin embargo, el nás pequeño incremento es de Lk bytes y se
necesitan ocho elementos en paralelo para suministrar los ocho bits
que se necesitan. Por tanto, la configuracidn 256 X 4 bits brinda una
manera más económica de expandir memoria.
Otra consideraci6n que se origina debido a la configuraci6n dél ele-
mento MM es la forma corrp necesita operar el bus de datos. En la con-
figuración ilustrada en la Figura lB , en el arreglo consistente de
256 X 4 bits se pueden conectar 4 elementos a la salida, mientras en
el arreglo de lk X 1 bit solo se puede conectar 1 eler¡ento al bus de
datos en la salida.
En el apendice 6 se encuentran las caracterfsticas eléctricas de la
memoria HM6116.
Univanidod 4r¡loaone 4r Fcddrlt+r
lep.'s ¡t¡'
70
I lIll ¡l¡I
t -tI a{l rrrr
trrl;-li !.r
=aj
¡-j=ár'¡oo{iG
IGoIt¡¡I¡lC¡
ot{=o(tG3qLao(,g
EIots
iJ
ilE1
i1
rIl:lL:JL-rJ
5o
l:lL"JL-rJ
ao
| ¡ta'l
-t=Jr I
I I llt
nrfg ¡ 1
{EEEE{EE
I r)ll
ttrl
t--.-tL-tJ
7t
5. CODIFICADORES Y MULTIPLEXORES
5.1 CODIFICADORES.
Se puede decir en forma muy general que un codificador es un circuito
diseñado para trasladar informaci6n de un sistema a otro con clave di'
ferentei un decodificador es el circuito que retorna los datos al sis-
tema original.
Un codificador es un hloque combinacional diseñado para convertir
entrada no binaria en una salida estrictamente de tipo binario.
Un codificador es una función
sa a la del decodificador. Un
entrada y n lfneas de salida.
binario para las 2n variables
digital que produce una operacr'dn inver-
codificador tiene Zn (o menos) lfneas de
Las llneas de salida generan el código
de entrada.
Se conoce como codificador de prioridad a los codificadores que estable-
cen una prioridad de entrada para asegurar que solamente Ia lfnea de en-
trada de la más alta prioridad se codifica.
El decodificador es un bloque combinacional diseñado para convertir un
número binario de entrada en niveles altos y bajos de voltaie de orden
72
distinto a la salida. En
es diferente al word que
palabras sencillas, el Word o dato que entra
sale aunque se tenga la misma cantidad de bits.
Los decodificadores son usados para convertir instrucciones hinarias
señales de ttempo, para controlar máquinas en procesos o implementar
circuitos l6gicos.
Un decodificador es un circuito corüinacional que convierte información
binaria de n lfneas de entrada a un máxirn de 2n lfneas finicas de sali-
da. Si la información decodificada posee conúinaciones no usadas o de
no importa, la salida del decodificador tendrá nenos de 2n salidas.
El nombre decodificador se usa tarüién para determinado tipo de conver-
tidores de cddigo, tal como el decodificador BDC a siete segmentos.
5.2 MULTIPLEXORES.
El multiplexor o multiplexer es el equivalente lógico digital de un in-
teruptor giratorio de varis posiciones. El multiplexor más sencillo
es el biplexer, empleado en los transmisores-receptores del radar, que
permite colocar a una misma antena el c'ircuito emisor de ondas y el r€-
ceptor de ondas
Un multiplexor tfpico permite
neas de entrada y comunicar a
co que alll' se encuentre. Con
reccionar eI rnultiplexor para
seleccionar una cualquiera de varias lf*una línea comfin de salida el nivel lógi*
lfneas de control auxiliares se puede di-
que se ubique en determtnada I fnea de en-
73
trada de datos y posteriormente comunicarlos a la llnea de salida.
En circuitos con multiplexores se utiliza el fenómeno conocido como
"persistencia visual" para el manejo de visualizadores númericos' ya
que rnediante esta forma se logra disminuir el consumo corriente.
Como ejemplo, al iluminar el nfimero 888 en un display estático de 3 df-'gitos
LED, cada dlgito de 7 segmentos,se tiene en total 24 pines (8
por cada dígito) y un consumo de corriente igual a la suma de lo gas-
tado por.cada segmento. Para iluminar el nisnn nfimero, el 888' en un
display dinárnico (multiplexado) se necesitan solamente 10 pines (7 tf-neas que unen en paralelo los comespondientes segmentos de cada dfgi-
to y 3 lfneas de salida individual por dígito -el cátodo o el ánodo co-
mfin según sea la polaridad del display-). El consuno total de corrien-
te sería aproximadamente igual al gastado por un stilo dlgito en la for-
ma estática.
Debido a la "persistencia visual" del oio humano' se es posible multi*
plexar los tres dfgitos del display del ejemplo citado, esto es que se
apaguen y enciendan sucesivamente en forma escalonada sin que se note
parpadeo y se tenga la sensaci6n de que los tres están continuamente.
iluminados. La cantidad de veces que un dígito repite su encendido en
un segundo de tiempo, se denomina 'rrata de repetici6n". La rata nO debe
ser menor que 30 encendidOs por segundo' pero esta cifra Se puede au-
mentar hasta donde lo pennitan los tiempos de propagacidn de las com-
puertas empleadas en el integrado que conforma el multiplexor.
74
En general, la acción de multiplexar significa transmitir una gran
cantidad de unidades de informaci6n por un núnero relativanente peque-
ño de canales o líneas. En un multiplexor digital, normalmente hay 2n
lfneas de entrada y n lfneas de selección que al corúinarse determinan
cual entrada se selecciona. Un multiplexor se llama también un "selec-
tor de datos" ya que selecciona una de muchas lfneas de entrada y con-
duce la información binaria a unas líneas de salida.
El tamaño del multiplexor se especffica por el número 2n de sus lfneas
de entrada, implicando así que contienen n lfneas de selección. El mul-
tiplexor a menudo se abrevia con la palabra MUX.
Los multiplexores poseen una entrada de hahilitación o activaci6n, lIa-mada también STR0BE, que permite pasar de dos o nás multiplexores a un
multiplexor digital con gran númerc de entradas.
El multiplexor es un elemento muy útil y tiene una m¡ltitud de aplica-
ciones. Se puede usar para conectar dos o más fuentes a un solo destino
y es fitil para construir un sistema de bus común.
El demultiplexor funciona de manera contraria al multiplexor; tiene una
sola lfnea de entrada de datos y dos o más salidas seleccionahles.
Mediante un conjunto de instrucciones binarias se dirrecciona o escoge
la salida. Los demultiplexores se direccionan y sincronizan permanente*
mente mediante una señal de reloj, clock.
75
Los demultiplexores se denominan abreviadanente DMUX y se utilizan tam-
bién como decodificadores de binario a un solo nivel de salida, tal co-
mo los decodificadores de binario a decinal, o binario a hexadecimal.
Al colocarse un nfimero binario en la entrada de datos del del demulti-
plexor, se obtiene un estado diferente en la salida correspondiente-
En resumen, un demultiplexor es un elemento que recibe información por
una sola lfnea.y transmite esta informaci$n en una de las 2n lfneas po-
sibles de salida. La seleccidn de una línea específica de salida se con-
trola por los valores de los bits de las n lfneas de seleccifn.
Como las operaciones decodificador: y de*multiplexor se pueden obtener
de un mismo circuito, un decodificador con una entrada de activación
se Ilama un 'rdecodificador/demultiplexor". Es la entrada de activacidn
en que hace al circuito un demultiplexor.
En nuestro trabajo utilizanos un Decodificador-demultiplexor de refe-
rencia 7415139. Este circuito es diseñado para ser utilizado con menr¡-
rias de alto rendimiento en aplicaciones de rotacidn de datos, requi-
riendo muy corto tiempo de retardo en su propagacidn. En sistemas de
menoria de alto rendimiento estos decodificadores pueden ser utiliza-
dos para minimizar Ios efectos de decodificaci6n'
Cuando se utiliza con remorias de alta velocidad, el tiempo de retardo
de estos decodificadores es usualmente mnor que el tiempo de accesO
tfpico de ]a memoria. Esto significa que el retardo efectivo del sis-
76
terna introducido por el decodificador es despreciahle.
El 15139 comprende dos decodifrlcadores separados de dos lfneas a cua-
tro lfneas en un paquete sencillo. La habilitación de la entrada acti-
va en baja puede ser utilizada como una llnea de datos de entrada pa-
ra aplicacibnes de demultiplexaci6h.
En el apéndice 4 se pueden observar las caracterfsticas eléctri-
cas del elemento 15139.
77
6. PERIFERICOS - BASICOS : TECLAD0S - DISPLA.Y
Los perifericos son necesarios para aumentarle la utilidad al sistema.
Los periféricos externos facilitan la entrada y salida de datos del sis-
tema. El teclado facilita Ia introducción de datos y/o programa¡ el dis-
play pennite visualizar los resultados del programa de manera legible.
El teclado utilizado en el sistema del cual es objeto el presente tra-
bajo, es un teclado alfanurnérico o de tipo "máquina de escribir" en có-
digo ASCII (código Américano de normas para intercambio de información).
El displqy está constituído por 350 diodos LED que com¡nicados a una
salida de lectura hexadecimal de 50 columnas (cada colurna es maneja-
da por 7 bits), conforman los diez caracteres a mostrar por "pantalla-
zott.
Los periféricos solo proporcionan los medios para añadir capacidad de
visualización y de introducci6n de datos.
6.1 TECLADOS.
El 280 puede comlnicarse con elementos externos a través de Ia estruc-
tura de buses de entrada/salida. Cuando el 280 desea indicar al usua-
rio que ha ocurrido un evento, el puede hacerlo cambiando el nivel de
78
salida de un hit de un puerto de salida en paralelo. Por ejemplo, para
indicar que un programa ha finalizado, el bit 7 en el puerto 0 puede
pasar de un nivel ldgico rtOr' a un nivel ldgico'r1". Para analizar lo
anteriorrrente dicho, podemos ohservar la Figura 19.
En la interface mostrada en la Figura I ,se tiene una entrada de datos
simple. En el puerto de entrada, del bit 0 al 7 se podrlan colocar Iinteruuptores de entrada. Cuando se pulsa el interyuptor del bit 7' la
entrada se coloca a tierra o a masa. Si se desea introducir información
solo es necesario un pnograma que lea los datos del puerto de entrada y
luego los almacene y/u opere sohre ellos. En este punto es importante
la sincvonización de los periféricos con la CPU.
El método más comiin para sincronizar un periférico que introduce datos
lentamente a un sistema de eiecución rápida es hacer uso de pulsos de
strobe (habilitación) o mediante interrupciones programadas. El progra-
ma, al percibir el strobe lee en el puerto indicado utilizando los 7
bits de datos. El código de teclado más utilizado es el ASCII.
En el Apéndice 8 se indica el cddigo y los caracteres que lo represen-
tan.
Uno de los métodos utilizados para generar cddigos de tecla es mostra-
do en la Figura 20
La técnica mostrada utiliza l6gica de software para explorar la matriz¡
FoA3aEogo3cE
agECco3¡-Éo!¡< o!J0laA.?=utiXlu,YGs cPrJo,OE.J=6-tad-=¡l
-dIg ñ;N. EX9=<t€O9v.
\F<Fsz<L.aF>zugt.ouLiG¡J
NZ-oL(,Ét¡¡FCz=zHI€eIL
OE33¡¡oÉGFz¡¡DooFG¡¡=o,
,>4Í o'RÉi
ts
gtFool¡lc¡
eJ
0
Ec)
oFEE
c
Íto
!¡
oo
3=E(,¡ llniren¡:ia:l't;tcñomc tl-' Itddülflilcgn f.irr'"...'
80
(- att an, arJ ezun ¡¡rfo(ó. |ol¡.lo I 8l
Lao
P!.no Aúr antrodcan potúlalo
a
a
a
o
o
O
l"I
lB'I
l"{83
III
I
I
I
L"'
1.3 r
3.5 X
3.r x
3.t t(
F|AURA ZC. CIRCU'TO COD'FICADOR fE I?E 'ECLAS
@IVTROLADO POR SOFTÚARE
D
74t54 CtL DEcoDlFlcaDoR 'f a 16
g@
f5 t4l! l2ttlo 9 8 7 6 5 e 3 2 l
81
esta técnica se utiliza cuando la velocidad de ejecución del programa
de computadora no es crltica. Su funcionamiento se establece cuando se
pone a "1', un código contador de colulnnas de 4 bits en el decodifica-
dor. El nivel lógico "0'r para la fild correspondiente en el puerto de
entrada en paralelo significa que se ha pulsado una tecla. La señal
"strobe" de la tecla presionada sirve para dos cosas : Indica que los
datos están presentes y listos y no permite que se genere otra señal
hasta después de transcurrir un perfodo de supresidn de rebotes de ti-po mecánico.
El tiempo de espera o retardo para generar la señal de strobe es debido
a la temporización requerida para dar un perfecto sincronismo. La dura-
ci6n del pulso debe ser suficientemente larga para permitir al programa
de exploraci6n captarlo, incluso si éste está eiecutando otra tarea y
lo suficientemente corto para que el procesador central [cpu) no vea la
misna señal de strobe dos veces. Se debe tener en cuenta que un micrc-
prncesador puede eiecutar 200.000 instrucciones por segundo, lo que sig-
nifica que al presionar Ia tecla de strobe, un determinado programa pue-
de ejecutarse cientos de veces debido al efecto de rebote por el contac-
to de la tecla.
Las acciones rBcánicas de reposo y trabaio de la tecla al hacer contac-
to podrían aparecer como 100 señales de "strobe" si no se tiene cuida'
do. Una señal de strcbe no se debe generar hasta después de un tiempo
no menor a 200 ns (nanosegundos), tiempo éste que supera la duración
del ciclo en el microprocesador.
82
Hay dos técnicas para resolver el problema de la duración de la señal
de strcbe. La primera es activar un flip-flop con eI flanco de subida
de la señal de strube y unir a un bit de salida'en lfnea de puesta a
cero (0) del flip-ftop, (ctear). Al terminar de leerse los datos, el pro-
grama puede borrar la condicidn de habilitación de la señal de strobe
poniendo a "0" el flip-flop. Esta primera técnica se utiliza cuando el
tiempo de respuesta a un teclado o a otro dispositivo es variable y de
este modo también se garantiza que un evento será registrado y no se 0-
mitirá por causa de retardos. El problema más comfin sin embargo, es leer
una señal de strobe dos o más veces que el hecho de deiar de leerla por
falta de tiemPo.
La segunda técnica consiste en emplear por medio de programa un indica-
dor de software. Cuando se detecta una señal de strobe, ocasionada al
pulsar una tecla, e'l programa selecciona un indicador en una posici6n
de metmria, lee los datos y revisa de nuevo la señal de strobe. Si es-
ta última se encuentra a nivel alto, el indicador de software se resetea
y los datos no son leídos. Solamente cuando la señal de strobe retorna a
un nivel lógico "0'¡ se selecciona el indicador, activando la entrada de
datos para la siguiente vez.
El teclado que utiliza el anunciador, es un teclado unipolar de acción
sencilla conformado por cddigos de 8 bits-
para codificar los contactos del teclado, se utiliza una memoria de so-
lo lectura para 2376 bits, la R0I'|KR-2376-XX. Cotm su nombre lo indica'
83
esta memoria viene programada directamente desde el fabricante' La 2376
se fabrica según el procedimiento de canal-P de unhral baio y contiene
transistores tipo ?942 canal-P. La KR-2376*XX viene en encapsulados de
40 patillas en dos lfneas.
En eI apéndice 7 podemos observar la configuracidn del integrado, la
forma de conexi6n normal, caracterfsticas .principales, diaEramas de tien-
pos y caracterfsticas eléctricas.
6.? DISPLAY.
El displqy permite al usuario visualizar cada uno de los datos lntroduci*
dos y posteriormente ver correr el anuncio deseado. La configuracidn m-
nos costosa para fabricar un display' es en base a diódos LEDS. Un LED
recibe la señal de cada bit enviada por uno de los siete puertos de sa-
lida. El display del anunciador esta conformado por 5Q colurulas, cada
columna de 8 bits. A cada bit corresponde un LED, a excepcidn de un hit
fijo que siempre está en un nivel bajo'r0"; se puede decir entonces que
cada columna posee 7 leds.
Cada dígito o carácter en general esta conformado por 35 diodos LED; es
decir, 5 colunnas [5 posiciones de memoria) de 7 diodos l-ED cada una.
El display tiene capacidad para visualizar 10 caracteres al tiempo, Por
tanto cuenta con 350 diodos LED en total. El manejo de la presentacidn
del anuncio en los 10 caracteres se realiza mediante la utilizaci6n de
3 puertos integrados PIO, cada uno con 3 puertos de entrada o salida, o
sea que en total se cuenta con 9 puertos I/0, distribuídos asf :
84
I Puerto se utiliza siempre co¡no entrada de datos, o sea que recihe in-
formación de 8 hits constantemente.
L Puerto se encarga de la activacidn de los segmentos o diodos LED de
'cada columna, en otras palabras, activa las filas de cada caracter.
Los 7 puertos restantes se encargan del manejo de las 50 colunnas, cada
puerto puede manejar 8 columnas.
85
7. EL PROGWA I"IONITOR
El programa moni'tor constituye básicamente la esencia en si que contro-
la y maneja el anuncio y la fecha. En lenguaJe aplicado a sistemas de
computadoras, consti.tuye el software del sistena. Dicho programa moni-
tor está compuesto por treinta clases de subrutinas las cuales están
relacionadas entr"e sí para conformar los caracteres, habilitar el te-
clado y los puertos, accesar unidades de rBmoria, maneiar el tiempo y
la fecha, sacar informactdn hacia el display, etc.
análisis independiente de cada una de las subrutinas que intervi'enen
el programa monitor es realizado a continuaci6n :
EI
en
86
7.7 TNICIO PROGRAMA.
Como se ha explicado en capftulos anteriores, la CPU del 280 tiene un
registro encargado de guiar el programa; dicho registro es colocado au-
tomáticarnnte en cero cuando el programa es reseteado.
La acción de nesetear el programa se puede hacer manual o automática-
mente. El usuarto puede resetear el prograna en forrna nanual y el cir-
cuito electdnico lo resetea autornáti'camente cuando se energiza el sis-
tena. El programa al ser reseteado, parte o lnfcia su ejecuci6n desde
la dirección 0000. La subrutina en renciór, "inicio programa", se efec-
túa al energizar el sistema y desempeña tr.es funciones principales que
son :
- Controlar los puertos y seleccíonar cuales de ellos serán de salida
y cuales serán de entrada.
- Lnicializar el registro SP [stackPointer), y colocar el contenido de
todas las dfrecciones RM que serán utilizadas por el programa moni-
tor en cero.
- Detectar cuando una tecla es prestonada, identificarla y trasladan
el contador de programa (PCI a la dirección donde se encuentra la sub-
rutina cory€spondiente a la tecla presionada.
Enresumen la funcfdn básica de esta subrutina es la de ali'stan todos
los elernentos adyacentes a la CPII para un lógtco desarrollo de sus fun-
ciones. Los elementos en rnncidn son : los puertos de salida y de en-
trada, las rpmorias RM y las memorias ROM.
87
Para entender mior el funcionamiento de esta subrutina se aconseja
seguir el diagrama de flujo 1 del apéndice 10.
InicialrBnte es generado un retardo originado por el decrennnto del re-
gistro B cargado con 00 hasta que el valor de B vuelva a ser 00. Al fi-
nal del retardo, el registro acumulador es cargado con el código hexa-
decimal 90, código este que cory€sponde a la palabra control para acti-
var el PIO I del total de los tres existentes. La palabra contrcl lim-
pia todos los puertos de entrada y salida. Posteriorrrnnte el registro
acumulador A es cargado con el código hexadecimal 80, que es la palabra
contrcl para el PIO 2 y el PIO 3. Dicho valor también se encarga de lim-
piar todos los puertos de entrada y salida de los PIOS 2 y 3.
- Sefine el registro USTACK Pointerrr con un valor correspondiente a una
dirección de rBmoria RAIrI que demarca el área disponible para la graba-
ci6n de caracteres, la cual es inferior al área utilizada por el progra-
ma monitor.
- La subrutina 'tgg¡P¡¡qtt
nes de rnemoria RAf'l que
llamada para limpia todo el 'área de direccio-
util izada por el prograna monitor.
es
es
- La subrutina "54 INICIO ANUNCIO" es llamada para deiar listo el códi-
go hexadecimal 54, indicativo de Ia zona a partir de la cual se comien*
za a grabar eI anuncio.
- Las instrucciones siguientes están relacionadas con la entrada de da-
B8
EI
de
tos y desarrollo de estos en el teclado.
registro indexado Ix es cargado con la direccidn de mmorta a panttr
la cual se lista el teclado.
En el A del PIO L se almacena el estado de las teclas. Dicho valor es
cargado en el registro acumulador y posterlornnnte trasladado aI regis-
trt B.
Cada tecla posee u origina 7
tado en que se encuentra una
no. Cuando el bit 7 es cero,
prueba el bit 7 del rcgistro
bits; el bit 7 de cada tecla señala el es-
determinada tecla, esto es presionada o
la tecla está presionada por tal razón se
acumulador A.
Cuando se presiona una tecla el flag Z del registro F también es selec'
cionado, o sea se cOlOca en eI estado Sfz o Sf Cero. Sr' la tecla perma-
nece presionada el programa entra en un ctclo en el cual se compara el
contenido del registro acumulador A con el contenido del registro B.
Si la tecla es liberada el contenido del regtstro A es diferente al con=
tenido del registro B. Todo ésto es rcalizads con el propósito de que
la tecla presÍonada sea lefda solo una vez por el prOgrama nonitor y
eyitan de esta forna problemas de repettción dependientes de la veloci-
dad con que eI usuario libere la tecla presionada. Una vez se detecte
la liberaci$n de la tecla, el conteni'do del regtstro B es cargado en el
registro acumulador A.
8g
En el listado que contiene el llamado de las teclas la diferencia exis-
tente entre el llamado de una tecla y el de otra es de posiciones de re-
moria. Por esta razón el registro.par DE es cargado con 06 para ser uti-
lizado como sumador cuando se pase de una tecla a otra.
- El registro acumulador A es comparado con 00. Para establecer un con-
tador de caracteres desde 00 hasta 7F en base aI código ASC II. Dicho
contador es creado al cargar el contenido del registro acumulador A en
el registro B. El registro B es decrerBntado y el registro indexado Ix
es sumado con la constante almacenada en el registro par DE o sea 06.
El valor del registro acumulador A es restaurado cargándo el contenido
del registro B en A. El programa se queda en este ciclo hasta que el con-
tenido del registro acumulador A sea 00. Cuando ésto ocurra el fluio del
program saltará a la dirección que en este momento es indicada por el
registro indexada Ix.
Cuando se ejecuta la subrutina que conforma el caracter correspondiente
la tecla presionada, el flujo del programa salta de nuevo al punto "KIN"
y de esta forma el programa queda listo para detectar otra tecla presio-
nada. En caso de no presionarse ninguna tecla, el contenido de la direc-
ción27Fl.es cargado en el registro indexado IX, la cual contiene el vi-
lor correspondiente a la última dirccci6n utilizada por Ia subrutina
UPARRA,I4'I.
El caracter grabado se puede visualizar debido al increnento del regis-
tro IX y el llamado de la subrutina "SCANI.
llniurnirtat rutonomo tJ¡ ftcidrrtrtl"O:r. i,i
90
Finalrnnte el flujo de.l ptnograma se queda en este ciclo hasta que una
nueya tecla sea presionada.
91
7.2 54 INICIO ANUNCIO
Esta subrutina se ejecuta cuando se es llamada por la subrutina "Inicio
Programa". La subrutina "54 Inicio Anuncio" está encargada de colocar ,el
número hexadecimal 54 en la primra direccidn RAM del bloque de direccio-
nes que conforman el anuncio. Esto es necesario debido a que la subttuti-
na "PARRAMTt requiere inicializar el registro indexado IY con una direc-
ci6n determinada, gu€ es la dirección a partir de la cual se graba el
anuncio. Por el morento, consideremos la subrutina"PARAl4'r como una sub-
rutina utilizada para grabar.
Para lograr que en eI instante de nostrar el anuncio solo aparezcan los
caracteres que lo conforman, ie requiere colocar en ceros unas cuantas
direcciones que van antes y después de las ocupadas por el anuncio.
Cono ejemplo analicemos el siguiente caso :
Se tiene un display de 6 dlgitos y se desea rpstrar en él la palabra
rrUAOrr, conformada por 3 dígitos. Antes de la posición de nBmoria fdirec-
ci6n), donde se encuentre grabado el primer dígito, o sea la U, sQ r€-
quiere grabar cinco ceros, para de esta forma garantizar en primera ins*
tancia'la visualización únicamente de la U. El presente eJemplo, desa-
rrollado paso a paso, conforme recorren los dfgitos el display, se pue-
de observar en la Figura 23.
Cuando el registro indexado avanza o corre una posicidn de memorii¡ to-
do el anuncio se desplaza una posición, paso B de Figura 23- El des*
92
plazamiento del registro indexado se continua sucediendo progresivamente
de una en una posici$n de rpnoria hasta que se complete todo el anuncio
y necorra todos los seis dfgitos del display' pasos de A a H de Figuraz3'
UA
Pasos
A
B
c
D
E
F
G
H
I
UAO
. _uag__ua9__UAO
AO
0
U
FIGT'RA 23. FOR},TA DE ROTACIOT{ DE DIGIIOS EN DISPI.AY
En el presente proyecto, el display consta de 50 columnas o dfgitos' Es-
to implica que se tengan que colocar en ceros los contenidos de cihCU€h*
ta direcciones de memoria RAM antes del punto donde se graba el primer
caracter y cincuenta direcciones de memoria después del último caracter
del anuncio. La labor de cargar con ceros dichas posiciones de memoria
es realizada por la subrutina'rBlancosrt en cornbinacidn con los registros
Bvc.
Al seguir el diagrama de flujo 3 del apéndice 'J'0, entender la for*
93
ma como opera la subrutina "54 Inicto Anuncio't se hace más fáci.l. La sub=
rutina en mención ejecuta los siguientes procesos :
1. Cargar el registro C con el número hexadecimal 54, el cual indica
el comienzo del anuncio.
Z. Cargar los registros B y C inicialmente con ceno. La subrutina "PARRAI4'I
posteriormnte utiliza uno de los dos registros para grabar.
3. El contenido de los registnos B y C (00 y 00) son grabados por"PARRAM"
en el inicio del bloque de memoria RAM pertenenciente al anuncio.
4. Se graban.los 48 cenos restantes nediante la subrutina "BLAI'lC0Srr-
Al terrninarse la ejecucidn de la sub-rutinart54 Inicio Anuncio", la rErllo*
ria RAI'I queda lista para que en el lugar 51 se comience a grabar el pri-
mer caracter que será mostrado por el display.
Et indicativo de que el anuncio ha finalizado y la llenada de ceros en
las cincuenta direcciones posteriores al últirno caracter es efectuado porotra
subrutina denominada 'r55 Final Anuncio".
7.3 "5sFINAL ANUNCIO"
Esta subrutina se ejecuta cuando la tecla "LINE FEED" es presionada. Di-
cha tecla debe presionarse solamente cuando eI anuncio haya sido graba-
do por completo. El campo de acción de la subrutina en mci6n se desarro-
lla al final del anuncio, por tanto ella deberá grabar blancos inmedia-
tamente después del último carácter, para conseguir que ningfln carácter
extraño apanezca. al final del anuncio. La base o el principio por el cual
es necesario completar con ceros las partes iniciales y finales del dhurl*
cio está explicada en la subrutina "54 Inicio Anunico".
Para entender el funcionamiento de esta subrutina se puede seguir eI
diagrama de fluio 2 del apéndice 10, el cual básicamnte comprende
los siguientes pasos :
1. Llamar la subrutina "Blancos", la cual grava 48 ceros.
2. Mediante la operación ldgica XOR se hace el contenido del acumulador
A igual a cero y de esta forma posterionnente.al cargarse los regis-
tros, L, B, C, D y E con el contenido del acumuladon, dichos regis-
tros quedan también con su contenido en cero.
3. La subrutina PARRM carga el registro H con el n0mero hexadecimal 55'
el cual serrirá de indicativo al programa para que salte al finalizar
de mostrar el anuncio a otra funci$n cualquiera requerida por é1.
Las posteriores instrucciones tienen como propósito t'gualar el tiempo
de ejecuctón del aviso que se desea mostrar a un tiernpo de intervalos
usados como parámtros, es decir ajustar el tiempo del anunci'o a un in-
95
tervalo de tiempo previamente fiJado por el programa. El náximo anuncio
que se podrá r¡ostrar en el display tendrá una extensión de 200 caracte-
.res. Los 200 caracteres están confornados por 1200 columnas, las cua-
les se han dividido en ocho bloques de 150 columnas cada uno para fa-
cilitar el ajuste de tiempo. Cuando se graba un anuncio y su núrnro
de columnas no enmarca exactamente dentro de las divisiones de los ocho
bloques preestablecida, es decir el número de columnas no es múltipo
exacto de 150, otra subrutina denominada rrCOl4CEtr se encarga de completar
con ceros las columnas faltantes para que se cumpla la exactttud a mul-
tiplos de 150 columnas. Esta subruttna, uCOMCErt, además de completar
con ceros, corre o traslada el indicativo 55 hasta el final de uno de
los ocho bloques hasta donde llega la extensidn del aviso.
En resumen, un aviso en su extensidn puede estar ubicado desde el blo-
que nfimero 0 al nÍimro 7. El número del bloque hasta el cual llega el
aviso en forma justa por defecto es guardado en la dirección de memoria
27EA El contenido de esta dirección se carga en el registro acumula-
dor y de esta foma se conpara el contenido con el bloque escogido y po-
der hacer el ajuste de tiempo requerido para ese bloque. Los ochos blo*
ques están enumerados del 0 al 7. La comparaci6n se hace en forma pro-
gresiva, partiendo del bloque 0 hacia el 7. Una vez se haya identifica-
do el bloque, la subrutina I|BLOQUE' completa con ceros en caso de nece.
sidad, las columnas faltantes hasta copar exactamente el nfimero de co-
lumnas del bloque seleccionado. El ajuste de tiempo es cargado en for-
ma hexagesimal en el registro acumulador, para posteriormente grabarse
en la :drlrecci6n2TEL .
96
En forma general el programa monitor Se puede dividir en dos rndos, un
modo para el anuncio y otro modo para eI reloj. Mediante una bandera
o señal, el programa monitor se da cuenta que el modo anuncio ha fina-
lizado; dicha bandera es grabada en la direccidn de memoria 27.DF.. Cuan-
do la dirección ?7DF posee como contenido el número 00, es indicativo
que el programa monitor se encuentra en el mdo de anuncio.
Cuando la direccidn ?7DF posee como contenido el número 01, es indica*
tivo que eI programa monitor acabó con la grabacidn del anuncio y se en-t
cuentra en el rnodo de reloj.
La subrutinarr55 Final Anuncio" graba tanüién a partir de la posición
de memoria 27.80 una serie de códigos hexadectmales que conforman una
subrutina denominada "R.EL0RAI4I, la c'ual es llamada cuando el programa
monitor se encuentre en ejecución. La secuencia de grabación de los c6-
digos hexagesimales se realiza en el siguiente orden y a su vez estos
comesponden a :
- llamado de la subrutina 'r54 Inicio relojr'.
- llamado del primer dígito de la hora.
- llamado del segundo dfgito de la hora.
- llamdo de los dos puntos.
* llamado del primer dfgito de los minutos.
- llamado del segundo dígito de los minutos.
- llamado del espacio.
- llamado del prinrer dlgito del día.
- llamado del segundo dígito del día.
97
- llamado del espacio.
- llamado del mes
- contenido del código de netorno.
La secuencia en la cual el usuario debe grabar los datos requeridos, pi-
ra implernntar el sistema en memoria RAIII es :1. * Anuncio.
2. - Hora.
3. - Dla.
4. - Mes.
5. * Añ0.
El pnograna monitor identifica sf la tecla presionada es usada para in*
troducir datos al modo del anuncio o al modo del reloJ. Esta identifi-
caci6n se hace posible grabando en el contenido de la direccidn 27EZ
el valor de 00 cuando las teclas son usadas para escribir el anuncio ó
grabando en el contenido dela misma direcci6n el valor de 0l cuando las
teclas son usadas para escribir lo concerniente a hora y fecha. La sub-
rutina BORRAM, cada vez que se inicializa o resetea el pnograma hace el
contenido de esta posición de merpria (..ZltZ.) igual a 00.
98
7.4 suBRUTINA hoRRAM"
Esta subrutina es ejecutada por el programa monitor inmediatamente des-
pués de que el sistema se energiza. El programa monitor requlere de un
área de memoria RAH para grabar én ella unos indicativos de control pa-
ra las subrutinas. Dichos indicativos son llamados por el rnnitor pos-
teriormente, y pueden ser 0, l, 2 o cualquier Otro nfimeno' pero general-
mente los más utilizados son el 0 y el 1. La subrutina "B0RRAM" se en-
carga de limpiar el área que necesita el rnnitor en RAI'I para grabar los
indicativos de control rpncionados; esta limpieza se realiza colocando
todas las posiciones de mmoria Ml4 utilizadas por el rnnitor en cero.
0bservando el diagra de fluio 7 de el apéndice '10, se puede entender
mejor el funcionamiento de esta subrutina, gu€ esencialmente eiecuta las
siguientes operaciones :
1. Cargar el registro B con el nfimero de direcciones MItl usadas por el
rpnitor.
2. Hacer el contenido del registro acumulador A igual a ceno.
3. Cargar el registro IX, con la última direcci6n del área RAM usada
por el rnonitor.
4. Cargar el contenido del acumulador, que es cero, en la direccidn in-
dexada.
5. Decrementar el contenido del registro B en uno, lo
tenido del registro indexado.
6. El programa entra en un ciclo en el cual se conpara
registro B con cero.
mismo que el con-
el contenido del
99
En cada ciclo el acumulador A es cargado dentro del contenr'do de la di-
reccidn indexada. El programa sale del ciclo cuando el contenido del re-
gistro B es igual a cero¡ esto sucede cuando toda el área RM usada por
el monitor ya es cero, que es el objetivo de la subrutina.
Univrnidrd lufo¡r¡¡¡nn f' l¡¡4r¡it0rprn I'1,
100
7.5 SUBRUTINA,PARRAM]
Los caracteres que conforman el anuncio que se desea visualizar en el
display, deben ser grabados en Ia memoria RAl4 por el programa monitor.
Cada vez que el monitor graba caracteres en la memoria RAM, hace uso
de la subrutina "PARRAII|". Esta subrutina utiliza los registros indexa-
dos Ix e Iy para llevar un orden sucesivo de las direcciones en las cua-
les se han grabado cada uno de los caracteres a mostrar. Esta subrutina
se utiliza tanto en el modo anuncio como en el modo reloj, cambiándose
solamente la dirección de arranque que es diferente para cada uno de
los dos nodos. La subrutina "ESCOPARRAI4'I identifica cual es la dirección
de arranque, dependiendo del modo en el cual se esta trabajando.
Los caracteres, tal cono se explica en las subrutinas que los conforman'
están compuestos por una serie de cddigos hexadecimales, los cuales son
cargados en cada uno de los registros L,':8, C, D, E y H. La subrutina
IPARRAM" se encarga de trasladar el contenido de los registros rnncio-
nados, en el orden enunciado, a unas posic'iones de memOria lOs cuales
son cada vez menores respecto a la dirección de arranque. Al mismo tiem-
po, mediante el registro indexado Ix se puede visualizar el caracter
grabado.
Mediante el análisis del diagrama de fluio I del apéndice 10 se pue-
de entender méjor el funcionamiento de esta subrutina.
1. El registro indexado Ix es colocado en la direcci6n 27AC, direccidn
en la cual se graba el número 54 hexadecimalr gu€ sirve de indicati-
101
2.
3.
vo para el inicio del anuncio.
EI r:ontenido de Ia direccidn ZTAC se carga en el acumulador para
poder realizarse la comparaci6n con el cddigo 54.
Cuando la tecla que se presiona corresponde al primer caracter del
anuncio, la direccidn 27Ae. tendrá cono c,:ntenido un código diferen-
te a 54; en este mor¡ento, el registro indexado Iy se carga con el
contenido correspondiente a la identificaci6n de la prirnra tecla
presionada, es decir eI contenido almacenado en 27tr9 .A partir de
esta direccidn se comienza a grabar el anuncio.
Es necesario conservar el contenido del registro Iy cada vez que se
utiliza la subrutina en r¡ención, por tal razdn el registrn Iy solo
es utilizado en esta subrutina. Para poder ser visualizado el conte-
nido de este registro, se utiliza la suhrutina "SCAN}.Dicha subruti-
na utiliza el registro indexado Ix, por tanto se debe cargar Ix con
el contenido del reigstro Iy. Para poder cargar Iy en Ix, se utili-zan dos instrucciones. Primero, el registrc Iy se carga en el con.te-
nido de la dirección ZTFJ ; segundo, el contenido de la dirección
27Fl se carga en el registro Ix. De esta forma, el registro Ix con-
tendrá finalnente el valor donde comienza el caracter correspondien-
te a la tecla que esta siendo presionada.
De Ia subrutina 'TPARRAM" se retorna al programa principal cuando la
última posición de mrpria grabada en Iy contiene el c6digo 55 en
hexadecimal que indica la finalizaci6n del aviso. Si n9 encuentra el
código 55, la subrutina "PARRAM'| continua.
El contenido del regÍstro L es cargado en la dirección indexada por
el registro Iy. Posteriorrnente se decrementa el registro Iy en una
4.
5.
6.
L02
posici6n de memoria para grabar el contenido del registro B y se lla-
ma la subrutina 'iCONTACAR", la cual se encarga de llevar la cuenta
de los caracteres grabados. Después, el contenido del registro B es
cargado en la dirección indexada. Como el regtstro Iy ha sido decre-
mentado para grabar el contenido del registro B, el contenido de la
dirección Iy + 1 contendrá el registro L. Dicho contenido es graba-
do en el acumulador A, para poder comparar el contenido del re$isttt
L con cero. Cuando L es igual a cero, la subrutina ttp¡¡ffirrgraba to-
dos los seis dÍgitos en la dirección señalada por Iy. Cuando el con-
tenido del registro L es difeyente de cero' se compara el contenido
del registro C con cero; esta comparacifin es efectuada a través del
registyo acumulador A. Si el contenido de registro A es ceno' la sub-
rutina 'TPARRAM" solo graba hasta el registro c y en caso contrario si
el contenido de A es otrq, el registro idexado Iy se decrementa de
nuevo, se llama la subrutina'TCONTACAR" y el contenido del registro
C se graba en la direcci6n indexada por \y.
Posteriormente, se decrementa nuevarBnte el registro Iy y se llama
la subrutina "C0NTACAR'I, luego graba el contenido del registro D en
la di'reccifin indexada. De nuevo, el contenido del registro L es con-
parado con cero; sf la comparación es afirmativa, se continua graban-
do los seis registros por medio de la subrutina "PARRAM'|r ett cdSo coll-
trario, sf la comparaci6n es negativa, se graba hasta el registro E
si el contenido de este registro es cero, y se continuan grabando los
seis registros si el contenido del registro E es diferente de cero.
De la misma forma se graba también el registro H y posteriormnte se
103
llama la subrutina "CONTACAR''.
El númro de registros utilizados en la grabacidn de caracteres' es car-
gado en el contenido de la dirección 27E5 Esto significa : cuando el
carácter correspondiente a la tecla presionada utiliza los seis registros
mencíonados (1, B, C, E y tl), el contenido tle la direcctÚn 27E5 conten-
drá el núnero 06. A mdida que se presionan más teclas, el contenido de
la direccifn Z7¡S se incrementará, pero el valor corlrespondiente aI nú*
rpro de caracteres de la última tecla presionada es almacenado en el con-
tenido de la direcct6n 2786 . Las posteri'ores instrucciones se encargan
de visualizar el carácter corFespondiente a cada una de las teclas pr€-
síonadas. La subrutina "PARRAIIII para poder comnzar a visualizar, prime-
ro compara el contenido del registro H con el código hexadecirnal SS. Cuan-
do la comparación es afirmativa, o sea que el códtgo SS está almacenado
en el contenido del registro H, la subrutina r€torna, Cuando el código es
diferente, o sea que la comparaci6n es neEativa, la subrutina procede a
mirar las posiciones de nemoria donde se al¡nacena el orden de la tecla
presionada para Ia hora, fecha y año' para de esta fOrma conparar enton=
ces el contenido del negistro H con oA. Si el contenido del registro H
es di'fenente a oA se procede a visuali'zar' y cuando es tgual el conteni-
do de H con oA se procede a comparar el contenido de la dirección 27Ez
con 00. Si esta últina conparaci'ón resulta afimativa, el flujo del pro-
grama retorna al programa principal; si la comparaci6n es negativa' o
sea que el contenido de la dirección 27$ es diferente de 00, se pro-
cede a yisualizar.
EI procedimiento o la forma para poder visualizar los caracteres se rea-
104
liza retornands el valor del negtstro tnde¡rqdo IX at valor que este regis-
tro poseía al comienzo de la subrutina. Dicho retorno se logra llamando dos
veces la subrutina "INTRE". Posterior al retOrno, €l registro B es carga-
do con un valor, el cual es utilizado por Ia subrutina "sCAltl" y permite vi-
sualizar por un tiempo determinado los caracteres, El tiempo de visualiza-
ción, es el tiempo que demora en decrementarse el contenido del registtu B
de uno en uno hasta 00. Una vez finalizado el ci'clo de retardo, el regis-
tro indexado Ix se coloca en su valor orfginal, pero restándose seis posi-
siciones de memoria. Finalmnte eI flujo del programa de la subrutina "PA-
RRAI'!" retorna al programa principal.
105
7.6 suBRUTINA.PARRAMH0M"
Esta suhrutina se desarrolla cuando las teclas que se están presionan-
do corresponden a caracteres utilizados para seleccionar la hora y fe-
cha. En una palabra, esta subrutina trabaja en el rpdo reloi.
En el diagrama de flujo 7 del apéndice 10, se puede observar su
funcionamiento, el cual básicamente es igual al realizado por la subru-
tina "PARRAM" y que es explicado por separado. La principal diferencia
con la subrutina "PARMI4" radica en el valor con el cual se inicializa
el registro indexado Iy. Dicho valor será la direcciín T?'C7.
106
7 .7 SUBRI,TINA NESCOPARRAM..
Esta subruttna se ejecuta cuando las subrutinas correspondientes a las
teclas que esten siendo presionadas soliciten de su participacidn' Pi-
ra identificar en cual de los dos modos de operación del sistema ellas
irán a trabajar.
La función básica de esta subrutina es pues seleccionar una de las dos
subrutinas, PARRAM o PARMM-HORA, dependiendo del rndo de operacidn.
Al segur'r el diagrama de flujo 4 del 'apéndice '10 se podrá entender
mejor eI trabajo de esta subrutina.
La subrutina se da cuenta sf se está trabajando en el rndo hora o en el
modo anuncio, ya que esta hace uso del contenido de la dirección de me-
moria 27DF, e\ cual ha sido cargado con cero a uno. Dicho contenido es
comparado mediante el acumulador A con eI nfimero 01,. Si la comparación
es negativa, o sea el contenido de 27DF es igual a 00, significa que el
programa está trabajando en el rndo anuncio y este llama inrndiatamente
la subrutina "PARRAM"; una vez se ejecute esta subrutina se retorna al
programa principal. Cuando el programa se encuentra en el rpdo hora, es
porque la comparación del acumulador A con 01 ha sido afirmativa' o sea
que el contenido de 27DF es igual a 01 y ha sido llamada la subrutina
"PARMM*H0RA". Después de ejecutarse esta subrutina el programa regresa
al curso principal.
107
7 .8 SUBRUTINA "BLOQUEl'
La subrutina en mención es Ilamada por la suhrutina rr55 Final Anuncior'
para seleccionar a cual bloque pertenece el anuncio a npstrar.
Cada bloque tiene 150 columnas¡ en total son ocho bloques los que con-
forman la divisi6n del máxirn anuncio a rnstrar que es de 1200 columnas
o 200 caracteres. Sobre la forma como operarrBL0QUE'r en r'55 Final Anun-
cio'r se profundiza cuando se explica el funcionamiento de r'55 Final A-
nunciot'.
Observando el diagrana de fluiol0del apéndice I0 se puede corprender
mejor el funcionamiento de esta subrutina.
La direccidn de memori a 27E7. posee en su contenido el valor del núme-
ro de caracteres que corresponde a determinado bloque. Por ejerplo, si
un anuncio requiere de 325 columnas o sea 2.2 bloques. aproximadamnte,
en el bloque 0 y el t f7E7 - contendrá 150 colunnas. En el bloque 27E7
contendrá 25 columnas. El valor de Z7ET es cargado en el contenido del
registro acumulador para poderse establecer la comparaci6n con el nfime-
ro decimal 150, que en hexadecimal corresponde a 96¡1, Sl este valor es
menor que 150, se llama a la subrutina "COMCE" para que conplete con ce-
ros la parte faltante del bloque en proceso y retorne posteriormente¡en
nues-trc caso, se completará con ceros las 125 columnas restantes del
bloque 2. Sf el valor es igual a 150, es indicativo que el bloque en
proceso esta completo y la subrutina hace que el curso del prcgrdrd r€-
torne al punto de donde fue soltcitada, es decir desde Ia subrutina
'r55 Final Anuncio".
108
7 .9 SUBRUTINA ocoMcE"
La suhrutina "COMCE'| es ejecutada cuando la subrutr'na 'IBLOQUEI Ia ne-
cesita. Su funci6n básica es completar con ceros binarios (señales ba-
ias) los espacios restantes posteriores al ú'ltimo caracter grabadoi es-
ta operaci6n se realiza cuando el núrpro de caracteres del anuncio gra-
bado no coresponde exactamente.al nflmero de colurnas del bloque corres-
pondiente. Se debe r.ecordar, tal como se explica en la subrutina "55*
FINAL ANUNCI0" que el espacio disponible para grabar un anuncio, o sea
200 caracteres (1200 columnas), esta dividido en 8 bloques compuesto
cada uno por 150 columnas. Cuando el anuncio a grabarse no es mfiltiplo
exacto de 150 columnas, la subrutina rrCOHCErr se encarga de completar con
cenos binarios los bits correspondientes a las columnas faltantes del
bloque en proceso. El proceso anterior se puede realizar en uno cual-
quiera de Ios ocho bloques.
Además de lo anterionnente expuesto, la subruttna "COMCE'i coloca al fi-nal del filtimo bloque el indicativo de final anuncto (código hexadeci*
mal 55). Analizando el diagrama de flujo .1'2 del apéndice 10. se
puede entender mejor el funcionamiento de esta subrutina.
Inicialmente el contenido del registro acumulador se carga o traslada
al contenido del registro C. El contenido del registro acumulador es en
este instante el valor correspondiente al nÍimero de caracteres del anun-
cio grabado y su valor máximo será 150 en decimal o 96 en hexadecimal "
Después de haberse cargado dentro de C el valor de A, el contenido del
registro acumulador A es borrado, pues se necesita por su intermedio
borrar el contenido de la dirccci6n que señale o indique eI registro Iy.
109
Posteriormente el valor del registro C es retornado aI contenido del
registro acunulador An pues se necesita reEistrar el conteo de carac-
teres hasta 96 en hexagesimal. Se decrementa el registro Iy para selec-
cionar y dejar lista la dirección en la cual se debe borrar su conte-'
nido. El contenido del registro acumulador se compara con 96¡1 (1541q).
Cuando el resultado de la conparaci6n es diferente a 96H, el conteni-
do del registro acumulador A es incrementado y se establece un ciclo
mediante el cual se colocan ceros binarios en el,:contenido de la direc*
ción de memoria indexada por el registro Iy hasta que el contenido del
registro acumulador A sea igual a 96H* morpnto en el cual se h.a finali-
zado de completar con ceros el b.loque en proceso.
Pa¡a cargar en eI contenido de la dirección indexada por el registro
Iy el c6digo hexadecimal 55 de final anuncio,se debe cargar previanen-
te el contenido del registrc acumulador con este valor. Finalmnte el
registno indexado Iy es decrementado para deiar listo el registro in-
dexado en la posición en la que lo requiere la subrutina 'rPARRAIilr. Pos-
teriormente el curso del programa retorna al punto donde fue Ilamado.
llnirsico¡'trhtfiomfl C.' 0ttid*n!¡
llrp:l Pi[¡r ' ''1
110
7.ra suBRUTINA'PRINH0R"
Esta subrutina se ejecuta al presionar cualquiera de las teclas que con*
fonnan los nümercs utilizados para grabar la hora y la fecha.
Esta subrutina inicializa el registro tndexado Ix en la direccidn del
dlgito menos stgnificativo del código que se utiliza en la grabación de
las hol^as, ninutos, días, [Eses y añOs, ademáS de encargarse de llevar
un control para reconocer cada una de las teclas que han sido presiona-
das respecto a un orden previarnnte establecido. Esto es tndispensable,
pues el pnograma debe darse cuenta que la tecla presionada, el númeno,
corresponde a la hora o a los minutos, o d los dtas, o i los meses o a
los años. Cuando se está grabando en el registro indexado los códigos
que identrfican las teclas presionadas, este registro cada vez que se
carga con un código, se incrementa en trcs o seis posiciones de memoria
dependiendo del modulo.(horas, minutos, dlas o mesesl, que se esté gra-
bando en el rpmento mediante el uso de la subrutina I'INTRE". En la di-
recci6n?.7E_3 se va guardando el código que identtfica a cada tecla.
Dichos códigos son :
Códi go
01
02
03
Tecla Correspondiente
Primer dfgito del código de la hora
Segundo digito del código de la hora
Priner dfgito del código de los mi-
nutos.
Segundo dfgito del código de los
minutos.
04
En la direcctón ?7EZ se almacena tarüién un código que.identifica el
n6dulo en el cual el programa monitor está trabajando. El orden por có-
digo establecido es :
05
06
Q7
08
09
OA
Códi go
00
01
02
03
04
111
Primer dfgtto del c6dtgo del dfa
Segundo dfgito del .d¿igo del dia
Primer dtgito del c6dr'go del mes.
Segundo dfgito del código del mes.
Primer dígito del código del año.
Segundo dfgito del cddigo del añ0.
M6dulo Correspondiente
Anuncio
Hora
Dfa
Mes
Año
Con el
jor el
en:
diagrama de flujo 14 del apéndice '1O , se puede analizar me-
funcionamiento de esta subrutina, la cual básicamente consiste
l. Cargar el registro indexado IX con la direccidn 27Ct' dirección en
la cual se empieza a grabar el dígito menos signtficatrlvo correspon-
dtente a la direcci6n del bloque de rn¡oria, donde se graba la hora
y fecha deseada, dependiendo de las teclas de nfirBros presionadas.
712
El dfgito más significativo es igual para todos los núrnros que son
usados en el modo-hora y es grabado por la subrutina "55 FINAL ANUNCI0"
2. Cargar el contenido de la dirección 27E3 código de identificación
de la tecla presionada, en el registro acumulador A. InicialrBnte
esta direccidn tiene su contenido en 00, ocasionado por el efecto de
la subrutina "B0RMM".
3. Se incrementa el contenido del acumulador en 01 para de esta forma
cambiar el orden de Ia tecla presionada.
4. El contenido del acumulador es comparado.con.cada'una de las diez.'po-
Sibilidades de identificación que existen para velacionar la tecla
del núnpro presionado con el código que equivale al prirer o segundo
dfgito de las horas, minutos, dfas, mses o años. Compara inicialrnn-
te con 01., posteriorrnnte con 02 y asf sucesivamente hasta 09.
5. Cada vez que una de las comparaciones antes mencionadas se cumple, eI
contenido del registro acumulador A es trasladado o cargado en el
contenido de la dirección 27E3 punto este donde se almacena eI c6-
digo de orden que identifica cada tecla presionada.
6. Se incremnta el contenido de la dirección 27E2 la cual lleva el
orden por módulos, al hacer uso del.acumulador. Hay que tener en
cuenta que el acumulador posee en ese instante como contenido, el
valor de la dirección 27E3 por tanto dlcho valor hay que salyarlo
mediante la instrucción "EX". Una vez haya sido incremntado el con-
tenido de la di¡sssif¡ 27E3 el contenido del registro acumulador
es retornado también mdiante la misma instrucci6n "E)1".
113
7. Después de que se efectue cada comparaci0n, la suhrutina 'rINTRErl
es llanada para incrernntar el regtstro tndexado en tres o seis po*
siciones de mmoria, y poder de esta forma gravar en la dirección
correcta el cddigo que representa la tecla presionada.
114
7.LI SUBRUTINA'TNTRE,
Esta subrutina es utilizada por varias subrutinas. Su función básica es
incrementar en tres posiciones de mernria el valor en el cual se encuen-
tre el registro indexado IX. Analizando el diagrana de fluJo 5 del
apéndice 10 observamos lo siguiente :
Para ejecutar la operación de incrementar en tres, ante la imposibili-
dad de hacerlo con una sola instrucción directament€, Jd que eI Z*80 no
cuenta con una instrucci6n rnatemáttca que reduce esta operacr'dn¡ €s h€*
cesario utilizar un registro par, en este caso el registro par DE car-
gado con 03. El registrc DE en este casO será utilizado como el opera-
dor d para la operación matemática IX + d. Después de adicionar 03 al
registro IX, eI PC [contador de programa) retorna al programa principal
mediante la instrucci6n de retorno.
115
7 ,Lz suBRUTINA "co¡ltAcAR'j
La presente subrutina se eJecuta cuando la subrutina ttPARRAtl¡r necesita
de ella. Su función básica es la de llevar el conteo de los caracteres
que actuan en un determinado bloque y almacenar el nflrnero de columnas
necesarias para conformar el filtimo caracter presionado.
Observando el diagrama del flujo ..15 del apéndice 10 se puede com*
prender mejor el funcionamiento dela subrutina en mnción. Inicialmente,
en el contenido de la direccidn 27DF se almacenará un 00 o un 0L si es-
tá operando en el nodo anuncio o en el nndo reloj respectivamnte. La
subrutina detecta que se está operando en el nndo anuncio después de e-
fectuarse una comparacidn entre el contenido del acumulador A y 00. El
acumulador ha sido cargado previamente con el contenido de la dirección
27DF. Si la comparacidn es afirmativa, o sea sl el contenido del regis-
tro A es igual a 00 |a subrutina "C0NTACAR" continua en eiecuci6n, de o-
tra forma el curso del programa retorna al punto de llamado. En el con-
tenido de la dirección i2.7E5 se ha almacenado el número de columnas ne-
cesarias que conforman el útlinn caracter presionado.
Dicho valor es trasladado al contenido del registro A (-que es utilizado
como puente), y posteriormente cargado en el contenido del registt'o B,
que a su vez es incrementado de uno en uno. Corp el registro B es uti-
lizado también en otras subrutinas, para poder utilizar dicho registro
en la presente subrutina se debe salvar su contenido al principio y re-
tornarlo al final de su ejecución.
EI
te
1L6
sumador del registro B en resumen incrementará el valon correspondien-
al núnero de columnas neceSarias para conformar el últtmo caracter.
Paralelamente al proceso de incrementar el contenido del registro B, el
contenido de la dirección de nBmoriaZTET que conserva el núrpro de ca-
racteres que intervienen en un bloque determinado (náximo150 colurnas),
es cargado dentro del contenido del registro acumulador A pa.ra de esta
forma poderse originar otro sumador de incremento igual a una unidad y
posteriormente establecerse una comparacidn con el nfinero 151 en decimal
o 97 en hexadecimal. Si la comparación es afirmativa, o sea sf el conte-
nido del registro A es igual a 97¡, significa que se ha corpletado un
bloque y entonces el contenido de la direccidn 27E0 que contiene eI nú*
mero del bloque en proceso es cargado dentro del acumulador para poder
incrementarse en uno. El nuevo valor incrementado, que se encuentra al-
macenado en A, es retornado al contenido de la dirección 27E0. Si la com-
paración es negativa, o sea sf el contenido del registro A es diferente
a 97¡, significa que no se ha llegado al tope de 150 caracteres por blo-
que, por tanto las direcciones 27.E7 y 27E5 son cargadas con los nuevos
valores de A y B respectivar¡ente. Finaln¡ente la subrutina retorna al pun-
to de llamado.
117
7.I3 SUBRUTINA''ESCOPARII
Esta subrutina es utilizada en el modo reloj, más exqctrnente en lq e=
lecctdn de los meses. El procedimiento rBdiante el cual se establece sf
un mes dado es de 30 o 31 dfas es realizado al dividirse los mse en dos
grupos. Meses panes y neses impares. Los neses se han numerado desde E-
nero (01) a Diciembre (12), por tal razón se han considerado como nrcses
pares a : Febrero., Abril, Junio, Agosto, 0ctubre y Diciembre y meses im-
pares a : Enero, Marzo, Mayo, Julio, Septiembre y Noviembre. COmo se ob-
serva, pueden existir meses pares de 30 a 31 dlas y meses impares de 30
o 31 dlas. Mediante un indicativo, la subrutina "ESC0PAR" le indica al
modo reloj sf el mes seleccionado es de 30 o 3l dlas.
0bservando el diagrama de fluio 13 del apéndice '10, se puede enten-
der mjor el funcionamiento de esta subrutina, la cual básr'camente ejecu-
ta los siguientes pasos :
l. En la direccifn 27EF se almacena un cddigo hexadecimal correspondien-
te al ms deseado. Dicho código, va desde 0l para el ms de Enero has-
ta 0C para Diciembre.
2, El contenido de 27EF es cargado en el registro acumulador A, para
de esta forna compararse con 01 o 00. Si Ia comparacidn es diferente
de 01, el acumulador es restado en dos y se realiza de nuevo la com-
paraciln con 01 o con 00. Este ciclo se sigue repttiendo hasta que el
contenido del acumulador sea 01 o 00.
1. Si el acumulador finalmnte tiene como contenido 0.1, es porque el mes
en anáIisis es inpar, entonces el contenido de la dr'rección 27EF
es cargado nueyamnte en el registro acumulador A para poder ejecu-
118
tarse una nueva conparación, esta vez con el nfinero hexadecimal 06.
Si el acumulador tiene como contenido un n0mero menor a 06, €S poP'
que el nes seleccionado es de 3l dfas. Se procede entonces a colo-
car un indicatt"vo, 01., en el contenido de la iireccifn2TEE . para
indicar que el mes que se esta corriendo es de 31 dfas. En caso con-
trario, st'el acumulador tiene como contenido un nÍimero mayor a 06,
es indicativo que el mes seleccionado es de 30 dfas. Se procede en-
tonces a colocar el indicativo en el contenido de la dt'rección 27,E8
en este caso 00, para indicar que el res que se esta comiendo es de
30 dfas.
4. Si el acumulador finalrpnte tiene como contenido 00, es porque el
mes en análisis es par. Posteriormente el contenido de la dirección
Z,ryF es cargado nuevamente en el acumuladotr para establecerse una
comparacidn con el número hexagesimal 07. Sf el contenido del acumu*
lador es npnor de 07, significa entonces que el mes seleccionado es
de 30 dlas y se procede a colocar en 00 el contenido de la direcci6n
27tE . En caso contrario, si el contenido del acumulador es mayor
de 07, significa que el mes seleccionado es de 31 dfas y se Proce-
de a colocar en 01 eI contenido de la direccidn '?7EE'^' Finalrnnte
cuando el indicativo es colocado, el flujo del proErama retorna al
prograna princiPal.
r.19
7 .L4 suBRUTINA"BLAt'tcof
Esta subrutina se eJecuta cuando cualquiera
ANUNC.IO", ,,54 INIerO ANUNGIO", "54 REL0JI y
funcidn básica es la de grabar 48 ceros en
cesivas para lograr el obietivo de Iimpiar o
al principio y al final de cada sistena.
de las subrutinas 'r55 FtNAl.
I'RETURN" la solicitan. Su
48 posiciones de memorid SU*
borrar caracteres extraños
Mediante el diagrama de flujo 11 del apéndice 10 se puede entender
mejor el funcionamiento de la presente subrutina.
Inicialmente se carga el contenido del registro B con el valor de 08 y
de esta forma establecerse un ciclo de ocho vueltas con el propósito de
ejecutarse ocho veces la subrutina "ESPICIO". Corno la subrutina 'TESPA-
0I0" necesita también de registro B, es necesario salvarlo para poder
conservar el conteo de caracteres que se realizó en "ESFACI0". Dicho ve-'
gistro se salva con la instrucción PUSH BC y se retorna con la instruc-
ci6n POP BC. Cada vez que se llama la subrutinarrEsPAei$'r se gravan 6
ceros equivalentes a 6 blancos; como la subrutina "ESPACI0" es llamada
I veces, entonces se gravan 48 ceros en total. Cuando el registro B es
cero, es indicativo de que se han grabado 48 cenos en total e innndiata*
mente el curso del programa retorna al punto de donde fue solicitado.
Itai-¡l¡'r.;4f.i ¡':rti¡r!¡¡r:¡ *¡ nn¡¿lntr'¿t)'r, fi'lit ir"1¡
t20
7.15 SUBRUTINA'IRELOJ''
Subrutina ejecutada ante el llamado de la subrutina "RETURN", Esta sub-
rutina para su funcionamiento normal necesita de otras dos subrutinas
denominadas "AJUST¡rr y "FECHAII. La primera se encarga de mantener el
ajuste de ti'empo correcto y la segunda actualiza el dfa, el ms y el
año.
La subrutina "RELOJ'Ibásicamente consiste en un contador para Ios minu-
tos y un contador Para las horas.
Itadiante el diagrama de fluio 7-9 del apéndice l0 se puede seguir
el desarrollo de Ia presente subrutina.
- InicialnBnte la subrutina "AJUSTE" es llamada para recuperar los va-
lores almacenados en 1F68 $ 1F6A
- El valor del segundo dfgito de los minutos alamacenado en el conteni-
do de la dfrección 27CD es trasladado al registro acumulador A para
compararse con 09¡¡.
* Cuando no se cumple la comparación, se establece otra comparación
con 00g
Si esta última comparación se cumple' Se procede a restar en 18¡ el
valor almacenado en el registro acumulador A para lograr que el segun-
do dfgito de la hora pueda colocarse en 01. Si la comparaciÚn no se
Lzl
cumple, se procede a sumar en 03, el valor almacenado en el registro
acumulador A para lograr que el segundo dfgfto del tlfa pueda colocarse
una cifna m{ls adelante de la contenida previamente. En ambos casos el
contenido final det registro acumulador A es trasladado al contenido de
la direccidn. 27CD
En este tnstante se actualizan los minutos y la subrutina r€torna.
- Cuando se cumple la comparación del segundo dfgito de los minutos
con 09¡ el registro acumulador A es carEado con 00¡ y trasladado este
valor a la dirección 27CD. Posteri'ormente el contenido de la direc-
ci6nZTCAen la cual se encuentra almacenado el valor del primer dígi-
to de los minutos es cargado en el acumulador para establecerse una
nueva comparacidn con el valor correspondiente a 00.
- Cuando Ia comparación se cumple, el contenido del registro acumula=
dor es decrementado en 18¡.¡ para hacer uno el yalor del prirnr dtgito
de los minutos, se actualizan los mi'nutos y se r.etorna al punto de lla-
mado.
- Cuando la comparacfdn no se cumple, el contenido del registro acumu-
lador A es incrementado en 03.' para obtener un valor inmediatarente
posterr*or al contenido por el priner dfgito de los minutos en ese ins-
tante. Este nuevo valor es comparado con 06g.
- Cuando el primer dfgito de los minutos es diferente de C6gr es tras-
122
ladado este valor al contenido de la dirección nCA, se actualizan los
minutos y la subrutina r€torna.
- Cuando el priner dfgito de los minutos es igual a 06¡' se carga con
el valor de 00¡¡ el contenido del acumulador y se hace 00¡¡ eI contenido
de la divección 27CA también.
El primer dfgíto de la hora que se encuentra almacenado en el contenido
de la direcci$n 27C1 es cargado en el registro acumulador A para poder-
se establecer una nueva conparacffn con el valor que debe tener el 'res-
paciorl
- Si la copparacidn se cumple, el valor del segundo dfgito de la hora
almacenado en la dirección 27C4 es cargado en el registro acumulador A
para poderse de esta forma i'ncrementarse en 03¡¡ y retornarlo ya modifi-
cado al contenido de la direccidn 27C4.
El nuevo valon del segundo dfgito de la hora es comparado por interrn=
dio del acumulador con el valor correspondiente a cero. St la compdrd=
ci6n se cumple se hace el contenido del acumulador igual a 01 y este
valor es trasladado al contenido de la direccfón 27CL ' o sea que se
modifica el valor del prirner dfgito de la hora. St la conparación no
se cumple, la subrutina retorna habiéndose ya actualizado la hora.
- Si la comparación no se cumple, o sea que el contenido de la direc-
ci6n 27C1 es diferente a espacio, el valor del segundo dfgito de la
123
hora almacenado en 27C4 es trasladado al r"egfstro Acumulador A para
poderse de esta forma compararse prirnero con el valor corr€spondiente
a cero y posteriormente con el valor correspondtente a uno. Si la pri-
mera comparación se. cumple, o sea que es cero, el registro acumulador
es cargado con 01 y se procede a actualtzar el valor del segundo dfgito
de la hona. Si la primera comparación no se cumple, se procede a coÍtpd-
rarse con 0I. Si es diferente el valor almacenado en A a 01, se carga
el acumulador con el valor correspondiente al espaci'o y se traslada dt-
cho yalor a la direcctón 27Cl para actualizar de esta forma el primer
dfgito de la hora-
Si el yalor almacenado en A es' igual a 01, el contenido la dirección
que almacena el indicativo de si la hora grabada es AM o PM, la 27C8
es trasladado al acumulador A. Dicho conteni'do será 01 cuando el reloJ
se encuentra en AM y será 00 cuando el reloJ se encuentra en PM. Si se
encuentra en PM, o sea el contenido de A es 00, la subrutina rrFECHArr es
solicitada para actualizar eI dfa, el mes y el año. Posterior a la eje-
cución de "FECHA", €l registro acumulador A se hace igual a 01 y este
valor es trasladado a la dirección 27E8 para nuevamente indicarse que
el reloj se encuentra en M.
Si por el contrario, el reloj se encuentra en M, o sea que el conteni-
do de A es 01, el registro acumulador es cargado con 00 y este valor
trasladado al contenido de la dirección 27EE para indicarse que el re-
loj pasará a PM.
- Posteriormnte el
corresponde a 02, se
na.
t24
registro acumulador A es cargado con el valor que
actuall'za la hora y flnalmente la subrutina retor-
t25
7 .16 suBURUTINA "tNot'l
Esta subrutina opera ante el llamado de la subrutina rr:EECHATT y su fun-
ci6n básica es actualizar el dfa cada que transcurTlen 24 horas. Median-
te el diagrama de fluJo B0 del apéndice 10 se puede entender de
forma más fácil el funcionamiento de esta subrutina.
- El segundo dfgito del dfa, valor almacenado en el contenido de la di-
reccifn 27D6 , es trasladado al registro Acumulador A para de esta for-
ma poder establecer una comparacfdn entre el valor correspondiente a
nueve y a cero. Si el valor alnacenado en 27D6 no es nueve ni cero ¡
el contenido del registro agumülador A es incrementado en tres y este
nuevo valor trasladado al contenido de la direccidn 27D6 incremntán-
dose de esta manera el dfa.
Si el valor del segundo dfgito del día'es cero, el contenido del regis-
tro acumulador A es igualado a uno y este nuevo valor trasladado al
contenido de la dirección 27D6, incrernntándose también de esta for-
ma el dfa.
Si el valor del segundo dfgito del dfa es nueve, el contenido del re-
gistro acumulador A es igualado a cero y este nuevo valor trasladado
al contenido de la direcciín 27D6 colocando de esta forma el nuevo
valor correspondiente al segundo dfgito del dla en cero.
- El valor del prirer dfgito del dfa almacenado en el contenido de la
dirección 2703 es trasladado al contenido del registro acumülador A
126
para de esta forma compararse con el valor correspondiente al espacio.
Si el valor de 27D3 es diferente del yalor coruespondtente al espacio
(dfas desde el 10 al 3tJ, el contenido del registro acumulador A es in-
cremntado en tres y posteriormente este nuevo valor cargado en el con-
tenido de 27D3 , habiéndose de esta forma actuallzado el valor del
dfa.
Si el valor de 27D3 es igual al valor corr€spondiente al espacio, el
contenido del registro acumulador A es cargado con el valor de uno y
posteriorrente trasladado al contenido de 27D3 para actualizar el día.
Cada vez que el flujo del programa desemboca en la actualizacidn del
dfa, la subrutina retorna al punto donde fue llamada.
7.I7 SUBURUTINA I¡INME''
Subrutina ejecutada ante el llarnado de la subrutina "FLECFIA". Su fun-
ción básica es colaborar en la actualizacfón del ms y eI añ0. Median-
te el diagrama de fluio.82 del apéndice 10. se puede entender rnjor
el funcionanfento de Ia presente subrutina.
- El valor correspondiente al espacío es cargado en el registro dculllu*
lador A para ser trasladado posteriormente al contenido de la direccfdn
Z7D3 y hacer de esta forma el valor correspondiente al prinnr dfgi-
to del dia igual al valor del espacio
- EI valor del segundo dfgito del dfa es cargado con el valor de uno
rndiante la accl6n del regfstro acumulador. De esta forma el valor del
dfa es uno,
= El contenido de Ia dlreccf6n 27EF, valsr correspondiente al nÍimero
del mes, es cargado en el contenido del registro acumulador A. El con-
tenido del registro acumulador A es Íncrementado para incrementar de
esta forma el valor del mes. El nuevo valor incrementado es retornado
al contenido de la dirección 27EF
La subrutina "ESCOPAR'| es llamada para identificar st el.nuevo:valor.del
mes corresponde a meses de 30 a 31 dfas.
- El valor correspondiente al mes, almacenado en el contenido de la
direccidn 27DC es trasladado al contenído del registro acumuladon
128
para compararse con el valor que identifica al mes de dfciembre,
Si dicho valor no corresponde al
tenido del registro acumulador A
te este nuevo valor retornado al
lizándose de esta forma el valor
mes que identifica a diciembre, el con-
es incrementado en tres y posterionnen-
contenido de la dirección zlDg actua-
del mes.
Si el valor del contenido de 27DC identifica al rBs de diciemhre' el
contenido del registro acumulador A es cargado con 01 y posteriormente
este valor retornado al contenido de la dirección 27EF oara indicar
que el nns en curso será el prÍmero, Paralelamente a esta acci6n se in-
crementa el valor correspondiente al año, por tal razón el contenido
de la direccifin 27EE valor del segundo dÍgito del año, es trasladado
al registro acumulador A para ser comparado con nueve.
Si dicho valor es diferente de nueve, el contenido del registro acumu-
lador A se incrementa en tres y este nuevo valor es retornado al conte-
nido de la dlreccÍín27EC para actualizar de esta fonrn el valor del
añ0.
En este punto,nrediante el llamado de las Subrutinas'|ESC0AÑ0" y rrf$QQ*
PAR'i se seleccionan los meses de 28, 29, 30 y 31 dfas. El valor corres-
pondiente al mes de enero es cargado en el contenido del registro acu-
mulador A para trasladar de esta forma dicho valor al contenido de la
direcci6n 27DC y actualizar los valores del mes y el año.
129
Cuando eI valor del segundo digito del sñO es tgual a nuevq el conte=
nido del registro acumulador A es cargado con cero para trasladas dr'cho
valor al contenido de Ia dirección 27EC y hacer de esa forma cero el va-
lor del segundo dfgito del año.
El valor del primr dfgito del año almacenado en el contenido de la di-
recci6n27'EB es cargado en el contenido del yegistro acumulador A para
poder ser comparado con cero.
Si el contenido de 27EB es diferente de cero, el valor del prtnnn dlgt-
to del año es incrementado en tres medtante la accr'ón del registro acu=
mulador A. El nueyo valor del registro acumulador es retsrnado al con-
tenido de la direcci6n
Si el contenido de 27EB es igual a cero, el valor del prtrner dfgito del
año es conyertido en uno, cargando el contenido del regtstro acumulador
A con el yalor correspondiente al uno y trasladando este valor al conte=
nido de la dirección 27E8.
Una vez actualizado el yalor del año, son llanadas las subrutinas'rES-
C0Añ0" y "ESC0PAR" para identificar cuales meses son de 28, 29' 30.y
31. dlas.
El contenido del registno acumulador A es cargado con el valor coPt€s=
pondtente al ms de Enero y posteriormnte este valor trasladado al corl=
tenido de la direcci6n 27DC . Cada vez que el ftuJo del prograrna actua=
liza los yalores del rcs y el añ0, la subruttna retorna al puntO donde
lln¡,¿nidr#'r,h¡e1uF! rff $Ct¡ünff
".{,..n f,,f,.. .r.:n
fue llamada.
130
7.L8 SUBRUTINA I'FECHAI]
Esta subrutina se eJecuta respondiendo al llamado de la subrutina ilRE-
LOJ" y su función básica es actualizar los valores correspondientes al
día, el mes y el añ0. Para desarrollar la función enunciada es necesa-
rio que el programa nonttor identiffque cuando se deben tomar cada una
de las siguientes situaciones :
- rrrcses de 28 dfas.
- ÍEses de 29 días.
- meses de 30 días.
- rnses de 31 dfas.
El programa identifica cada una de las anteriores situacfones mediante
el reconocimiento de unos indicativos colocados en los contenidos de
las direcciones 27ED (para los meses de 28 y 29 dfas) y 27EE (para
los rpses de 30 y 31 dfasl.
Para la actualizacl6n de los valores correspondientes al dfa, el r¡es
y el año son llamadas las subrutinas 'rIND['r e "INME" en su orden res-
pectivo. Por medio del diagrama de flujo 83 del apéndice . '10 se fa-
cilita entender el funcionamiento de la presente subrutina.
- El valor del priner dfgito del dfa almacenado en el contenido de la
direcci$n zmg es trasladando al contenido del registro acumulador
para ser comparado con dos y con tres.
Si el primer dfgito del dfa es tres, tienen efecto dos situaciones a
131
saber : que el ÍEs en curso sea de 30 o 31 dfas. Mediante el contentdo
de la direccidn 27EE se podrá establecer sf el rns en curso es de 30
o 31 dfas, pues en esta direccifin se almacena un.cero o un uno, por tal
razón se debe establecer una comparaci6n con el registro acumulador A
el cual ha sido cargado previanente con uno,
Si el índicativo almacenado en 27EE es 00, los meses son de 30 días.
Se procede entonces a llamar la subrutina "INME" la cual increr¡enta el
valor del nns y coloca el valor correspondiente al dfa en 01.
Si el indicativo almacenado en 27EE es 01, Ios rneses son de 31 dfas.
Se procede entonces a hacer, el contenido del registro acumulador A
igual a 01 y posteriormente trasladas este valor al contenido de la di-
rección 27D6 incrementándose de esta manera el día de 30 a 3l'.
Sf el prinnr dfgito del dla es dos, el indicativo del rps almacenado
en el contenido de la 6'¡¡sssif¡ 27DC es trasladado al contenido del
registro acumulador A para poderse comparar con el valor correspondten=
te al rns de febrero.
Si el valor del indi'catirro del rnes es diferente a febrero, se llama la
subrutina "INDI" para actualizar el valor correspondiente al dfa. Si
el valor del indicativo del mes es igual a febrero, el valor del segun-
do dfgito del día almacenado en el contenido de la dirección 27D6
es trasladado al contenido del regfstro acumulador A para s€F colllpdl"d-
do con ocho y con nueve.
t32
Si el valor de 27D6 es diferente de ocho y de nueve' se llama la
subrutina INOI para actualizar el valor del dla.
Si el valor de 27D6 es igual a ocho se pr€sentan dos alternativas.
Que el mes de febrero sea de 28 o 29 dfas. El programa hace uso del
valor almacenado en la direcci6nZTED para la cual contiene el indica-
tivo de sf el año es bisiesto o no para conocer si' el mes de febrero
en curso es de ?8 A 29 dfas. Dicho valor es comparado por intermedio
del acumulador con 01.
Si el valor del contenldo deZ7ED es 01 el año en curso no es bisies'
to y por consi'gufente el mes de febrero contará con 28 dfas' S€ pPo-
cede entonces a llamar la subrutina "INMEI' para actualfzar los valo-
res correspondientes al dfa y el nes.
Si el yalor del indicattvo alnacenado en 27ED es 00 significa que el
añO en curso es bi$iesto, por tanto el nns de febnero contará con 29
dfas. La subrutina "INDI" es llamada para actuallzar el valor del dfa.
Cada vez que el flujo del programa desemboca en la actualización del
dfa y el rns, la subrutina retorna al punto donde fue llamada.
133
7 .I9 SUBRUTINA "SELEMES..
Subrutina ejecutada ante eI llamado de la subrutfna "ESC0MES'|. Su fun-
ción básica es la de identificar cuales neses son de 30 o 31 dtas.
El funcionamiento de esta subrutl'na se puede analizar en el diagrama de
flujo '78 del apéndice 10.
El contenido del registro acumulador A es cargado inicialmente con el
valor correspondiente al núrpro del mes. Posteriorrpnte se llama la sub-
rutina .'ESC0PAR" para por su r'ntermdio seleccionar si el mes contiene
30 o 31 dfas. Una vez ejecutada esta funcfún la subrutina retorna al
punto de llanado.
134
7 .za SUBRUTINA"Escot',tEs"
La presente subrutina es qiecutada ante el llamado por parte de cualquie-
ra de las subrutinas que conforman los nflmerns. Esta subrutina opera so-
lamente en el modo reloj, y su función básica es interpretar el c6digo
decimal (.¿e 0t a t2l introducido por el usuario al sistema y adjudicar-
le el nombre del mes correspondiente (de Enero a Diciembre), habiéndose
previamente reconocido por intermedio de la subrutina "SELElt'lES" sf el
mes a grabar es de 28, 29, 30 o 31 dlas. Utilizando el diagrama de flu*jo 86 del apéndice.l0 se puede analizar mejor la forma de operaci6n
de la subrutina ESCOMES.
Inicialrnnte el registrn acumulador A es cargado con el contenido de la
dirección27E? , gue es el va'lor comespondiente al primer dfgito del c6-
digo decimal utilizado por el usuario para seleccionar el mes deseado.
Dicho valor es conparado con 00. Si la conparaci6n es verdadera o afir-
mativa, significa que el mes deseado tiene o posee en el primer digito
0, o sea el nes puede estar comprendido entre 01 o 09 (de Enero a Sep-
tiembre).
La direcci6n 27EA posee el valor correspondiente al segundo dígito del
c6digo decimal que identifica el ¡rBs. Paralelannnte cuando las direccio*
nes .z7Eg y .Z7EAson cargadas con el prinnr dlgito del mes y segundo
dígito del rns respectivamente, la direcci6n 27EF es cargada con el
valor hexadecimal correspondiente al cddigo del mes seleccionado [de 00
a 0C). Este valor es utilizado cuando es llamada la subrutina TTSELEMES'I
para .'reconocer de cuantos días está compuesto el mes a grabarse, y por
135
la subrutina "ESCOMES" para adjudicar el nombre del rBs seleccionado se-
gún su código correspondiente. Esto se puede realizar al cargar el con-
tenido de la dirección 27EF en el registro acumulador A y posteriormn-
te en forma escalonada realizarse una serie de comparaciones desde 01 a
09. Dependiendo del contenido de la direccidn 27EF o sea de la compara-
ción seleccionada, se adjudica el nombre del ms cargando el contenido del
registro A con cualquiera de las direcciones 0F4C'.0F4F;0F52,0F55 ' 0F58
,0F58,0F5E,0F61.,0F64. PosteriorrBnte, dicho valor es trasladado por in-
terundio del acumulador A a la direccidn de memoria RAl,l pertenenciente a
la subrutina RELORAI'¡!,27DC, la cual se encarga de completar el llamado
en RM de los códigos hexadecimales en ROM que conforman los caracteres
cornespondientes a los meses. Finalrpnte la subrutina retorna al punto
de llamado. Si la comparación del contenido de 27W con 00 al inicio de
la subrutina es en canüio diferente, significa entonces que el prirner df-
gito del mes es 1 o sea que el mes a grabarse puede ser 10, 11 o 12 o OCTU-
BRE, NQyIEMBRE o diciembre. Para reconocer si el código decimal grabado
es 10, 1l o 12 se utiliza una serie de comparaciones entre el valor del
segundo dfgito del mes, grabado en 27EA y los valores que pueden ser
0, 1 o 2. Si dicho valor es 0, se carga el acumulador con 0A, si es Icon 0B y si es 2 con 0C. Esto con el fin de cargar postertornnnte ZTEFpor
interrndio de la subrutina "SELEMES" e identificar cuales rpses son de
30 0 31 dfas y adjudicar el nombre del mes seleccionado, de igual ¡nanera
a la forma expuesta en la parte inicial de la presente subrutina para los
¡neses de enero a septiembre.
136
7.ZI SUBRUTINA'I}IESESII
Grupo de subrutinas llamadas cada vez que se necesita grabar en deter-
minado mes.
Su función básica es cargar el contentdo de las direcciones de una zona
de memoria r,RAljt" preestablecida, con unos cddigos hexadecimales que al*
macenados en secuencia l6gica permiten visualizar el nombre del mes.
Se asume como patrón para visualizar los norúres de los doce meses del
año, las tres primeras letras que identifican cada mes así :
Enero = ENE. Julio = JUL.
Febrero = FEB. Agosto = AG0.
Marzo = MAR. SePtiembre = SEP.
Abril = ABR. 0ctubre = OCT.
Mayo = l4AY. Noviembre = N0V.
Junio = JUN. Diciembre = DIC.
El procedimiento para grabar un mes es el mismo paracualquiera de los
doce reses, razón por la cual se explica solamente la forma de opera-
ción lógica del r¡es de Enero.
El principio fundarnental es llamar en orden cada uno de los caracteres
que conforman las tres prireras letras del nBs.
lrledr'anteel diagrama de flujo 54 del apéndice 10 (dtagralna cortts-
pondiente al mes de enero), se puede entender meior el funcionamiento
L37
de esta subrutina.
Como se mnciond al principio,el mes de Enero se visualiza cono rrENE'l
por tal raz6n se llama y se graba en prinera tnstanci'a la letra E. Una
vez grabada. la letra E en una área de rnnoria BAI'I deftnida prevr.Orlgrl-
te por la subrutina 'TPARRAI'IHOBA", se procede q llamar y grabar la letra
N y por último se llana y se graba la letra E, conpletándose de esta
forma la palabra "ENE'| en el área de memoria RAl,l posicionada al lado
del valordela hora. Cuando esto ocurre la s.ubrutina retorna al punto
donde fue llamada.
138
7 .22 SUBRUTTNA ''ESCOAÑo"
Cuando los nfimeros están siendo utilizados para grabar el año en el modo
reloj, cada vez que se presíona uno de ellos es llamada la subrutina en
mención. La subrutina "INME" también hace que esta subrutina sea ejecu-
tada. La funcf6n básica de "ESC0AñO" es seleccionar cuando o no un de-
determinado año es bisiesto e indicarle al programa'monitor que contro*
la los rrnses que febrero tiene 29 0 28 dfas. Esta funcidn es realt'zada
validando en prinera instancia si el primer dígito que conforma el año
(conformado por dos dígitos) es par o impar. Cuando es par el primer
dfgito y el segundo dfgito es 4, 8 o 0 se tiene un año bisiesto y por
ende febrero contendrá 29 dfas; también cuando es impar el primer dfgi-
to y el segundo dfgito es 2 o 6 se tiene un año bisiesto. En los casos
restantes, el año siempre será normal o sea que febrero contendrá 28
dfas.
Con el diagrama de fluio gl del apéndice .1.0 se entiende rnejor el
funcionamiento de esta subrutina, la cual esenctalnente constste en I
El contenido de Ia direccidn 27EB el cual contiene el prfmer dfgito
del año es cargado dentro del registro acumulador A para de esta for-
ma compararse este valor con 00 y con 01.
Cuando nfnguna de las comparaciones con 00 o con 01 se cumple, el Coh-
tenido del registro acumulador A es restado en 06¡ (seis posiciones
de memortal lo cual equivale a restar en 0219 el valor del prinnr df-
gito del año. Este ciclo se repite hasta que el contenido del refgstro
acumulador A sea decrementado hasta uno o cero. Cuando el valor de A
139
es cero es porque
y cuando el valor
par.
del año es par
del año es im*
el
de
nfimero pnesfonado del prirner dfgito
A es uno es porque el Pri'mr dfgito
Cuando es par, el acumulador A es cargado con el contenido de la dr'rec-
ción 27EC la cual contine el segundo dígito del año, para de esta for-
ma establecerse una comparacidn escalonada con los valores de 04' 08 y
00. Cuando alguna de estaS comparactones Se cumple, el acumulador se
carga con 01,'. Este valor de 01 es trasladado a la dirección 27ED la
cual es utiltzada como bandera para indicar que el año es bisiesto y
por ende febrero tiene 29 dfas. Cuando las comparaciones escalonadas
no se cumplen, el acumulador se carga con 00. Este valor de 00 es tras-
ladado a la direcctón ZTED para tndicar que el año es normal por tan-
to febrero tfene 28 dfas.
Cuando el primer dfgÍto del año es impar, eI acumulador A es cargado
con el contentdo de la direccidn 27EC la cual contiene el segundo dí-
gito del año y poderse establecer posteriornente de esta forma una com-
paraci6n con 02 y 06. Cuando alguna de estas comparaciones se cumple,
el acumulador A se carga con 01. Este valor de 01 es cargado en la di*
recci$n 27ED y asf se indicará al programa que maneja los nnses que
el año grabado es bisiesto y por tal razón Febrero tendrá 29 dfas cuilrl'
do ninguna de las dos comparaciones mencionadas se cumple, el registro
acumula.dor es cargado con 00. Este valor de 00 es trasladado a la di-
reccidn 2'7ED para indicar que el año grabado es normal y por tanto
Febrero tiene 28 dlas. Finalmente la subrutina retorna al punto donde
fue sol icitada.
140
7.23 SUBRUTINA II54RELOJ"
Esta suhrutina se ejecuta cuando es llamada por la subrutina rrREL0RJMrr.
Su funcidn básica es colocar en cero o a nivel bajo las señales binarias
que llegan a cada columna del display; en resunnn se graban 50 ceros' L
por columna, para evitar que se introduzcan caracteres extraños previos
al inicio del anuncio. Mediante el diagrama de fluio 84 del apéndice
l0 se puede comprender más fácilmente el funcionamiento de la presente
subruti na.
Inicialmente el contenido del registro L es cargado con el indicativo
"54't para direccionar el área de memoria RAl4 a partir de la cual se co-
menzarán a grabar los carácteres que conforman el anuncio.
Posteriormente los registros B y C son cargados con 00. La subrutina
"PARAMHQRA" es llamada para grabar el contenido de los registros B y C
en dos posiciones de memoria MM consecutivas posteriores a la graba-
ci6n del indicativotr54". La subrutina "BLANC0S" es llamada para grabar
los 48 cenos restantes posteriores a la posici6n de memoria donde se
grabaron los contenidos de B y C. De esta forma quedan grabados los 50
ceros en total. Finalmente la subrutina retorna al punto donde fue so-
I i ci tada.
141
7.24 5UBRUTINA"RET 1"
La funci6n de esta subrutina es visualizar el anuncio deseado mediante
el uso dela subrutina I'SCAN'|, un ciclo de retardo y el decremento suce-
sivo del registro indexado IX.
Et funcionamiento de la subrutina rrRET I'r se analiza más fácilmente si-
guiendo el diagrama del fluJo 16 del apéndtce .10.
1. El registro B en su contenido es cargado con un valor determinado.
Dicho registro es utilizado en la subrutina SCAN para producir un
retardo que permita un efecto en la visualización agradable y per-
micible al oJo humano.
2. La subrutina "SCAN'| es llamada y a la vez se decrementa el registro
B.
3. Cuando el contenido del registro B, por intermedio del decremento,
llega a cero, el cicio termina y la subrutina continua.
4.
5.
Se decrementa el registro
zar el caracter posterior
El contenido del registro
registro acumulador A para
nido con el indicativo 55
indexado Ix con el propósito de visuali-
al primer caracter rnstrado.
indexado IX es trasladado al contenido del
de esta forma poder comparar dicho conte-
de Final Anuncio.
6. Cuando el registro indexado Ix contiene el indicativo 55 de final
anuncio, la subrutina"RET l"hace que el flujo del programa retorne
al programa principal. Esto indica que en ese instante el anuncio ha
terminado de exhibirse en su totaltdad.
r42
7. Cuando el registro indexado Ix no contiene el código de final anun-
cio, la subrutina"RET 1"se inicializa nuevamente para ejecutar otro
ciclo de visualización correspondiente a otvo nuevo caracter. 'Este
ciclo se repetirá hasta que el registro tndexado contenga el indica-
tivo 55 de final anuncio. En este instante la subrutina ejecuta el
punto 6 con anterioridad nBncionado.
143
7 .zs suBRUTINA"RETARD0"
Esta subrutina desempeña una funci6n similar a la de la suhrutinarrRET 1"
Si observams el diagrama de fluio de esta subrutina, el 17 del apén-
dice ,10 y la comparamos con el diagrama de flujo de la subrutina
'IRET ll se advierte que la única dr'ferencia radica en el contador de
caracteres, el cual para la subrutina "RETARD0" funciona de la siguien-
te manera :
El registro D se encarga de llevar la cuenta regresiva del total de ca-
ractenes que iran a ser mostrados. Cuando el contenido del registro D
llega a cero, es porque todos los caracteres fueron exhibidos. Por tan-
to el valor del contenido inicial del registro D depende de la longitud
del anuncio que se desee visualizar, es decir 200 caracteres.
Esta subrutina es utilizada para mostrar el patrón ilHora y Fecha'r y el
contenido del rpdulo reloi, o sea hora, dla y mes.
A excepción del contador
TARDO" es igual al de la
tantes se pueden seguir
mencionado, todo el resto é la subrutina 'rRE-
subrutina 'IRET 1.", Por tal razdn los pasos fal-
en la explicaci6n de'rRET .1rr.
L44
7.26 SUBRUTINA'ISCANII
Esta subrutina responde al llamado de las subruttnas "INICIO PR0GRAI'|4",
"RET1" y "RETARD0". Su función básica es'rasttear los datos presentados
al display por los PIQS !, 2 y 3 . Dichos datos se pnesentan al display
al activarse las columnas y filas que lo conforman de la siguiente ma-
nera I
El puerto B del PIO I ¡naneia las 7 filas de cada columna del display.
El puerto e del PIO 1, los pr.rertos A, B y C del Pm 2 y los puertos A y
B del PIO 3 maneJan cada uno 8 columnas, para un total de 48 columnas'
Las dos columnas rcstantes, de las 50 en total que posee eI display' son
manejadas por el puerto e del PIO 3. En rcsr¡nen, la subrutina rrsCA¡lrt
rastrea en un ciclo las 50 alumnas que confo¡?man el display, activando
en un instante dado de este ciclo, una sola columna de las 50. La selec-
ción de cuales Leds de la colunna activada deben estar prendidos y cua-
les apagados, es función del puerto B del Pm f que contrtla las fÍlas.
Por inteymedio del diagr"ama de fluJo . 85 del apéndice 10 se puede
segutr fácilrnente el funcionamiento de la presente subrutina.
- Los registros A,B, C, D, E, H y L son utiltzados en esta subrutina'
por tal razón los contenidos tnictales de dichos registros son salvados
medtante las tnstrucciones rrExrr y 'rEXX'r y restaurados al final de la
subrutina por las mismas instrucciones.
- Inicialmnte el reEistrn par DE es cargado en su contenido con el
145
núrpro hexadecimal 0001, y activa de esta forma Ia prt'mera columna del
display nediante el registro E y desactiva las 49 restantes mediante
el registro D el cual posee en su contenido 00; este contenido es tras-
ladado a los rtgistros L, C, H, B y A para sacar el contenido de 00 a
sus nespectivos puertos y desaitiyar las columnas corespondientes. El
contenido de cada uno de los stete regtstros es sacado por intennedio
del reEistro acunulador a los puertos del PIO comespondiente. Poste*
riorrpnte, cuando el programa haya pasadO mas de una vez por el hucle
marcado en el diagrama de fluio con el retorno 2, e'l regist'ro por DE
contendrá un número hexadecimal diferente al tntcial, lográndose de es*
ta forma que el nueyo contenido de los registrcs L, C, H, B X A sea en-
viado a los puertos y activen o desactiven las columnas correspondien-
tes según el caso.
Como el reEistro acumulador A es utiltzado para sacar información a Ios
puertos, su contenido debe ser salvado en eI contenido de la dirección
27F4 antes de ejecutarse las operaciones mencionadas.
- La subrutina "SCAN" cuenta con un ctclo de retardo originado por el
registro B para mejorar el efecto de visualizaci6n. El valor del con-
tenido del regístro B depende de la subrutina "A.IUSTE", la cual segln
la longitud del ayiso grabado carga un'valor en el contenido de la di-
rccciún 27F9 : este valor es trasladado aI contenido del rcgistro
acumulador A y por su intermedio cargado en el contenido del registrn
B para efectuar el retardo rpncionado.
146
Como el .ont"ni¿o del regtstro B es modificado para efectuarse el rrgo
tardo, es Recesario ejecutarse la instrucci6n de salvamento "PUSH BC'l
antes de iniciarse el retardo y la instrucción de restauraci6n '|POP BCn
al finalizar el retardo.
- El registro A es cargado con 00. Este contenido es trasladado al puer-
to que controla las filas, borrándose de esta fonna el display. Se pro-
cede entonces a mostrar el contenido de la direccr^ón stguiente que es
indicada por el registro tndexado, el cual selecctonará cuales Leds se
deben prender o apagar en la fila. El efecto de rotactón de las 50 co-
lumnas se realiza rotando los I bits de cada uno de los siete registros
rnncionados. Al rotar cada registro se actirra el carry; esta situación
es aprovechada para lograr que en forrna escalonada o sea de registro
en registro, se roten los 8 bits.
Finaln¡ente cuando se rota el registro A, se establece una cornparacidn
con 00 para conocer si ya se han rotado todas las 50 columnas. Si la
comparación es verdadera, el contenido del registro DE es cargadO con
el cddigo hexadecimal FFC8, el cual es el complenrento del código FFFF
y representa las 56 posiciones de memoria que el registro indexado ha
sido corrido; este código reestablece eI registro indexado a su posi-
ción oriEinal cuando se incrementa el contenido del registro IX en es-
te valor. Los valores de los registros A, B, C, D, E' H Y L son restau*
rados a su yalor inicial y la subrutina r¡etorna al punto de llamado. Si
la comparación de A con 00 no es yálida, el contenido de A es traslada=
do al contenido de la dirccción 27F3 y el fluio del programa es con-
ducido al inicio del bucle pertenenciente al llamado 2 del fluio del
programa.
t47
7.27 SUBRUIINA "CARACTERES"
Se conoce con el nombre de rrcaracteresrr a los sfnbolos utilizados para
mostrar el anuncio y la fecha tales como letras, números' signos espe-
ciales (comillas, pav€ntesis, suma, etc) y espacio.
El sistema maneja un total de 47 caracteres, los cuales son mostrados
en el apéndice 10.
Las subrutinas básicamente tienen el misno npcánismo para ejecutar los
47 caracteres, siendo la conformaci6n de los códigos hexadecimales lo
que diferencia un caracter de otro.
Un caracter o dígito esta ffsicamente constitufdo por cinco columnas de
siete segmentos cada una.
En la figura 2l se puede observar dicha constitución.
A partir de Ia configuración de 35 segrnentos por dfgito, se han creado
los 47 caracteres. Cada columna es manejada por un registrc, el cual en
su contenido se carga un código hexadecimal cornespondiente a un núnero
binario de 8 bits. Cada bit maneiará uno de los 7 segrnntos que confor-
man la columna. En el estado I o alto del bit, se enciende el segmento
y en el estado 0 se apaga el segnnnto.
Conp existen ocho bits (de'l 0 aI 7) y siete segmentos, es de notar que
el bit 1 no controlará ningún segnento.
sEGX€|fos
lr-6
5xql
148
8EflEÜTT'S
rl--rI l. . . t 'l6aaaa.
5a""
4 . 4 " '3tt"'
2tt"'
O | ' ' ' ' .jCOLU]|TúA]S- I 2 3 4 5 5
RE6|STROS- L I C D E H
F'EURA 2I. CONFORMACIOil FISICA DE UI{ CARACTEñ
Btts- 7 6 tr 4 ! 2 I O
CONTEilIDO*9OltlOOOg x Elt¡airo
2@ñlTEt{lDO !HEXADECITA:-
NO:,Ai et blr I d.nF. rfd C
FIGURA 22. STTULACTOil DE Uf{a cor-urtlA coi' sEctEttos EllcEtD¡Dos
149
Como qiemplo, analicemos el siguiente caso : En la Figura ;22 se obser-
van encendidos los segmentos 3, 4 y 5 correspondientes a una determina-
da columna. Dicha columna es controlada por el registro L, el cual tie*
ne como contenido el número binario 001110002' cuyo equivalente hexade-
cimal es el 38n.
Los segnentos correspondientes a los bits que se encuentran en 1 S€ €ll-
cenderan, es decir los segnentos 3, 4 Y 5, que se encuentran marcados
con X.
Como el caracter o dlgito está conformado por cinco columnas, la colum-
na analizada en el ejemplo (controlada por el registro L), constttuye
una quinta parte del caracter.
La técnica de programación utilizada para la conformación de todos los
47 caracteres es básicamente la nrlsma. Los negistros L, B, C, D, E y H
en su contenido almacenarán una gran variedad de c6digos hexadecimales
que dependen directarpnte de la forma del caracter que se desee grabar.
Basándose en lo anterior, se explicará finicamente el funcionaniento de
la subrutina correspondiente al caracter "A'r y de esta forma se podrá
entender igualmente el funcionamiento de los demás caracteres que con-
forrnan las'letras, signos especiales y espacio; las subrutinas de los
caracteres que conforman los números son rnás compleias que las subrutt-
nas que confOrman las 'letras, espacio y'signos especiales, debr'do a que
éstos son usados en el modo anuncio y en el modo reloj.
150
7.27,.1 SUBRUTINA CARACTER 'ILETM AII
La letra rrArr al iEual que la letra rrPrr son las flnicas letras utilizadas
tanto en el modo anuncio conc en el modo reloJ; en el modo reloj son uti-
lizadas para identificar cuando la hora es rrA}¡|'r O'rP}'l't. En el presente
caracter, la letra'rA", el contenido de la dirección 27DFes cargado
dentro del registrro acumulador A para de esta forma poder realizarse
una conparación, y determinarse sr- la tecla ha sido presionada en el mo-
do anuncio o en el modo reloji la dirección 27DFla utiliza el progra-
ma monitor para grabar en su contenido un 00 o un 01 y poder efectuar
la conparación antes mencionada y establecer a que modo pertenece la
tecla presionada. El 00 corresponde al nodo anuncio y eI 01 correspon-
de al modo reloj. El contenido del registro A es comparado con 01.
Cuando la comparación es afinnativa, o sea que el contenido de A es 01'
se carga con 0l el contenido de la dirección 27Eg y el programa retor-
na. La dirección 27.F8 pertenece a una posición de memoria RAI'I y es
utilizada por el nonitor para identificar cuando el rndo reloJ se encuen-
tra en AM o PM ; el contenido de?788' será 0l cuando es AIrl y 00 cuando
es PM. Cuando la comparación es negativa, o sea que el contenido de A
es 00, significa que la tecla A se está usando en el modo anuncio y los
registros L, B, C, D, E y H en su contenido serán cargadOs con unos có-
digos hexadecimales que indican los leds que se deben prender para con-
formar el caracter A en este caso. Dependiendo de los caracteres cotreS=
pondientes a las letras y signos especiales, los registros L, B, C, D,
E y H serán cargados con códigos hexadecimales que harán encender los
diodos Leds necesarios según el caso. Los registvts mencionados son gra-
bados por intermedio de una subrutina denoninada "PARMM" en sus l^€Sp€c-
l5t
tivas posiciones de memoria segon el caracter deseado.
7.27.2 SUBRUTINA CARACTER "NUMEROS'I
El funcionamr'ento para todas las subrutinas que conforman los nflrpros
es el nismo, por tal razón solo se explr'cará el funcionamiento del nú-
mero "UNgr y con este se podrá entender el funcionamiento de las subru-
tinas de números restantes.
La direcci|n 27EZ corresponde a una posición de rmmoria Ml4 donde se
grabará una señal para que el programa nnnitor interprete si' la tecla
presionada fue presionada en el nodo anunciO o en el modo reloj. La
señal grabada puede ser :
- Un cero -. indicativo que se está trabajando en el nOdo anuncio-
- Un uno - Indicativo que se está trabaiando en el módulo hora, o
sea el nomero presionado será uttlizado para grabar las
-Un
-Un
horas Y los ninutosa
dos = Indicativo que se está trabajando en el rndulo dfa, o sea
que el nflmero presionado será utitizado para grabar el nfl-
mero del dfa.
tres -. Indicativo que se está trabaiando en el nodulo ms, o sea
que el nümero presionado será utilizado para grahar el nú-
nero del mes.
- Un cuatro* Indicativo que se está trabaiando en el mfdulo año.
Cuando la direcci 6n 27EZ contiene cero, el núrprc se comporta cómo una
152
letra cualquiera, o sea lOs registrOs Ln B, C, Dr E I H son cargados
con un cfidigo hexadectnal que indica cuales l.eds se deben encender pa-
ra conformar el número deseado.
Finalmente la subrutina"PARMM"se encarga de grabar los registros ante-
riormente mencionados en la memoria RAI'I para postertormente ser visua-
I izados.
Cuando Ia dirección 27EZ contiene uno, 1a subrutina'?RINH0R"es llamada
para que las direcciones 27.E3 y 27EZ sean cargadas con un indicativo
para establecer el orden del dfgito en el nodulo hora y la habilitaci6n
para grabar en este modulo.
Una determinada direcci6n MM seleccionada por la subrutina'rRELOMl'ltes
cargada por intermedio del registro acumulador A con un valor hexadeci'
mal corrcspondiente a la cifra menos significativa de la direccidn don-
de se encuentra grabado el llamado para la utilización del nflmro desea-
do, en este caso el uno. Este valor es diferente para cada nÍlrero selec-
cionado. Esto se puede entender mejor con el siguiente ejemplo :
Existe un listado de llamados para todos los números en orden de direc*
ci6n ascendente a partir del número uno. Supongamos el siguiente lis-
tado:
1800 cD
01 00
02 19
Call Uno
153
CaI I Dos 1803 CD
04 10
0s 19
En el preSente caso, si se presiOna la tecla uno en el modulo hora, la
subrutina grabará en la dirección 1801 el c6digo hexadecimal 00 cornes-
pondiente a la parte rnenos significativa de la dirección donde se en-
cuentra grabado el nflnero uno. Los contenidos de 1.as'd{recciones 1800
y 1802 del listado son grabados por la subrutina"REL0RAI'|'.'
Una vez haya sido completada la instruccidn de carga del contenido de
la dirección indicada por el registro indexado Ix, el programa recorre
los registros L, B, C, D, E y H con el fin de visualizar el carácter
correspondiente a la tecla de núrBros presionada, en este caso el uno.
Cuando la direcciln 27E2 contiene dos, la tecla presionada trabaiará
en el módulo del dfa y el desarrcllo de la subrutina se hará de igual
forma a la del caso anterior.
Cuando la direcciÍn 27EZ contiene tres, la tecla presionada trabajará
en el mddulo del rcs y de igual fonna que en los casos anteriores Ia
subrutina ¡'PRINHOR'| es llamada para llevar el orden de grabacr'6n. Si el
contenfdo de la direcci6n 27É3 es siete, el prirner dfgtto del mes es
grabado y cuando el contentdo es ocho, es grabado el segundo dfgito del
mes. Para diferenciar y neconocer los tt€ses de 30, 31, 28 y 29 dfas se
crearon laS subrutinas I'ESC0MES" y ]'ESCAÑOI|. Fl'nalmnte el programa re-
r.54
corre los rnegistros L, B'
do innBdiatarnnte desPués
D, E y H para visualizar eI nflmero desea-
prcsionarse la tecla.
c,
de
Cuando la dirccciln 27E2 es cuatro, la tecla presionada trabaiará en
el módulo del añ0. Tal como en el caso anterior, la dirección ?7E3
conservará el orden de grabacióni primro el primer dfgito del año y
segundo el segundo dlgito del año. En este caso la subrutina"ESCOAÑ0"
es llamada para determinar si el año a grabarse es bisiesto o no. Fi-
nalrnnte el programa recore los registros L, B, C, D, E y H para visua-
lizar el nflmero deseado inmdiatannnte después de prestonarse la tecla.
Como excepciln a la similitud de funcionamiento para todos los nflmeros,
el cero funciona de manera diferente cuando se es utilizado para grabar
el prinnr dfgito en el nódulo hora. En este caso' cuando ese prr'llEr dl-
gito es cero, o sea Ia hora es un número del 1 al 9, el programa graba-
rá un espacio en vez de un cero al presionarse la tecla.
En el apéndice 10 podemos observar los diagramas de flujo que conforman
los caracteres en general, esto es las letras, signos especiales y números.
Del 18 al 43 los diagramas cornesponden a las letras del 44 al 53 corres-
ponden a los sigrros especiales y del 66 al 75 corresponde a los números.
155
7.28 SUBRUTINA "CORREC"
Esta subrutina se ejecuta cuando la tecla "Back Space" es presionada.
Su función básica es la de permitir correr un caracter hacia atrás el
anuncio grabado Cada vez que se presiOna la tecla "Back Space"rCOn el
propfsito de comegir en él un determinado carácterren caso tal que es-
te haya sido grabado o presionado erróneanente. Los caracteres han si-
do conformados rnediante Ia grabación de c6digos hexadecimales en los
contenidos de'los registt'os indexados Ix e Iy, por tal razdn pdPd cO=
rrer el anuncio un caracter hacia atrás,lo que se hace es modificar la
posición del puntero del registro indexado que esté siendo involucrado
en el proceso, bien sea Ix o Iy.
Por internedio del diagrama de fluJo '6 del apéndice ..10' se puede
entender meior el funcionamiento de la presente subrutina.
- EI registro HL es cargado con los contenidos almacenados en las di-
recciones 27FL y 27F2 Estos dos contenidos conforman una direc-
ción de nemoria la cual pertenece a la filtima dirección indexada por
I a subrutina "PARRAI'I'.
El registro HL es incrementado en 02 con el propósito de dejar su con-
tenido una posicidn de memoria adelante respeto a la anteriomnnte al-
macenada.
- El contenido de la dirección almacenada en el registro HL es carga-
do en el registro acumulador A y por interrndio de este increnentado.
156
- Aprovechando que la última direcci6n que conforma un carácter siem-
pre está cargada con 00 se realiza una comparacidn del contenido del
registro acumulador A con 00.
- Cuando el contenido del regtstro A es dfferente de 00 es porque to*
davfa no se ha posr'cfonado el puntero en el inicio del carácter ante-
rior. En este instante se eJecuta un ciclo en el cual se repite la
función de cargar el contenido del registro HL en A hasta que el cotl*
tenido del registro A se haga 00. Cuando ésto ocurra es porque el Pun-
tero ya está posicionado en el inicio del carácter anterior,
= El contenido del registro HL es decrementado en 02 con el propósito
de que la direccidn almacenada en él quede en la dirección correcta
para indicar el punto donde se llama la subrutina "PARRAM".
- Finalmente el registro H es cargado en la direccidn 27Fl y e\ re-
gistro L en la direcci6n 27FZ El contenido de la dirección 27FL
es cargado en el registro indexado Iy, de esta forma queda listo el
registro indexado en el punto donde actua "PARRAM" y el efecto de vi-
sualizar la tecla presionada.
- Por filtimo la subrutina retorna y se puede grabar o presionar el
carácter correcto.
t57
7.29 SUBRUTTNA''RETUBN"
Esta subrutina se eJecuta al pnesionarse Ia teclE 'TRETUB¡lfr. Su functón
básica es fndicar medr'ante una señal al prof¡rama msnitor que todos los
elementos necesarios qüe conforman el anuncio ya están listos y se pue-
de visualtzar la hora y la fecha actualfzadas.
Por medio del diagrama de fluio 8ts del apéndice 10- se puede compren-
der rnjor el funclonamfento de esta subrutfna.
- El programa cuenta con una bandera o señal grabada en el conteni'do
de la dfrección 27F8 para que el programa muestre solo el anuncio o el
anuncio, Ia hora y la fecha. La señal puede ser 01 o 00. En el conte-
nido. de la direccr'6n 27F8 es grabada la señal 01 al presionars€ la te-
cla "BREAK" por el usuarfo. Si el usuarto no presiona la tecla 'TBREAK'
en el contenfdo de la dir"ecctón27FB se carga la señal 00,
- Cuando el contenido deZ7FB es 00, el regr'stro acumulador A es carga-
do con 00 para por su internedio borrar el contenido de la dircccfón
27C7 dire.cci6n en la cual es grabada la señal 54* que utiltza el r€-
loj.
- La subrutina "RELORAM" es llamada para grabar la hora y la fecha actua=
lizadas en el espacio de memoria RAM destinado previanente para este
fin.
- La subrutina " BLANC0S" es llamada para borrar todo oarácter extra-
158
ño que no per"tene,zcq a la hora y la fecha.
- La subrutina IAJUSTE" es llamada para cargar lss valores correspon-
dientes a los aiustes en las diveccioneslTFT y 27F9.
- Cuando el contentdo de 27F8 conttene 01, los llamados de "REL0RA}|",
"BLANCOS, y AJUSTE'r no son eiecutados oues el obietfvo en este caso
es ignorar la parte que constttuye el reloJ para ampllar el nflmero de
carácteres del anuncio.
* El contenido de las direccfones 27E2 y 27AC orden de tecla pre-
sionada e indicativo de inicio anuncio respectivanente, son borrados
por internedio de una operacidn de cargue con el registro acumulador
A, habiéndose carEado A prevt"arnnte con 00.
El valor de la direccidn 2778 direcci6n a partir de
trado el anuncio, es cargado en el registro indexado
la
Ix.
cual es mos-
- La subrutina 'IRET 1'r es llamada para visualizar Io grabado. EI con-
tenido de la dirección 27F8 es nuevamente comparado con 01 y 00. Si
es 01., el programa entra en un ciclo en el cual solo se mostrará el
anuncio. Si es 0C, el programa mostrará el patrón "H0RA Y FECLIA'| me-
diante el llamado de la subrutina "RETARD0". Dicho patrdn está inde-
xado a partir de la dirección 0FE6.
- Para r'ndexar lOs valores cgrrespondientes a la hOra, es neCeSarig
159
conocer si el prirner dlgito de la hora es uno o va en blancO, por tal
raz6n el contentdo de la dir"ección ZVC| e\ cual contiene el valor del
prinnr dfgito de la hora es cargado en el registro acu¡mulador A para
compararse con el valor correspondiente al espacio. En cualquiera de
los dos casos nnncionados, si es cero o uno, el registro D es cargado
con un yalor hexadecÍrnl igual al nflmero de caracteres que deben ser
mostrados. De esta forma, dependiendo del valor del prlner dfgito de la
hora, la subrutina "RETARDO" mostrará la hora y la fecha actualizada.
- El contenido de la dirneccidn 27F6 es cargado en el registro acumulador
A para poder ser comparado con 00. Si la comparación no se cumple, se
decyementa el contenido del reEistro A y este nuevo valor es retornado
al contenido de 27F6 . El flujo del programa salta a mostrar nuevannnte
el anuncio y la hora y la fecha actualizadas. Si la comparación se cum-
ple, el acumulador de Ia direccidn 27F7 es trasladado al acumulador pa-
ra efectuarse otra comparación con 00.
- Si el contenido de 27F7 es igual a 00, se procede a llamar la subru-
tina "REL0J" para actualizar la hora. Si el contenido de27F7 es dife-
rente de 0C, se decrementa el contenido del registro acumulador A y se
traslada este nuevo valor al contenido de la direccidn
El flujo del programa salta y va a mostrar de nuevo solo la hora y la
fecha; quedándose en este ciclo hasta que el contenido de la direccidn
27F7 sea igual a 00. Luego de llamar la subrutina "RELOJ", €l flujo
del prograna salta al comienzo de la subrutina
lini¡rsi¡# "rirn4mg
d.l litcidrot¡-'G:r ?rlr, ' .r
. I1RETURN'I
El programa
el sistema
160
es la última subrutina desarrollada por el
monitsr se queda en este punto hasta que
o hasta que el sistema se desenergice.
programa monitor.
el usuario resetee
7.30.''SUBRUTINA AJUSTE''
Subnutina ejecutada ante el llamado de la subnuttna "RETURN"' Su fun-
ci6n básica es seleccionar unos determinados val.orcs que serán utiliza-
dos como ajuste por el reloj y obtener de esta fonna una pfesición a-
decuada y confiable. Dichos valores utilizados como ajuste son diferen-
tes para cada uno de los ocho bloques en los que está dividido el espa-
clo disponfble para grabar el anuncio que se desea mostrar' y son gra-
bados en forma hexadecimal en las direcciones 27F7 y 27F9 En el con-
tenido de la dirección 27F7'se almacena el nÍinero de veces que debe re-
petirse el bloque 'rtloRA Y FECHA'| y en el contenido de la dirección uFg
se almacena un valor que depende directamente de la duracifn de la subru-
tina "SCAtl" en recorrer el anuncio grabado. Estos dos valores grabados
en conjunto se combinan de tal forma que se obtiene un functonamiento
del reloi lo más exacto Posible.
Por mdio del diagrama de fluio .& del apéndi'ce lO' se puede compren-
der rnejor el funcionamiento de la presente subrutina.
- El nfimero de yeces que debe repeti'rse tanto el modo anuncio como el
modo reloj (anuncio-hora y fecha), ha sido cargado con anterioridad en
el contenido de la diyecci6n 27El . Este valor original debe permane-
cer inmodificable en todo el desarrollo de la subrutina. Como dicho va-
lor es utilizado en la presente subrutina, y posteriormnte destrufdo
por intermedio de la subrutina "RETURN", rpdiante el registro acumula-
dor A se traslada dicho contenido a la dirección 27F6 y de esta forma
se puede trabaiar libremente ya que al final del ciclo el contenido de
162
la direcci6n27F6 se vuelve cero.
- La dtrccclón 27E0 conttene el yalor cornespondiente al número del blo-
que seleccionado. Este valor es cargado en el registro acumulador A y
mediante esta forma se compara escalonadanente con el núnero del bloque
a seleccionarse [desde 00 hasta 07). Cuando una de las ochos comparacio-
nes se cumple, el registro acumulador A se carga con un valor he.xadecimal
el cual posteriomente es cargado en la direccidn 27F7 . Dicho valor
indicará el núrero de veces a mostrarse la hora y la fecha. Este valor de-
pende directanente del bloque al cual pertenece el anuncio.
- Posteriormente el registro acumulador es cargado con otro valor hexade-
cimal el cual será grabado en la dirección 27F9 . El valor de?7F9 co-
rresponde al tiempo de retardo ecasionado por la subrutina SCAN, el cual
depende de la longitud del aviso a mostrar.
* Ftnalrnente la subruti'na retorna al punto de donde fue solicitada.
163
CONCLUSTONES
El desarrollo de la microelectrónica evoluciona a grandes pasos. El in-
tegrado que conforma el microprocesador Z-80 es una muestra patente de
esta evolución.
Con el desarrollo de la presente tesis, se ha logrado dominar la técni-
ca de programacidn en leguaje de máquina o lenguaie ASSEMBLY del elemen-
to Z-80 y también poder comunicarlo mediante interfaces con los elemen-
tos periféricos necesarios para constituir el anunciador electrónico di-
gital .
La labor realizada en la programación del Z-80 y de diseño del circuito
que conforma el anunciador electrónico es la culminaci6n de un esfuerzo
por conocer y aproyechar los adelantos obtenidos por la microelectróni-
ca.
Después de haber culminado el proyecto, se llega a la conclusión que al
trabajar con elemntos electrónicos que operan bajo programaci6n lógi-
ca, cualquier idea para diseñar sistemas de control que manejen datos
o controlen señales análogas puede ser implementada y culminada. Muestra
de ello es el anu¡clador electrónico digftal con el cr¡al se Logro cunpll.r
164 ,
los obJetivos lniciales de vlsuaLLzar un a¡uncio, rotarlo, trabarle nedtan-
te el uso de un teclado alfanúnerlco y nanejar ade¡áe un rodulo de tl.enpo
en el c¡¡aL se eontrola la hora, el dlar.,el les y el añür Eate rcdulo esta
progranado indefi¡idanente.
Para lograr el obJetlvo expuesto ae tuvo que aortear tma serte de obstácu-
Los de caracter electr6nico tales coo señales elevadas de ruido faciltta-
das por la alta frecuencia con La que se trabaja en el sletena, polarizaclón
de drl.ver¡, dirsccto¡itento de ¡enorias y puertoa' etc., adeuás de profim-
dizar en tenas de lógica digttalrnaneJo de dlsposl.tl.vos üXiy lTL y funclo-
naniento y prograración del nf.croprocesador 7ÁO.
165
GLOSARIO
ACUMULAD0R : Un registro temooral en el que se pueden almacenar losresultados de Ios cálculos rpdiante la unidad central de proceso.Una unidad artin¡ético-l6gica puede tener uno o nás acumuladores.
ACOPLADOR ACUSTICO ; Un dispositiyo que permite a un termr'nal conectar-se a la computadora por nedio de una lfnea telefónica. Se conectaal microauricular del teléfono.
DIRECCI0N : Un nflmro de identificación o rdtulo para posiciones en lamemoria.
ALG0RITI,IO: Una solucidn paso a paso a un problema en un nflnero fini-to de pasos. Un procedimiento especlfico para la obtención de unresultado deseado.
ASCIL : Cddigo americano estándar para intercambio de información (si-glas de American Standar Code for Information Interchange). Utíliza-do ampliamente como cddigo estándar de 7 bits. Se conoce también co-mo USASCIL; IBM utiliza EBCDIC que tiene 8 bits.
ENSAMBLADOR : Un programa que convierte instrucciones simbdlicas eninstrucciones de máquina.
BLACKPLANE (Tarjeta Base) : Una tarjeta provista de enchufes inter-conectados mediante buses en los que se pueden insertar módulos que
componen una computadora. Se conoce también como placa matriz o tar-jeta base o matriz (motherboardl.
BASIC : Código simbdlico de instrucciones de uso general para princi-pinantes (siglas de Beginner's All-purpose Sym6olic Inbtruction Code).Lenguaje algebraico desarrollado en Darmouth College. El lenguaje esfáci'l de aprender y usar.
BINARIO ¡zando
Un
los
166
sistema de numeración basado en múltiples de dos utili-dfgitos 0 y 1.
OCTETO
se
BIT : Abreyiatura de "binary Digit" (dfgito binariol. Cada elenrento deun nflrBro binario, bien un 0 o un 1. Los bfts se representan en unamicrocomputadora por el estado de conmutadores electrónicos que pue-den estar cerrados o abiertos. Cuatro bits son un nibble; ocho bitsson un octeto (byte).
(byte) : Un grupo de bits adyacentes, usualnnnte ocho bits, quetratan como una unidad por el procesador central.
RELOJ : Un dispositiyo que genera impulsos regulares que sincronizaeyentos a tral¡és de un microcomputador,
UNIDAD CENTRAL DE PROCES0 : La unidad central de proceso controla laoperación de una microcomputadora. La unfdad central de proceso pue-de extraer y almacenar datos e tnstr"ucciones desde la n¡emoria.
CRT : Tubo de rayos catddicos [stglas de Cathode-Ray Tubel. Un
vacto electrdntco que se puede utilizar para pÍ'esentacionescas. Se denomina también a un terminal que incorpora un CRT.glas de este dispositivo en español son TRC.
C0MPILAD0R : Un programa que tnaduce (convierte) el lenguaje de progra*nación de alto nivel en lenguaje máquina. Puede pnoducft" nunerosasmacroinstrucciones para cada instrucctón de alto nivel a diferenciacon un ensamblador que traduce iten a item (glemento de t'nformación)Cuando se utiliza un compiLador no se puede canbfar un programa sinrecompi I aci 6n .
SISTEMA DE DESARR0LLO : Un sistema microcomputadora que tiene equiposafines necesarios para el desarrollo de Hardware y software.
CM0S : Semiconductor complennntario de óxido de rnetal (siglas de Com-plerentary Metal-0xide Semiconductorl. Tecnologfa que conbina la den-sidad de componentes de MOS canal-P IPMOS) y lá velocidad de l'l0S ca-nal-N(NMOS). La disipacidn de potencia es muy baja.
tubo degráfi'-Las si-
DIGITAL ¡ Relativo a magnitudes discretas en unaexpresar las variables que se presentan en undas electrónicarnnte por 2 estados (binarios)
base dada que puedeproblema. Representa-a 16 estados (hexade-
167
cimal ) en el monento presente. Se dtstingue del analógico en que
este flltimo se reftere a una gama continua de nagni'tudes de tensióno corrientes.
DOBLE DENSIDAD ¡ Método de duplicacidn de la densidad de bits en mdtosde almacenamiento magnético.
MEMoRIA DINAI'IICA : Alnacenamiento de datos en chips ttillamicos en losque el almacenaniento de una pequeña ca¡'ga indtca un bit. Debido a
{ue la carga se pierde con eI tiempo, la menorta diflanica se deberegenerar (refi'escar) periódicamente.
EBCDIC : C6digo de 8 bits de IBM, similar al ASCIL"
EDITQR I Un Drograma que efectfia una nueva dispostción del texto. Per-mite la adicidn o supresidn de slmbolos y carnbios de formatos.
EIA-RS-232C : Interfaz estándar para datos transmitidos secuencialmen-te que no son síncronos con la unidad central de proceso.
EPROM : lr4emoria de solo lectura borrable y programable (siglas de Era-sable-programable Read-Only Memory). Una PROM que puede ser borra-da y reprógramada. Algunas EPROM tienen una ventana de cuarzo sobreel ctrip; lós datos se pueden borrar por exposición a luz intensivaultravioleta; otras EPROM se pueden borrar electrónicamente.
FICHERO: Un conjunto de registros afines tratados como una unidad.
INDICADOR : Un bit unido a una palabra para la identificación o con lafinalidad de destacar alguna condici6n o estado. Los microprocesa-dores típicos incluyen indicadores de estado, acarreo, cero, signo,desbordamiento y semiacameo.
PAQUETE DE C0MA FLOTA¡|TE : Un conjunto de rutinas software gge permitea algunas microcomputadoras ejecutar aritmética de coma flotantesin la adición de hardware extra.
FSK ; Modulaci6n por desplazamiento de frecuencia. Técnica de trans-formación de bits en dos frecuencias diferentes que representan 0y 1 para transmisión en lfneas telefdnicas o radio. El dispositivointerfaz se llama moderm.
168
MASA : Punto de referencia eléctrica de un circuito.
C0PIA IMPRESA : Salida impresa en papel.
HARDI,IARE : Son los componentes físicos, periféricos y otros equipos quecontituyen un sistema de computadora. Contrasta con software.
HEXADECIMAL : Un sistema de numeracidn basado en múltiplos de 16 que u-tÍliza los caracteres 0 a 9 y A a F. Por ejemplo 0B hexadecimal esigual a 0000 1011 en binario. Un octeto se puede codi'ficar exacta-mente en dos sfmbolos hexadecimales.
LENGUAJE DE ALTO NIVEL : Un lenguaje de programacfdn que es relativa-nente independiente del lengua.je ensamblador o máquina. La gramáti-ca suele parecerse al inglés y requiere un compilador o interpreta-dor para convertir a código ejecutable. Ejemplos : BASIC, F0RTRAN,c0B0L, ALGoL, PLIM, APL.
INSTRUCCI0N : Un paso de un programa que define una operación juntocon I'a/s divección/es de cualquier dato necesario para la operación.
INTERFAZ: Es una frontera común entre dos sistemas o dispositivos. Esel hardware o software necesario para interconectar dos partes deun sistema.
INTERRUPCI0N : Una rotura o ínterrupción en la ejecuci6n de un progra-ma se suele producir oor una señal procedente de un dispositivo ex-terno.
KANSAS CITY STANDAR : Es un sistema estándar de grabacidn de datos encinta de casete que s'i'gue las normas EIA-RS-?3?C.0ch0 ciclos de2400 Hz iguales d 1, y 4 ciclos de L200 Kz igual a 0.
BIT MENOS
más aSIGNIFICATIVOla derecha de un
Es el dfgito binario que ocupa la posiciónnúmero o palabra, esto es : 2o o 1..
LIFO : Siglas de Last-in,lir). Método de accesoguiente más reciente y
Firts-out (últinro en entrar, primero en sa-a la entrada, más reciente, después el si-asi sucesivarnnte.
LAPIZ OPTICO : Dispositivo fotosensitivo que se puede utilizar para
cambiar la representaciónto de contacto.
169
en un CRT generando un impulso en el pun-
LENGUAJE MAQUINA : Juegos de entero binarios que se pueden ejecutardirectarnnte como instrucciones por los microcomputadores sin in*terpretación previa.
MEMORIA DE MASAS: Discos flexibles, casetes o cintas utilizados paraalmacenar grandes cantidades de datos. Son menos accesibles, peromás grandes que la npmoria principal.
MEM0RIA : Dispositivo para almacenar informacidn binaria.
MICROCOMPUTADORA : Un pequeño sistema de computadora capaz de ejecutarun repertorio básico de instrucciones. Incluye una unidad centralde proceso, contenida a veces en un finico chip, rnmoria dispositi-vos de E/S y fuente de alimentación.
MICR0PR0CESADOR : Una unidad central de proceso en un chip. Un proce-sador completo en un único chip, fabricado utilizando técnicas defabricación de microminiatura,'conocido como LSI (large scale inte-gration, 'lintegración a gran escala).
MODEM: Modulador-DE Modulador. Dispositivo que transforma datos binariosen frecuencias adecuadas para l.a transnisi6n en líneas telefónicasy viceversa.
MONITOR : Un programa que controla la operación de rutinas para optimi-zar el tiempo de computador.
BIR MAS SIGNIFICATIVO : El dígito binario que ocupa la-posici6n más ala izquierda en un núrBro o palabra, normalmente 2t o 128.
0CTAL : Un sistema de numeración basado en múItiplos de ocho utilizandodlgitos de 0 a 7. En la actualidad está sustituido ampliamente porel sistema hexadecimal.
SISTEMA 0PERATM : Softwane que opera con los necursos software deuna microcomputadora. El sistema operativo puede hacer previsiónde tiempos, depuración, control E/S, contabilidad, compilaci6n, a-signación de memoria y gestión de datos.
1.70
PARIDAD : Un bit adicional que indica si una palabra de computadora tie-ne un número fur o impai de dígitos "1". Utilizado para detectar e-rrores.
PERIFERIC0 : Cualquier parte del equipo, usualmente un dispositivo de
E/S, conectadd a la unidad central de proceso'
MEMoRIA PR0GRAI'4ABLE : Memoria en la que el acceso de nueva informaciónes independiente de la dirección examinada anteriormente.
MEMORIA DE SoLO LECTURA (ROM) : Memoria cuyg contenido no se puede mo-
átfic.r. La informaéión-se escribe en él momento de su fabricación.
REGISTRo : Un dispositivo de nnmoria accesible directamente por la uni-'----üá ienirat'áE-órócéio,-u[ilizado para el almacenamiento temporal
Já unu palabra be compútadora durante las operaciones aritméticas'lógicas o de entrada/salida.
5-100 : Un bus de 100 terminales (patillas o pines), utilizado en elpopular sistema 8080/280.
S0FTWARE : Programas que traducen (convierten) lenguajes de alto nivelen lenguajÉs-máquina, tales gglno compil.adores, sistemas operativos'énsamUÍá¿ó.és, jéneráUores, librerfas de rutinas y editores.
pILA : Una técnica de presentaci6n de programas secuencialmente- Una'--" óifá isiáci) ás unh estructura LIF0 cóntrolada por instruccionesFusn (inlroáucción) y POP (extracci6n).
MINI BASIC : El lenguaje de programación -BASIC reducido a una forma- - airóie qre pe.tíiá-,Operabioñes aritnÉticas con enteros y algunascadbna.
'Sueien ocupar 4 koctetos o menos de memori'a.
TRIESTADO : Capacidad de existencia de tres estados l6gicos- (baio)' 1
(álio), no'definido (alta impedancia), es decir, flotante'
UART : Transmisor receptor asincrono universal. Un transmisor que con-vierte datos serie a paralelo y viceversa.
PALABRA : Un conjunto de bits que ocupan una posición de almacenamien-to y se traiá como una unidad. pubde tener cualquier número de bits'
171
usualmente4,8o16.
PR0CESAD0R DE PALABRAS : Un editor de texto que permite al usuario mo-
dificar textos : formatos, libros, cartas e infovmes.
L72
BIBLIOGRAFIA
AUSLANDER, Davi'd M. and SAUGUES, Paul. M!groprocessors for measurentand cóntrol. California, Mc Grawn-Hill, 1981, 310p.
CIARCIA, Steve. Construya una mtcrocomputadora basado en el Z-80. Ma-drid, Mc Graw*Hill, 1984, 350P.
C MoS DATABooK. Santa Clara, California, Nacionül Semiconductor corp. '1.981, 9?3p.
KANE, Gerry, HAMKINS, Doug y LEVENTHAL, Lancg. 6q090 Assembly laltgy?-g. proiraming. Bérkeléy-, California U.S.A., 0sborne/Mc Graw-Hill,1981,610p.
LEYENTHAL, Lance A., QSBORNE, Adam y C$LLINS, Chuck. Z 8000 AssemblyIanguáge programning. Berkeley,- Calffornia, 0sborneflc Graw-HiII'1980,906p.
LoGIC DATABOOK. Santa Clara; California, National Semiconductor Corp.,1981, 609p.
MANDADQ, Enrique. Procesadores programables. El Microprocesador. Bar-celóna, Bdixareu Editores, 1980, 361p.
y TASSIS, E. Diseño de sistemas digitales con micrtprocesado-res. Barcelona, Marcombo S.A., 1983 ' 256p.
MAN0, M. Morris. Lfigica digital y diseño de computadores. Cali, Pren-tiec/Hall International, 1982' 636p.
MILLMAN, Jacob y HALKIAS, C. Electronic Derices and Circuits. Tokyo,Mc Graw-Hill Kogakusha, Ltd., 1967,752p-
Mol,lPIN, Poblet Jdsé. Microprocesadores. Barcelona, Marcombo BoixareuEditores, 1983, 220P.
t73
M0MPIN, Poblet José. Microprocesadores y microcomputadores" Barcelona,Maiconbo Boixareu Editores, 1984, 341p.
NIcHoLs, Elizabeth A., NICHOLS, Joseph G y RONY, Peter R' Programact6ndel micrrprocesador Z-80. Barcelona, Marcombo Boixareu EditoPes'1981, 308p.
OSBORNE, Adan. fur tntroduction to Microcomputers. 2 ed. Berkeley, Cali'-fornia U.S.A., 0sborne/Mc Graw-Hill., 1980' 438p.
---++-+c y KAtlE, Gerry. 4 & 8 - bit Microprocgllor Handbook. BerkeleyCal ifórniá, Osborne/Mc Graw-Hill ., 1981, L228p.
SOLID-STATE DEVICES MANUAL. Somerville, New Tersey, RCA, Solid-StateDivision, 1975' 750P.
SYLYANIA EDG SEMICONDUCTORS DIGITAL INTEGRATED CIRCUITS DATA MANUAL.
Philips ECG, INC., 1981' 348P.
t74
APENDICE 1
RESUMEN CONJUNTO DE INSTRUCCIONES ORDENADAS POR MNEMONICO
Códi go
Objeto
00
018405
02
03
04
05
0620
07
08
09
OA
OB
0c
OD
0E 20
OF
102E
118405
12
l314
15
Decl araci 6nFuente,
NOP
LD BC, NN
LD (BC), A
INC BC
INC B
DEC B
LDB, N
RLCA
EX AF, AF'
ADD HL, BC
LD A, (.BC)
DEC BC
INC C
DEC C
LD C, N
RRCA
DJNZ DIS
LD DE, NN
LD (DE), A
INC DE
INC D
DEC D
C6di go
Objeto
t620
17
182E
19
1A
r.B
1C
1D
1E20
1F
20zE
218405
228405
23
24
25
26?A
27
2828
29
2AB¿TO5
28
Decl araci6nFuente
LD D, N
RLA
JR DIS
ADD HL, DE
LD A, (DE)
DEC DE
INC E
DEC E
LDE, N
RRA
JR NZ, DIS
LD HL, NN
LD (NN), HL
TNC HL
INC H
DEC H
LD ll, N
DM
JR Z, DIS
ADD HL, HL
LD (HL), (NN)
DEC HL
C6di go0bjeto
2C
2D
2E2A
2F
302E
3r.8406
318405
33
34
35
3620
37
382E
39
348405
3B
3C
3D
3E20
3F
4D
41
42
43
44
45
46
47
48
49
4A
4B
4C
Decl araci 6nFuente
175
Códi go0biefg
4D
4E
4F
50
51
5?
53
54
55
56
57
5B
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
55
66
67
68
69
6A
6B
6C
6D
Decl araci 6nFuente
LD C, L
LD C, (HL)
LD C, ALD D, B
LDD,CLDD,DLDD,ELD D, ttLD D, L
LD D, (HL)
LD D, A
LDEJBLD E, C
LDE,DLD E, E
LD E, H
LD E, L
LD E, A
LD E, A
LD H, B
LDH,CLDH,DLD tt, E
LD H, H
LD H, L
LD H, (HL)
LDH,ALD L, B
LD L, C
LD L, D
LD L, E
LD L, H
LD L, L
INC L
DEC L
LDL, N
CPL
JR NC, DIS
LD SP, NN
LD (NN), A
INC SP
rNc (HL)
DEC (HL)
LD (HL), N
scF
JR C, DIS
ADD HL, SP
LD A, (NN)
DEC SP
INC A
DEC A
LDA,NccF
LD B,B
LD B, C
LD B, D
LD B, E
LD B, H, NN
LD B, L
LD B, (Ht-¡
LD B, A
LD C, B
LD C, C
LD C, D
LDC,ELDC,H
t76
C6di go
Objeto
6E
6F
70
7t72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
BO
81
82
83
84
85
86
s7
88
89
8A
88
8C
8D
8E
8F
Decl araciónFuente
LD L, (HL)
LD L, A
LD (HL), B
LD (HL), C
LD (HL), D
LD (HL), E
LD (HL), H
LD (HL), L
HALT
LD (HLL A
LD A, B
LDA,CLDA,DLDA,ELDA,HLDA,LLD A, (HL)
LDA,AADD A, B
ADD A, C
ADD A, D
ADD A, E
ADD A, H
ADD A, L
ADD A, (HL)
ADD A, A
ADC A, B
ADC A, C
ADC A, D
ADC A, E
ADC A, H
ADC A, L
ADC A, (HLl
ADC A, A
GódtgoObjeto
90
91
92
93
94
g5
96
97
98
99
EA
9B
9C
9D
9E
9F
AD
AI
A2
A3
A4
As
A6
A7
A8
Ag
AA
AB
AC
AD
AE
AT
BCI
BT
Declanaci6n
suB, B
SUB C
SUB D
SUB, E
st B ¡'l
SUB I
SUB (HL)
SUB A
sBC A, B
sBc A, C
sBC A, D
sBc A, E
sBc A, H
sBc A, L
SBC A, (HL)
sBc A, A
AND B
AND C
AND, D
AND E
AND H
AND L
Af'lD (HL)
AND A
XOB B
xoR c
XOR D
XOR E
XOR H
XOR L
XOR (HL)
XOR A
ORB
0Rc
L77
CddigoObjeto
.82
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
c0
c1
c28405
c3B40s
c5
0520
c7
c8
c9
cA8405.
cc8405
cE 20
CF
DO
D1
D28405
D3za
D48405
D5
DeclaraciónFuente
.Código
9biero
.D620
D7
D8
D9
D48405
DB20
DC8405
DEzO
DF
EO
E1
E28405
E3
848405
E5
E 620
E7
E8
E9
EA840s
EB
EC8405
EE20
EF
FO
FI
F28405
F3
F48405
F5
F620
F7
F8
Decl anaci6nfuente,
SUB N
RST lOH
RET C
EXX
JP C, NN
IN A, (NI
CALL C, N
sBc A, N
BST 18H
RET PO
POP HL
JP P0, NN
EX [SPl, HL
CALL PO, NN
PUSFI HL
AND N
RST 20 H
RET PE
.IP IHLIJE PE NN
0( DE, HL
CALL PI, NN
XOR N
RST 28H
RET P
POP AF
JP P, NN
DI
CALL P, NN
PUSCH AF
ORN
RST 3OH
RET M
ORD
ORE
ORH
ORL
6s (HLI
OBA
CPB
cPeCPD
CPE
CPH
CPL
CP [HL)
CPA
tsET NZ
POP BC
JP NZ, NN
CALL NZ, NN
PUSTI BC
ADD A, N
BST O
BET Z
RET
JP Z, NN
CALL Z, NN
ADC A, N
RST 8
BET NC
POP DE
JP NC, NN
ouT [Nl, A 'CALL NC, NN
PUSH DE
L78
F9
FA8405
FB
FC840s
FEaO
FF
cB00
cB0r
cB02
cBo3
c80.4
cB05
c806
cB07
cB08
cB0!l
CBOA
CBOB
cB9C
CBOD
CBOE
cB0r
cBr0
cB11
cBr2
cBt3
cBr4,
cB15
c816
cR17
cBtS
cB19
CBlA
LD SP, TIL
JP Iq, NN
EI "'CALL l{, NN
CPN
RST 38H
RLC B
RLC C
RLC D
RLC E
RLC H
RLC I-
RLc (HL)
RLC A
BBC B
BBC C
RBC D
RRC E
BBC H
BRC I.
BRC (HLI
RBC A
BLB
RLC
RLD
RLE
RLH
RLLRL (HLI
RLA
BRB
RRC
RBD
Decl araciónFuente
Cédiso0bJeto
CBIB
cBlC
CBlD
CBlE
CBI.F
cB20
cBzr
cB22
c823
cqz4
c825
cB26
cB27
cM8cg?E
CB2A
CB2B
cgzc
CBzD
CBzE
C82F
c838
cK¡9
CB3A
C83B
cB3C
CB3D
CB3E
C83F
cB40
cB41
cB42
cB43
Decl araci6nFuente
RRE
RRH
RRL
RR(HL)
RRA
SLA B
SLA C
SLA D
SLA E
SLA H
SLA L
sLA (HL)
SLA A
SRA B
SRA C
SRA D
SRA E
SRA M
SRA L
SRA (HL)
SRA A
SRL B
SRL C
SRL D
SRL E
SRL H
SRL L
sRL (HL)
SRL A
.BIT0,BBIT 0, C
BIT 0, D
BIT O; E
L79
Cddtgooni*p
qB44
cB45
c846
cB47
cB48
cB49
CB4A
CB48
cB4C
CB4D
CME
CB4F
cB50
cBs1
c852
c853
cB54
cBs5
cB56
cB57
cB58
cB59
CB5A
cBs8
cB5C
cB5f)
C85E
CB5F
c860
c86l.
cB62
cB63
c864
Decl aracidnFuente
qil0HBITOLBIT O (HL)
BITOABIT I, B
BIT l, C
BIT 1, D
BIT 1, E
BIT 1, H
BTT I, L
BIT 1 (HL)
BIT I, A
BIT 2, B
BIT 2, C
BIT 2, D
BIT2, E
BIT 2, H
BIT 2, L
BrT 2, (HL)
BIT 2, A
BIT 3, B
BIT 3, C
BrT 3, D
BIT 3, E
BIT 3, H
BIT 3, L
BIT 3, (HL)
BIT 3, A
BIT 4, B
BIT 4, C
BIT 4, D
BIT 4, E
BIT 4, Fl
Códi goObjeto
eB65
cB66
c867
c868
cB69
C86A
C868
cB6C
CB6D
C86E
C86F
cB70
cB71
cw?
cB73
cB74
cB75
cB76
cB77
cB78
cB79
CBTA
CBTB
cBTC
CBTD
CBTE
CBTF
cB80
cB81
cB82
cB83
c884
cB85
lh;rosirlol !i¡t¡nftor! d¿ Ctcidrnhr¡ar.^ t,b; . . r. rl
Decl aración'-Fuente
BIT 4, L
BrT 4, (HL)
BIT 4, A
BIT 5, B
BIT 5, C
BIT 5, D
BIT 5, E
BIT 5, H
BIT 5, L
BIT 5, (HL)
BIT 5, A
BIT 6, B
BIT 6, C
BIT 6, D
BIT 6, E
Blr 6, H
BIT 6, L
BIT 6, (HL)
BIT 6, A
BIT 7, B
BIT 7, C
BIT 7, D
BIT 7, E
BIT 7, H
BIT 7, L
BtT 7, (HL)
BIT 7, A
RES 0, B
RES 0, C
RES O, D
RES 0, E
RES 0, H
RES o, L
180
C.ddigo0Pjeto
Decl aracidnFueñte
RES o, (HL)
RES 0, A
RES I, B
RES 1, C
RES 1, D
RES L, E
RES 1, TI
RES 1, L
RES t, (HL)
RES I, A
RES 2, B
RES 2, C
RES 2, D
RES 2, E
RES 2, H
RES 2, L
RES 2, (HL)
RES 2, A
RES 3, B
RES 3, C
RES 3, D
RES 3, F
RES 3, H
RES 3, L
RES 3, (HL)
RES 3, A
RES 4, B
RES 4, C
RES 4, D
RES 4, E
RES 4, [lRES 4, L
RES 4, ct{LI
C6dfso' 9bieto
CBAT
CBAs
CBA9
CBM
CBAB
CBAC
CBAD
CBAE
CBAF
cB80
cB81
c882
cB83
cB84
cB85
c886
cB87
cB88
cB89
CBBA
CBBB
CBBC
CBBD
CBBE
CBBF
cBco
cBcl
cBc2
cBc3
cBc4
cBc5
cBc6
cBcT
Decl araci ónFuente
cB86
CBBT
cB88
cB89
CBSA
CBSB
cBSC
CBSD
CBSE
CBSF
cBg0
cBg 1
c892
,c893
cB94
c895
cBg6
c897
c898
cB99
CB9A
CB9B
cBgC
C89D
CBgE
CB9F
CBAO
CBAl
CBA2
CBA3
CBA4
CBA5
C8A6
RES 4, A
RES 5, B
RES 5, C
RES 5, D
RES 5, E
REs 5, H
RES 5, L
RES 5, (HL)
RES 5, A
RES 6, B
RES 6, C
RES 6, D
RES 6, E
RES 6, H
RES 6, L
RES 6, (HL)
RES 6, A
RES 7, B
RES 7, C
RES 7, D
RES 7, E
RES 7, H
RES 7, L
RES 7, (HL)
RES 7, A
sET 0, B
sET 0, c
sET 0, D
sET 0, E
sET 0, H
sET 0, L
sET o, (HL)
SET O, A
Cddigo0bie!o
cBcS
cBc9
CBCA
CBCB
cBcc
CBCD
CBCE
CBCF
CBDO
CBDT
CBDz
CBD3
CBD4
CBD5
CBD6
CBDT
CBDs
CBD9
CBDA
CBDB
CBDC
CBDD
CBDE
CBDF
CBEO
CBEI
CBE2
CBE3
CBE4
CBE5
CBE6
CBET
CBES
Declaración'-Fuente
sET I, B
sET I, C
sET 1, D
sET 1, E
sET 1., H
sET 1, L
Set 1, (Hl-)
sET I, A
sET 2, B
sET 2, C
sET 2, D
sET 2, E
sET 2, H
sET 2, L
sET 2, (HL)
sET 2, A
sET 3, B
sET 3, C
sET 3, D
sET 3, E
sET 3, H
sET 3, L
sET 3, (HL)
sET 3, A
sET 4, B
sET 4, C
sET 4, D
SET 4, E
sET 4, H
sET 4, L
sET 4, (HL)
sET 4, A
sET 5, B
l8l
Códi go' objéto
CBE9
CBEA
CBEB
CBEC
CBED
CBEE
CBEF
CBFO
cBrr
CBF2
CBF3
CBF4
CBFs
cBf6
CBFT
CBFS
CBF9
CBFA
CBFB
CBFC
CBFD
CBFE
CBFF
DDO9
DD19
DD218405
DD228405
DDz3
DD29
DDzA8405
DDzB
DD3405
DD3505
,Decl araci6nFuente
sET 5, C
sET 5, D
sET 5, E
sET 5, H
sET 5, L
sET 5, (HLl
sET 5, A
sET 6, B
sET 6, C
sET 6, D
sET 6, E
sET 6, H
sET 6, L
sET 6, (FlL)
sET 6, A
sET 7, B
sET 7, C
sET 7, D
sET 7, E
sET 7, H
sET 7, L
sET 7, (HL)
sET 7, A
ADD IX, BC
ADD IX' DE
LD IX, NN
LD (NN), rX
INC IX
ADD IX, IXLD IX, (NN)
DEC IX
INC Llx+dlDEC (IX+d)
L82
DD360520
DD39
DD4605
DD4EO5
DD5605
DDsEO5
DD6605
DD6EO5
0D7005
DD7105
DD7205
DD7305
DD7405
DD7505
DD7705
DD7EO5
DD8605
DD8EO5
DD9605
DD9EO5
DDA6O5
DDAEO5
DDB6O5
DDBEO5
DDEI
DDE3
DDE5
DDE9
DDF9
DDCB0506
DDCBO50E
DDCBo5 16
DDCBO5 IE
DDCBo526
Decl araci6nFuente
LD(rx+d) N
ADD IX, SP
LD B,(tX+¿lLD C, (IX+d)
LD D, (tx+¿l
LD E, (tX+¿l
LD H, (tX+¿)
LD L, (lX+A)
LD( IX+d) , B
LD (IX+d), C
LD ( IX+d), D
LD (IX+d), E
LD (IX+d), H
LD (Ix+d), L
LD (Ix+d), A
LD A, ( tx+¿)
ADD A, (tX+¿)
ADC A, (tX+O¡
suB (rx+d)
sBc A (rx+¿)
AND (Ix+d)
xoR (Ix+d)
0R (rx+d)
cP ( Ix+d)
POP IX
EX (SP), rX
PUSH IX
¿p (rx)LD SP IX
RLC ( IX+d)
RRc (Ix+d)
RL (Ix+d)
RR (rx+d)
sLA (IX +d)
Códi go
9ugto
DDCBC52E
DDCBO53E
DDCBo546
DDCBOs4E
DDCBo556
DDCBO55E
DDCBos66
DDCEO56E
DDCBo576
DDCBO5TE
DDCBo586
DDCBOsSE
DDCB0596
DDCBO59E
DDCBO5A6
DDCBO5AE
DDCBO586
DDCBO5BE
DDCBo5C6
DDCBO5CE
DDCBO5D6
DDCBO5DE
DDCBO5E6
DDCBO5EE
DDCBO5F6
DDCBO5FE
ED4O
ED41
ED42
ED438405
ED44
ED45
ED46
ED47
Decl araci6nFuente
SRA (Ix+d)
SRL ( Ix+d)
BIT 0, (tX+d)
BIT l, (lX+¿)
BIT 2, (tX+¿)
BIT 3, (tX+¿)
BIT 4, (tX+¿)
BIT 5, (tX+¿)
BIT 6, (.IX+O¡
BIT 7, (tX+A)
RES 0, (tX+dl
RES l, (tX+¿)
RES 2, (rX+¿)
RES 3, (tX+¿)
RES 4, (IX+d)
RES 5, (tX+¿)
RES 6, (IX+¿)
RES 7, (IX+¿)
sET 0, (lx+¿)
sET 1, (IX+O¡
sET 2, (tX+¿)
SET 3, (U+A¡
sET 4, (IX+UI
sET 5, ( tX+¿)
SET 6, [IX+¿1
sET 7, (tX+¿)
IN B, (C)
OUT (C) B
sBc ltl, BC
LD (NN), BC
NEG
BE TN
IMO
LDI, A
Códi go0bjgto
ED48
ED49
ED4A
ED488405
ED4D
ED5O
ED51
ED52
ED538405
ED56
ED57
ED58
EDs9
EDsA
ED5B8405
EDsE
ED6O
ED6 1
ED62
ED67
ED68
ED69
ED6A
Ed6 F
ED72
ED738405
ED78
ED79
EDTA
ED788405
EDAO
EDAl
EDM
EDA3
Decl araciónFuente
IN C, (C)
Our (c); c
ADC HL, BC
LD BC, (NN)
RETI
rN D, (C)
our (c), D
sBc HL, DE
LD (NN), DE
IMlLDA, rIN E, (C)
ouT (c), E
ADC HL, DE
LD DE, (NN[
ill2IN H, (C)
our (c), H
SBC HL, IIL
RRD
rN L, (C)
our (c)-, L
ADC HL, HL
RLD
sBc HL, SP
LD (NN), SP
IN A, (C)
our (c), A
ADC HL, SP
LD SP, (NN)
LDI
CPI
INI
OUTI
183
Códi goobjéto
EDAS
EDA9
EDM
EDAB
EDB(l
EDBI
EDB2
EDB3
EDBS
EDBg
EDBA
EDBB
FDO9
FD19
FD218405
FD2284A5
FD23
FDzg
FD2A8405
FD2B
DF3405
FD350s
FD360520
FD39
FD4605
FD4EO5
F05605
FD5EO5
FD6605
FD6EOs
FD7005
FD7105
FD7205
FD7305
Decl araciónFuente
LDD
CPD
IND
OUTD
LDIR
CPIR
INIR
OTIR
LDDR
CPDR
INDR
OTDR
ADD IY, BC
ADD IY, DE
LD IY NN
LD (NN), rYINC IY
ADD IY, IYLD IY, (NN)
DEC IY
rNc ( rY+d)
DEC (rY+d)
LD (IY+d), N
ADD IY, SP
LD B, (tV+¿)
LD C, (tV+¿)
LD D, (V+¿)
LD E, (IV+¿)
LD H, (tV+a¡
LD L, (lV+a¡
LD (IY+d), B
LD (IY+d), c
LD [IY+d), D
LD (IY+d), E
184
Código0bJeto
ED740s
FD7505
FD7705
FD7EO5
FD8605
FD8EO5
FDg605
FDgEOs
FDA6O5
FDAEO5
FDB6O5
FDBEO5
FDEl
FDE3
FDE5
FDE9
FDF9
FDCB0506
FDCBOsOE
FDCB05t6
FDCBO5TE
FDCB0526
FDCBO52E
FDCBOs3E
FDCB0546
FDCBOs4E
FDCB0556
FDCBOs5E
F0c80566
FDCBO56E
FDCBos76
FDCBOsTE
FDCBo585
FDCBOsSE
Decl araciónF!¡ente
LD (rY+dl, H
LD (IY+dl, L
LD (IY+d)., A
LD A, (rV+¿)
ADD A, (tV+¿l
ADC A, (IY+dl
suB (rY+dl
sBc A, (rv+a¡
A{D Ctv+¿)
XOR (tv+¿l
0R (IY+d)
cP (tY+d)
POP IY
EX (SPL rY
PUSTI IY
.IP (IY)
LD SP, IYRLc (IY+d)
RRC (rY+d)
RL ( IY+d)
RR (rY+dl
sLA (IY+d)
sRA [Iv+¿).SRL ( IY=d)
BIT o? (tv+¿)
BIT 1, (lY+¿)
BrT 2, (tY+¿l
BIT 3, (IY+¿)
BIT 4, (IV+¿)
BIT 5, (ty+¿)
BIT 6, (tY+¿)
BIT 7, ( tY+dI
RES 0, (Iv+¿)
RES 1, (tV+a)
Códi goObigto.
FDCB0596
FDCBO59E
FDCBO5A6
FDCBO5AE
FDCBO586
FDCBO5BE
FDCB05C6
FDCB()sCE
FDCBOSD6
FDCBOsDE
FDCBO5E6
FDCBO5EE
FDCBO5F6
FDCBO5FE
Decl aración'fy.enle.
RES 2, (IY+d)
RES 3, (lY+¿)
RES 4, [lY+¿lRES 5, (lY+¿)
RES 5, (tY+¿)
REs 7, (IY+d)
sET 0, (ty+¿)
sET l, ( tv+¿)
sET 2, (IV+a¡
sET 3, (ly+¿)
sET 4, (IY+dl
sET 5, (tV+a¡
sET 6, (tY+¿)
SET 7, (iy+a)
185
APB.{DICE 2
- RESUMEN DEL CON"UNTO DE INSTRUCCIONES
ADC HL, ss Suma con arrastre del par de Registros ss a HL,
ADC A, s Suna con amastre operando s al Acumulador.
ADD A, n Suma el valor n al Acumulador.
ADD A, (ttl-¡ Surna la posicidn (ltl- al Acumulador.
ADD A, (fX + ¿) Suma la posición (lX + dl al Acumulador"
ADD A, (tV + ¿) Suma la posición (fV + dl al Acumulador.
ADD HL, ss Suna el par de Registros ss a HL.
ADD IX, pp Suma el par de Registros pp a IX.
ADD IY, rr Suna el par de Regfstros rr a fY.
AND s '¡A¡lDrr lógica de operandos s y Acumulador.
BIT b, [ttL) Prueba el BIT b de la posición (HL).
BIT b, (fX + ¿l Prueba el BIT b de la posición (fX + dlBIT b, (tV + ¿) Prueba el BIT b de la postcidn (fV + d).BIT b, r Prueba el BIT b de la posición r.CALL cc, nn Llama subrutina en posición nn si la condición cc es
verdadera.CALL nn Llama incondicionalmente subrutina en posición nn.
CCF Complenenta el indicador de arrastre.CP s Compara operando s con Acumulador.
CPD Compara posición (ttt-¡ t Acumulador, decrenenta HL y BC.
CPDR Compara posicidn (HL) V Acumulador, decrementa HL V BC,
repetir hasta BC = 0.
CPI Compara posicidn (HL) V Acumulador, incrementa HL y de-
crementa BC.
CPIB Compara posición (HL) v Acumulador, incrementa HL, de-
crementa BC" repetir hasta BC=O.
CPL Complementa Acumulador (complemento a 1I,
DAA Aiuste dectmal del Acumulador.
DEC m Decrementa oPerando m.
DEC tX Decrementa IX.
DEC IY Decrementa IY.
DEC ss Decrementa el par de Registros ss.
DI Inhabilita interruPciones"
DJNZ e Decrementa B y salto nelativo si BÉ 0"
EI Habil ita fntemuPctones.
Ex(sP), HL Intercambia la posictón (SpI y Ht.
EX (SP), IX Intercambia la posictdn ISPI e IX;
EX (SP), IY Intercambia la posición [Spl e tv.
EX AF, AFt Intercambia los contenidos de AF y AF'.
EX DE, HL Intercambia los contenidos de DE y HL.
EXX Intercambia los contenidos de BC, DE, HL con lOs cOn-
teni'dos de BC', DEt, HL', ltspectivanente.
HALT HALT (espera una interrupción o puesta a cero).
IM 0 Establece el modo 0 de interrupcidn.
IM 1 Establece el modo I de intemupcidn.
l¡tl ?. Establece el modo 2 de interupción.IN A, (n) Carga Acumulador con entrada del disposittyo n.
IN r, (C) carga registro r con entr"ada del disposi'tivo (c).
INC (HL) Incrementa la posicidn (ttl).INC IX IncrerBnta IX.
INC (IX + d) Incrementa la posici6n (IX ¡ dl.INC IY Incrementa IY.
INC (IY + d) lncrementa la localidad (fv + ¿).
INC r Incrementa el Registro r.INC ss Incre¡nenta el par de Registros ss.
IND carga la posicidn (HL) con la entrada del port (c),
decrementa HL Y B.
INDR Carga la posici6n (HL) con Ia entrada del port (C),
decrerenta HL y decrementa B, repetir hasta que B=0.
INI carga la posicón (HL) con la entrada del port (c),
tncrementa HL y Decrementa B.
r87
INIR Carga la posición (HL) con la entrada del port (Cln
incrennnta HL y decrernenta B, repetir hasta que B=0.
üP [tlLI Salto incondicional a (HL).
JP (Ix) Sal:to incondicional (Ix).JP [IY) Salto incondicional a (IY).
JP cc, nn Salto a la posición nn st la condictón cc es verdadera,
JP nn Salto incéndicional a la poiici6n.nn.
JP C, e Salto relativo a PC + e si el arrastre =1.
JR e Salto incondtctonal relativo a PC + e.
JP NC, e Salto rclattvo a PC + e si el acarreo =0.
JR NZ, e Salto relativo a PC + e si no es cero (Z=0).
JR Z, e Salto relativo a PC + e si es cero (Z=J.|.
LD A, (0C¡ Carga Acumulador con posición [aC¡.LD A, (DE) Carga Acunulador con postcr'6n (DEI.
LD A, I Carga Acumulador con I.LD A, (nn) Carga Acumulador con posictdn nn.
LD A, R CarEa Acumulador con Regtstno B.
LD (BC), A Carga posición (BCl con Acumulador.
LD (DE), A Carga posición (DE) con Acumulador.
LD (HL), n Carga posictón (HL) con el valor nr
LD dd, nn Carga el par de Registros dd con el yalor n.
LD HL, (nnl Carga HL con posición (nnl.
LD (HL), r Carga posición (tlt) con Registro r,LD I, A Carga I con Acumulador.
LF IX, nn Carga IX con el valor nn.
LD IX, (nn) Carga IX con la posicidn (.nn).
LD (tX + d), n Carga posición (tX + d) con el valor n.
LD (IX + d), r Carga posición (tX + d) con el Registro r.LD IY, nn Carga IY con el valor n.
LD IY, (nn) Carga IY con la posicidn (nn).
LD (IY + d), n Carga posicidn (lV + d) con el yalor n.
LD (IY + d), r Carga posictón (lV + d) con el Registro r.LD (nn), A Carga posición (nn) con Acunn¡lador.
LD (nn), dd Carga posicidn (nn) con el par de Registros dd.
LD (nn), HL Carga posictdn (nn) con HL.
188
LD (nnl, Ix Carga posiciún (nn) con II,LD (nn) , IY Carga posición (nn), con IY.
LD R, A Carga R con Acunulador.
LD r, (HL) Carga Registro r con posici6n (HL).
LD r, (lx + ¿) Carga Registro r con posicidn (IX + d).
LD r, (IY + d) Carga Registrn r con posici6n (IY + d).
LD r, n Carga Registro r con el valor n.
LD r, r Carga Reigstro r con 'Registro r'.LD SP, HL Carga SP con FlL.
LD SP, IX Carga SP con Ul.
LD SP, IY Carga SP con [Y¡
LDD carga posición (DE) con Bostci6n [HLI, decrementa DE,
HL y BC.
LDDR Carga posicifn (DEl con posict6n [HL), decrementa DE,
HLyBC, repetir hasta que BC =0.
LDI Carga posici6n [DE) con posfci6n (HL), increnenta DE y
HL, decretrenta BC.
LDIB Carga posicidn (DEI. con posicidn (HL), incrementa DE y
HL, decrementa BC y repite hEsta que BC n Q.
NEG Iniverte el Acumulador (gomplercnto a 2I.
NOP No operacidn.
0R s 'r0R'r ldgica del operando s y el Acumulador.
OTDR Carga el port (C) de salida con posicifn (HL), decre-
menta HL y B, repite hasta que B = 0.
OTIB Carga port (C) de salida con posición (HL)' incrementa
HL, decrenenta B, repite hasta que B = 0.
OuT Gl, r Carga port (C) de salida con Registro r.OUT (nl, A Carga port (n) de salida con Acumulador.
OUTD Carga por (C) de salida con posición (HL), decrementa
HLyB.OTI Carga port [C) de salida con posición (HL)' increrenta
HL y decrerBnta B,
POP IX Carga IX con la primera fila de pila.POP IY Carga [Y con la primera fila de pila.POP qq Carga el par de Registros qq en la pila.
189
PUSH IX Carga IX en la pila.PUStt IY Carga IY en la Pila.PUSH qq Carga el par de Registros qq en lq pila.RES b, m hn a cerco el BIT b del operando n.
RET Retorno de Si¡brutina.
RET cc Retorno de subrutina si la condlctón cc es verdadera.
RETI Retorno de interrupción.RETN Retorno de interrupcidn no enmascarable.
RL m Rotacidn hacia la tzquierda del operando m constderan-
do el arrastre.RLA Rotación hacia la izquterda del'Acunulador constderan=
do el arrastre.RLC [tfl.] Rotación ciroular de pósi'ción [HL] hacia I'a;izqüierda¡
RLC (IX + d) Rotaci6n circular de posición (IX + d) hacia la izquier-da.
RLC (IY + d) Rotación circular de posicidn (IY + d) hacia la izquier-da.
RLC r Rotación circular del Registro r hacia la izquierda.
RLCA Rotacidn circular hacia la tzquierda del Acumulador.
RLD Rotaci6n de un dlgito hacia la izquierda y hacia la de-
recha entre Acumulador y posición (HLl.
RR m Rotación hacia la derecha del operando m considerando
el arrastre.RRA Rotacidn hacia la derecha del Acumulador considerando
el aryastre.RRC m Rotaci6n circular del operando m hacr'a la derecha.
RRCA Rotacidn circular hacia la derecha del Acumulador.
RRD Rotación de un dlgtto hacia la derecha y hacia la iz-quierda entre Acumulador y posici6n IHLI.
RST p Reconnnzar en posicón p.
SBC A, s Restar operando s del Acumulador con arrastre.SBC tlL, ss Restar con arrastre el par de Registros ss de tlL.
SCF Poner a "uno'r el indtcador de arrastre (c=1).
SET b, (HL) Poner a "uno" el Bit b de la posición (HLI.
SET b, (tX + a¡ Poner a "uno" el Bit b de la posición [ü + a¡.
Unium¡dott .1ut0n0mo da fkciCrnt¡
foP:o 8'¡¡'.r't"r¡¡
190
SET b, r Foner artuno'r el Bit h del Registro r'SLA m Desplazaniento aritmético hacia la izquterda del ope-
rando m.
SRA m Desplazamiento aritrnético hacia la derecha del operan-
do m.
SRL m Desplazamlento t6gico hacia la derecha del operando m.
SUB s Restar el'operando s del Acrmulador.
XOR s 'r0R'r exclusiya entre eI operando s y eI Acumulador'
Significado de los sfmbolos utilizados en el coniunto de instrucciones.
Sfmbolo Significado
acumulador Registro A.
direccidn Una cantida(l de dtrecci6n de 16 bits'
dirección de orden alto Los 8 btts más significativos de la tftreccidn
de 16 bits.dtrección de orden bajo Los 8 bits nrenos significativos de la direc*
cidn de 16 bits.datos Una cantidad de 8 o de 16 bits'datos de orden alto Los 8 bits más signi'ficativos de los datos
de 16 bits.datos de orden bajo Los 8 bits mnos significativos de los datos
de 16 bits.port una dirección de 8 bits de un dispositivo de
e/s.F, t", Uno de los registros A, B, C, D, E, H o L'
¡Unaexpresi6ndeloctetoenlagamade0a255i ncl usive.
nn Una expresión de 2 octetos en la gama de 0 a
65535 inclusiYe.
dUnaexpresióndeloctetoenla¡¡¡¡6dg=128a 127.
191
h
e
Una expresión en la gama de 0 a 7 inclusive.Una expresión de I octeto en una gama de =126
a 129.
El estado de los indicadores para instruccio-nes condicionales JR y JP I
-cc Condici9n Indicador perttnente
000 NZ no cero Z
001 Z cero Z
010 NC no acarreo C
011 C acarreo C
100 P0 paridad impar PIU
101 PE paridad par PIU
110 P signo postttvo S
111 M signo negativo S
XXH Indica valor de dtrección hexadecimal.
qq Cualquiera de los padres de registros BC, DE' HL
o AF.
ss Cualquiera de los panes de regtstros BC, DE' HL
o SP.
pp Cualquiera de los paFes de negistros BC' DE' IX
0 sP.
?r Cualquiera de los panes de regtstros BC, DE, IY
o SP.
s Cualquiera de r, n CHL), (il + d) o (IY + d).
dd Cualquiera de los pares de registros BC, DE, HL
o SP.
m Cualquiera de r, (Hl-), (U = d) o (IY + d)
(HL) Especiftca el contenido de mmoria en la posi-
ci6n direccionada por el contenido del par de
registros HL.
(nnl Especifi'ca el contenido de memoria en la posi-
ción direccionada por la expresi6n de 2 octe-
tos en nn.
PC
SP
tC, N,
19?
Contador de Programa.
Puntero de pila.Una expresidn en la garma de 0
Indicadores de condici6n :
C Acarreo
It SumalResta
Pfi Paridad/desbordamtento
H Semiacarreo.
Z Cero.
S Signo.
'rse transfieve ar'
AND ló9ica0R exclusiva.0R inclusiva.Suma
Resta.
"se intercambia conrl
a 7 inclusive.
P/y, H, Z, S
(A
oV+
+t
193
APENDICE 3
CARACTERISTICAS ELECTRICAS DEL 8255 PPI
- Regimenes máximos para valor.es absolutos*
Temperatura ambiente baio polarizaclón
Temperatura de almacenamiento
Voltaje en cualquier pin.respecto a tierra
Disipacidn de Potencia
OoC a + 70qC
-65oC a + 150oC
{.5Y a +7V
I Hattio.
* Comentario.
Los excesos por encima de los valores indicados baio los regfmenes má-
ximos absolutos pueden ocasionar daños pernanentes al dtspositivo. La
operaci6n durante largos períodos a las condict'ones de los regímenes
máxi'mos absolutos puede afectar l'a fiabilidad del dispositivo.
|lt.c¡(u
ICL
oE'úo,
oIJ
EsoL)
ltt
lt
C)
:f\aúaúO..ocJ(JNro(J(.'l t¡tl||ltltl
FFEX=2,o t¡J t{ o)HÉ,
Erl)ñ¡I
o
ctooo'(\¡rl F{
=f l{+l +lI
to t.l)()r+ <f(.r..
sfsfo(\t (\l
I
lf)oct (\l
I
]^aI,n.lU'FOLc,L+r(u+torúcL.ÚactE tn v'tG,o(uoE+,E'+'!L.novto.ú=::5=ttOO O- CC¡ CL .F
\¡¡ \J V'¡ \¡'oorú'Q+, O O O O . unGtr'D'r-+r+rg.f¡ .u .ú ct o .ú rú.c¡ ¡¡ rú rú +t T,ctr rUc,oÉLfú.F .FES.F.F.F.F!(uctf
EEÉCG'=.U ú6 C¡ O .tt l+-lS.E.úGt.ELF.úúúL3.LLc,+rc,cLq.úcrtu.Ú
CL CL CL CL 'F .r-rúGtLErúo',E E .ú Gt .ú .É =t.F CD+,|ltctttttttEEt=LI.F.F.r-.Ftaúau+r+ro,no+,gEGt.úÉ.Uooo|vrvru|'/,É(uo (JttEr{-c.,(uoq,(l,lU.ottEE =a.gS.ggoo,(u(u|.nqro.nEEEs.?-t.r?.D.D o n?.-, o c, (u o c,aÚ rú rú Gt (J ct llt (J ¿té 'F 'F+t+t+r+t.F+r+r.e¡r'-3.!FLFFLLILLOOOO!o,OOTOTOc'c)O
É,^&,A l! 0O l¿¡oa cL c¡ o-C¡vvv*vÉJ
J-JJ--r-rooooc¡(.,o
oo
.ct
3n
CJ
o+,Lc,=ct
(u
hoo
o.|JI(ü
=CL
€,(l,L.lJs(u
tnogCL
@tnoo,oott .D +,
.tt.ú .c¡ |ÚLq,F.t¿c,(u5Cf 'F .F
gEaú3.ú.úuLs.ú rúgCLCL€,
túóoTtEtúrÉF.tr.frE-t4¡ F tú .¡¿.FG'G'Ltnú.tl+t.ÚoÉ|/'cLooo,'c, Tt ovtcJEooort+, .lJ (uLsgoo(l,o.ú.t- lE +t.ü!L+t
oooo(J(J+, llvtililill¡¡ FJ-2,=ooo*r{
otl
fUtto
bcro+l
tat+1l
.(,()(J?>c¡
.n g)Gto(JO.|J.n ctL(Jo,o+rofJftt llI.ú()FI
r9s
xrú
=
lctcr(Y!o.O\t.Í,
OOr-l 1l
lÍtOr o
@ll)O oolTC¡r>i @
r€
rltsf o.l(r,o
E
=
o(nIN$¡
|lt,a(u5gCL
(uEanoEoctEo(.)
,+ 91 tsÍ-\J
caaxr<xxx==rtEt¡||ill]tlCJ
'-' (.' CJ (,
C.¡ C)(J CJ (J
t!t\NOIltt¡
><
E
oC
(\¡
ll
z.xFI
=E(JJ(jt F.
)<S¡=ll tl
E&a{ et
z, ><F{
=EilllgrJU) l-.
ÉCI
I
z,
=llC)()
atloL+t(l,E.úL.ú
CL
j ddgO O O P n'É
OO.lJe.ra-t+rFOctOltlr4¡G,G'c|+r.c¡.FraLfÉ'o-GtEFF'?'
'Ú-.C¡lr-6¡6¡C¡g,c,xo(,.F .r- Égg.F.t-grúcto
.rúcctgssLC'.ú.u.ú¡-LlEalOL3.E.úctftr6rÚCLCL(uLtú.ú,úo.Lo.g<t.lJo-4lrÚ.tt.útú6an
+,ctcLfúcL!-t<t.ú.Fc'ct=EEGt.úrtt=rs.Etto.éct./túLLL.t-.-GtrU€FTt'P.+,+'-E3-L(uG'rúE.USE.E5+r+t.E'.nF|r',F(uE(u(u.nV,f=grú.ú.úC,oo(uvtotnoLc,ooo.r?'oE'E+t€EEEc,q,:F(l,o,É€tq-c,E(UE(UO(ü(l,(U(U+r+t+r+'+r+t+,qtq,c,s('G(uEc,scs=.D.D.Do.r-)oc,E(uo€,oaÚauroqrrÚ.|-fg.-+,+t+rs-.lrL+r!oL!.hL
FLFt.FLL!LLoOoOoOOOrúOooO
JJ-Jttta)oooc):ÉJ--t{ l-. F{ C, O
(,:túqog(l,EG'
(uI.r¡
oLít.ú
.E3-=+tctl-0JeEc,PoE',noE'lcrt3.
Eo()E.dLc,ctotn.|tEG'!sEEo()(u9-
o.l-,G'
.c¡.ú
anaú(,I+,C'rooanGt .ú(JE+roan
fuLLc¡+,+,O(J.tr(ul+,ctorJg.ú
tn.úoJ,n
Or(!,FlV,JJl¡¡oV'(-)
=l' l{É,1¡¡ FCJ q,l¡¡
OJZ, l¡¡l¡lcL a/,
(.'FtJl
É,l¡JF(JÉ(-)
196
Notas.
(f) To¿os los valores típicos son a Vcc = 5V, Ta = 25eC.
(2) No nas de una salida puede ser cortocircuitada en un determinado i'ns-
tanten y la duracfón del corto cfrcuito no puede exceder a un segundo.
- Rangos Máximos VS Ccndiciones de operacidn.
- Tabla de üerdad
H = Niyel Alto.| = Niyel Bajo.
X = No selecctonado.
Rangos Valores de 0peraci6n
Máximo suninistro de voltaje permitr'do.
Rango de operactón tlel voltaje de sumtntstro.
Máximo voltaje de entrada.
Máxino voltaje de salida con colector abterto.Rango de temperatura de operactdn.
Rango de terperatura de alnacenamtento
7U
4,75 a 5.25 V
74ú
7y
0a+70qC-65 a 150'C
Entrada Sal tdas
Actiyación Selección
Yo Yr \2 Y3G B A
L97
APENDICE 5
CARACTERISTICAS ELECTRICAS DE LA EPROI4 2716
- Regfunnes máximos para valores absolutos*
Temperatura ambiente baio polarizaci6n -10oC a + 80oC
Temperatura de almacenamiento -65oC a + 125uC
Voltajes en cualquier punto con yiespecto a tierra +0.3V a + 6V
Voltaje de alimntacidn Vpp con respecto a tierra -0.34 a + 26.5V
* Comntario :
Los excesos por encima de los yalores indicados bajo los reglnnnes má-
ximos absolutos pueden ocasionar daños permanentes al dispositivo. La
operación durante largos perfodos a las condiciones de los reglnnnes má-
ximos absolutos pueden afectar la ftabilt'dad del disposttivo.
- Condiciones de funcionamt'ento en C.C. y C.fi durante la lectura.
Margen de temperatura OoC a + 70oC
Tenstdn continua de alimentactón VCC ttl v (ZI 5y t 5%
Tenstdn continua de alinnntacidn Vpp CzI VCC
198
oo,EIrúEEoÉ
rc|(JdPE!l¿E
ct
ot
g€(J
o- fitCLP
og='écf
.úvlE,,(u=ttCLvtoo+t!,8 (l,O''-
!o3-+rogq,c,E.ú.úJc,E\rtE+t to
=(JEq.t- tso.Ú L.d E¡EO.úLLCL+¡at(us (,
Eo.cto-LEo3t
=oo,cr+tgclotno'Fo(,y|+rxEs€,(u.rt +,c-loc,
oe)+,ctrli'ECLN¡d,(uaEPIIC'E!u t¿a, sEE\|u .ú (J+, .tJ (J ,ú(J,-IL=c,ÉELc,CL.F.F!tntE .ctoctoEvtrOvr=(t L v, .tl(J.úo.F +, ct C,
C,-'f-cLolact3-ants!o+,3-o(J(u(,=.n.nooO' .IJ Lq,tso.c¡oc,osGt:O CL .ú
(JCLL'N(J O-o Oanf6^+,FlsJ(YO
-/ 9t \-J
z.rll
G'-c¡c,=L
CL
(l,Eanc,EoIJT'oq)
E oFl C,.<fñtt¡t ¡l
J-oor-l
J
1t
LÓOr¡, (\l LctN.N.6ll.ul .tr.ct rJ) H LUll>c)ill¡
F¡III== cL59 SU t
ctc¡
x=
r{ l'.ltOOrJ)|r,O@+sfH-rñlO.(J t-'l Ct (J O
(Y)
o.F
or\ t¡t
z,t{
=FIO=i
c, (\¡ s¡¡
ooI+tg
\fú!.u4
oo.n{-rooaÉ .r? +,
ctOGtOr-! -ct attúlÚF!E(u(u+r .FE 'F 'r-Or(€Agg.F.-
UIt'EE,úG'.uo;rúfo.ctLLct.oGtI Gr(u'-CLCLfúvl+rrÚ6grrúo,tJEEtÚlÚLED!fúru.UEEaú5v,vLl'F(Jl{-+rP
o-(J(JCÉGt.Úcl o cL cJ-(J (, (l, vr ,nEt (uo,(u(l,(u(uc)(,oEE'E-t+r+r+,+rPEsEsscggEOc,O(u€,TO!c|¡c)ro|
.F .F .F .F .e .F .F .ÉtLsslvl .n,^3tlLgTLLÉgEgooooooc,c,o(J(J(J(J(JFFFF
oo¡¡Ev,
(\I NI G¡\-/ v, \./Ft (\.l
JJCL(J(JJ-J-Hc,CLCJ,C.,:)I-'Hc)OH
o+tcc,Eút,Éo(JE=oEanG'(J
+,UI
Lo,+'(J
rú rúLL=(ú+, (,(,(u
fúÉ:'c,Éo+t+tEgoc,rJE(uaú +,cgoo(JLsl-:tou- (JI
199
APENDICE 6"
CARACTERISTTCAS ELECTRICAS DE LA HM6116P-4
Memoria RAl4 estática de alta velocidad (2048 X 8 bit)
- Caracterfsticas de Fabricación.
. Voltaje de suministro = SV y encapsulado de alta densidad del 24 pines.
. Alta velocidad; tiempo de acceso máximo = 200 ns.
. Potencia en estado de espera = 100,tl['|
. Pontencia en estado de operaci6n = 180 mlrf.
. No requiere reloi o señal temporizada de interrupcidn (strobe).
. Compatib'le tanto a la entrada como a la salida con elernentos TTL.
- Regfnenes máximos para valores absolutos.
Voltaje en cualquier pin respecto a tierra
Temperatura de operacidn
Temperatura de almacenamiento
Temperatura ambiente baio polarizaci6n
Disipaci6n de Potencia
de -0.5 a +7.0V
de 0 a+70'C
de -55 a +1.25oC
de -10 a +85oC
1 I'lattio.
200
T'tú
=,E=
,<g [email protected] (o o
cL
Fo l.f,.O.tttt at)
z,
=rtr G¡ o.osf (\l t{
I
oo
.C¡Ev,
oL+,grttLfú
CL
oo+, ..?tú,tt ,o
c,oECft .úL!fú .tto- cL
IE 'UE' T'.ú G,gL+, +,
CgoG,oq,!r€(uo't? 'l-ct ct+r+Joo
oL+,an
cE5oo!t(u
.uPo
ots{
.n(l,E
CL
o!toEtú+)
aul
úrt
C'E.UEoCLEctrú.F ct tt <t.lJ|ÚG'Gt.Fl-l+t .lJ +,|UEs
UU
o)Pgof-Lo(J
()(J(JUI CJ (.' C-'
o€o=
oEG'coC''G'.r'(J!Lo.ú55L+t+t(ll='F'F.N+,!Luu(Joc,.noZ, J 1¡J l¡l
IH><-JJ
lu¡ilo ><J-J
l3 ;EJJJ
CJoo+r!o
1l
tú
F.
CJ
6Eo,g!o(JG'LcJCLooEo.rt!,tUtE9¿
=o(JEtJlogo(J
-tEoCJ
I
o€.ú
o(JC'o(,oo=tl
x
orU
.c¡
z,ll
o+,rU
c,
z,il
Ec'Etoc,t,ct
,.c¡fit
I
201
Ect!g=
EEÍ{É
x=
sflft.lFtOooc)o
Fl l\ l\
*o-F
r.Í, | |Lft(Y)
lr'lt(Yt
z=
=fffNI
fIaI
tÉú¡o,=L
CL
c,!tnc,Eo(.t
ttgo(J
EEt{O
Eñ¡F{
Itltl
.Júlvrool()
ctc) z,(J (I'Í
.ú_oct>Ez,o(lt'
llr¡> o¡t \.l¿¡ be.OF.O
u'lto.d.J1l) l4 fl
tl .ult lt ED()L
c) tvl lan .u
oo
.c¡EV'
t{J-ocj(JvrooJJ(Jq)
oL+,gG'!G'
CL
.ú-,flt
an
c,(uo,(l,(u(uE+t+rP+¡+tsgEEsoc,c,(¡,(l,Éo..r?.F .F .F .F rO .F fú aú!Ll-L.?!L+,LLLI(Jl-c,ooooctocLo()(JCJq)L(-,O
o!,o!tú+¡ano,go,
oI+tan
g
E=UI
(utt
g€1.r- o,()cLrúOIrú(ugTrrúcLo|rltltoL.Fc)+rE+,crtt(u.Fovr=t o(J.!¡.tt!l+, .F,o o
fú aú .Fcorú aú .F +,c')CnEl-5550r{- q- Vt (,(uo(uq,-t'oE'('
C)orftRIrtú
r¡tll(J(.)
*
(Joo+G'
on
c,ts
otl
clz,(5
beo+,trt¡t
rJ(J
Ero(JrúLc,CLooT'glG,(J
Pv,t-L(u+tu6Lrú(.)
I
202
APENDTCE 7
CARACTERISTICAS ELECTRICAS DE LA ROM 2376
- Regímenes máximos para valores absolutos*.
Margen de temperatura de funcionamiento de QoC a 70"C
Margen de temperatura de almacenamiento de -65uC a t150"C
Tensiones de GND y Vge con respecto a Vgg de -20V a +0.3V
Tensiones lógicas de entrada con respecto a VCC de - 20V a +0.3V
* Comntario.
Los esfuerzos superiores a los citados con anterioridad pueden ocasionar
daño irreparable al dispositivo. La presente es solo una clasificación de
sobrecarga y no irnplica el funcionamiento continuo del dr'spositivo bajo
éstas u otras condiciones por encima de las establecidas en funcionanien-
to normal.
203
(.5(5
ct
.ú=CD
tüEL(uPÉ
.tt
C'E(u+,v,UIo,3-
go(.,
antú!,rúI.tJg¡¡l{.
oj-zlr,=z,o(.)==Irl.r¡av,(.)
anr-lÉl¡lFC.¡
ú(J
ct-c,(u
=!o-oEaa(ucoC)
EEo(J
ooG'E.FE
E\ E(oo.n.oc,ÉlFg oll ll 'ta^J-sooo +t
orft+
.|l,tú
o!o.c,.l.f) .F l.l)++'lilil1l
=2,2,
Nv,ctuit
G'(J
=at5ogt\
N
=
<f.oo?R8OOF{<f trl
@tt,ooaFl .F
EL
F
osfdoooo(llr{o
ctlft
z.H
=ox}{
I
I(.'CJ
or(lrltel
I(-'(.)
ct(\¡
aa=
EE,É .coorFN9
tnoL+teE¡aúLr¡t
CL
oo?IHxxc,oL!.lJ +'Egoooott +,G'LLOL.-co,a€(Jrú
(roorú .p +t+, (, (,=GtrúE+r+,E=EoooC'(JC'(u.úrú-t fu túv, .F '/G'C'(,uÉE.r-(u6,+t +, +,at vl .nts.-./L|f¡.n(uoo+¡ É, É,octL|lt
C)
roG'Etúo ottL(u(uru
1J :O CL
rúoo(l,E+t+lE'ctgg L(u(uP.F.FEEEV,c,rd.ÜotÚcro-NN+roo'LOO(t)|o|ÚrúGt(,crc,.FE!E
cDElctcLcL\Elctlo,@EGtLrovt(u><to€€.A.F+¡oo=to
ó(JEE!|.4cLP==E(uEc)==bOFl .ú..rO+rOr-rOOl={.t(u.'-lÚ==t.FEclclvtEot-CTLLL-CÉír(u.úo,.tJ+ro,OíUOrOtU.é.?r.ttSOOE.é.F(.,!2,2,(Joc)c-':)rttz,z,q'
'tr.ú'F**!tCLOLL'F'FF+rgvloI=Oq'FEu¡(Jvra
oo
3:i'= octal qii- !3[]:ii .l$. :ilil'l Nombre de ros códisos arternos.
204
APENDICE 8
CODIGOS ASCII
000 000. 00 Par NUL CERQ' CQNTRQL DESPLAZAMIENT0 P'
PRTNCIPTO DE CINTA
001 001 01 Impar soH A PRINCIPIo DE CABECERA, S0l-l
902 002 02 Impar sTx B PRINCIPIo DE TEXTo, EoA
003 003 03 Par ETX C FIN DE TEXTO' EOA
004 004 04 Impar EOT D FIN DE LA TRANSMISIoN, END
005 005 05 Par ENQ E PREGUNTA, tlRU, ¿QUIEN ES USTED?
006 006 06 Par ACK F ACUSE, RU? QUIEN ES USTED?
007 007 07 Impar BEL G . CAMPANILLA
008 010 08 Impar BS H RETROCES0' FEO
OO9 011 09 PAT HT I TABULADOR HORIZONTAL' TAB
O1.O 012 OA PAT LF J AVANCE DE LTNEA, NUEVA LINEA? NL
011 013 0B Impar vT K TABULADoR VERTICAL yTAB
012 014 OC Par FF L AVANCE DE PAGINA' FQRI'iIULARIQ'
PAGINA
013 015 0D lmpar cR M REToRNo DEL CARBo, EoL
014 016 0E Impar SO N DESPLAZAMIENT0 HACIA FUERA' RED
SHIFT
O].5 OU OF PAT SI O DESPLAZAMIENTO HACIA DENTRO.
BLACK SHIFT
016 020 10 Impar DLE P CAMBI0 DE SIGNIFICADO DE DAT0S'
DCo.
017 O?l 11 Par DCI A LECTOR EN MARCHA, XON
018 C22 1Z PAT DCZ R PERFOBADOR DE CINTA EN MARCHA
019 023 13 Impar DC3 S LECToR PARADo, X0FF
Deci-mal
tlora- Paridad0ctal dect- Espacio
mal o
205
Carác= Equiv,' ter tecladotontrol
020
02t022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
444
045
046
047
048
049
050
051
0?4
025
026
027
030
031
03?
033
034
035
036
037
040
04r
042
043
044
045
046
047
050
0s1
052
053
054
055
14
1,5
16
L7
18
19
1A
1B
1C
ID
1E
1F
20
2L
22
23
24
25
26
27
28
29
2A
28
2C
2D
FS
GS
RS
US
SP
¡tl
#
$
%
&
t
tI*+
t
Par
Impar
Impar
Par
Par
Impar
Impar
Par
Impar
Par
Par
Impar
Impar
Par
Par
Impar
Par
Impar
Impar
Par
Par
Impar
Impar
Par
Impar
Par
T
U
v
lü
x
Y
z
t
l
i
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
Nombre de los códigos alternos
PERFORADOR DE CINTA PARADO
NO ACUSE ERR
SINCRoNISMo INACTM, SYNC
FIN DE TEXTO, LEM
CANCELACION, CANCI
FIN DEL MEDIO
Susti tui rCAMBIO DE SIGNIFICADO, PRTFIJO
SEPARADOR DE FICITEROS
SEPARADOR DE GRUPOS
SEPARADOR DE REGISTROS
SEPARADOR DE UNIDADES
ESPACIO VACIO
APOSTROFO
c0r4A
MENOS
NUMERO CERO
NUMERO UNO
056
057
060
961ú62
063
2E Par
ZF Impar
30 Par
31 Impar
32 Impar
33 Par
Deci -dral
Hexa- ParidadOctal deci- Espacio
mal o
206
Equfv,Carác- tecl ado
ter ControlNombne de los códigos alternos
I4EN0R QUE
MAYOR QUE
DESPLAZAR P
LETRA I
LETRA O
052 064
053 065
054 066
055 067
056 070
057 071
058 972
059 073
060 474
061 075
062 076
063 077
064 100
065 101
066 702
067 103
068 104
069 105
070 106
071. 107
072 110
073 111
074 ttz075 1t3
076 114
077 115
078 116
079 117
080 120
081 tzt082 122
083 L23
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
Impar
Par
Par
lmpar
lmpar
Par
Par
Impar
Par
Impar
Impar
Par
Impar
Par
Par
Impar
Par
Impar
Impar
Par
Par
Impar
Impar
Par
Impar
Par
Par
Impar
Par
Imoar
Impar
Par
4
5
6
7
I9
;
:
?
@
A
B
c
D
E
F
G
H
IJ
K
L
M
N
0
P
q
B
s
984 lz4085 725
086 126
087 7?7
088 130
Deci- octalmal
089 131
090 r32091 133
092 134
093 13s
094 136
095 137
096 140
097 141
098 t42099 143
100 t44101 145
102 146
103 747
104 150
105 151
106 152
107 153
108 154
109 155
110 156
111 157
712 150
113 161
114 t62115 163
$exa- ParÍdaddeci- Espacio
InaI g
54 Fpar55 Par
56 Par
57 Impar
58 Impar
59 Par
5A Pqr
58 Impar
5C Par
5D Impar
5E Impar
5F Par
60 Par
61 Impar
62 Impar
63 Par
64 Impar
65 Par
66 Par
67 Impar
68 Impar
69 Par
6A Par
68 Impar
6C Par
6D Impar
6E lnpar6,F Par
70 Impar
7l' Par
72 Par
73' Impar
207
Equi v.Carác- teclado
ter Control
T
U
vtl
X
Y
Z
t\l
1a
b
c
d
e
fg
h
I
jk
I
m
n
o
p
q
rs
Nombre de los códigos alternos
DESPLAZAB K
DESPLAZAR L
DESPLAZAR }I
DESPLAZAR N
DESPLMAR O SUBBAYAR
ACENTO GRAYE
Deci-rhal
Flexa- Pari dad0ctal deci- Espacio
mal o
208
Equiv.Carác- Teclado
ter ControlNombre de los c6digos Alternos
CORTE VERTICAL
MODO ALTERNATIVO
[M0D0 ALTERNATM)
BORRAR, RUBOUT
116
irz118
119
120
I?t722
L23
L24
t25
t26127
164
165
166
167
J.70
t7J.
172
173
774
175
t76
t77
74
75
76
77
78
7g
7A
7B
7C
7D
7E
7F
tu
v
w
x
vz
tII
!
DEL
Par
lnparImpar
Par
Par
Inpar
lnparPar
Impar
Par
Par
Impar
2W
APENDICE 9
CODIFICACION PROGRMA MON ITOB
(LENGUAJE ASSEMBLY)
flai¿riire{,i,rrcnnm,i F0"ieñF.\tin f;rLriiqf."r¡¡
2t0
(t u. A.0. ))
INDICE DIRECCIÍ¡N. . GODICO.
CCII}IFITACIt]N PRI]ERAM iltll|ITffi
t oooo? ooor3 00021 000:lI OOO/Ió ooot7 000óI OOOTct oooSto oosttt oooAt? oooEt3 000c1¡l oooDt9 00Gló oooFt7 00lo19 ool rt9 001220 0013al 001¡lü2 00r g4' OOré?1 0017et ool826 00t?27 00tAeg oolBL OOTC30 00rD3r ootE3e oolF3:t oo203{ OO2l3t oo?e3ó O@tl37 00e/t38 002t3t ooeá¿10 of}27¿11 00?842 00e9¿t3 00¡lA11 o/o/ilBat oo¡¡c¡rá oozD47 002Ef8 00eF1? OO30to oo3t5t fi'3eJ2 0033s3 003454 003t
oóoo10FE3E90D3o3c3mto¿13
D3BEI31BC27CDtro3fi30g2F?27CDOAoóDD?tt,ocDBoo17CB7FeoIBDBooCBEFB82EF?7gItoóooFEooao02
OEEERVAC IOüIE8
INI PRÍ¡ERA
Kllrl
ztl{{ u. A. 0. }}
INDICE DIRECCION.. CODICO. OBSERVACIÍ$IES
CI]DIFICACltl¡¡ PRt]EflAM iltlIIITtlR
tt*F¡]rl A¡rll,
rt oo3óJ6 00Ít7J7 00ÍFtg oo3?ú, ooüAóo ooSEót ooSc62 003Dó:l oo#4 003Fót oo/N)& oo¡tt67 00+eóg oo/r3é9 00{f70 00¿lt7t oofó72 W773 00¿rB74 00497J OO4A76 o(,¡tB77 00¿tc7A OO4D79 o(¡rE80 00aFel ooton ootl4t ootz84 0013as oo54gé oostE7 00tóEÉ OOíT89 00t8?o oot?91 00tA%2 00tBt3 00tc?f @tDIt ootE96 00!F97 00609E OOót?9 00á?roo ooó:ttot ooó4ro¡l ooótloB ooóóto4 w7rot ooóatoó ooó9ro7 0()óAtoB ooóB109 006c
DDE917otDDt?7eIBFBDDAAFT27DD?3CD9Eo€IBu7CDEF06AFE17+Ftt7
'F26t9CDF2o¿lFDte3AEO27FEoo2007CD9D063Eo3TEe7FEoteo07CD
({ u. A.0. }}
INDICE DIRECCION.. GODICO. OBSERVACIONEB
TI]DIFICACIf¡N PRtlERAilA I'II]}IITIIR
tloltt112113I t¿ltttr1ótt7118t19reo121rüL1e3t?4latt?6127r28tü,13013113¡lrstt3{t3tt3órg7138tSrt140141t4at¡t3t¡l¿tt4trtót17t¡191/l9Itotttr52rt3tt¡]ltttgótJ71J€rt9róoró1t62ró3tÉ,4
ooóDooáEooáFoo70oo7lw72oo73oo71ooTt@76oo77oo78w7qooTAooTBooTcoomooTEooTF0060ooEloo6eoo€:¡oo8¿roo€tooaóa0g7oo€8oo89ooaAooaBooacooaDooSEoo€Foorloosttoo9eootSo(xraoof,tootó0ÍJqr7oo9Eoottoo?Aoo9Bootcoo9DoortEoogFooAoooAtooAeooAS
2t2
9Doás02te3CFEoe2007CD9Doó3Eott83tFEofl2007CD9DoóGo1tg?6FEo¿t2007CD9Itoó3Eott€1EFEot2007CD9Doó3EooIB10FEo6eo07CD
{( u. A. 0. }}INDICE DIRECCION.. CODICIO. OBSERVACIMTIEE
CI]OIFICACII]II PROCRAM iltlilITtln
1ógt66L67tó8ló9t70t7lt72t73t7417J176t77t7et79teot8tt8f¿,1ffitE{t8t18óte71E€rE9r90t9tt?219319Ct9tt96t?7t?9lrt?aooeoleo2203eo¡lao!ao,b
"o720€aof,210ett2t?2132t{2rt2t62t7et82tq
ooA4ooASOOAóooATooAEooA9OOAAOOABooAcOOADOOAEOOAFooDoooBtooBeooESooB4ooBtOOBóooBTooBEooB9OOBAOOEEooBcOOEI'OOBEOOBFoocoooclooceoocSooc4ooctoocóoocToocaooc9oocAoocBooccoocDoocEoocFooDoooDrooD2ooD:tOOD¿T
ooDtOODó@D7ooDaooD9OODA
2t3
9D063Eoo1gotCD9Doó3Eoo32EI273Eotn,DF27DD2lBD27GCDDD77oo3E?JDD77o1*a7DD7702trDD2lco27oa3ECDDD77oo3EOFDD77oeo8
2L4
))
FE022Aoó3CCDB'oót8EA3Co83E4éT'D77ot3ECDCDE'o6DD77oocOFDD77oeo8FEot4)07o€tr1t,DD77otog3CFEOB2807FEo92eFOOBIBDB3E
{t u. 4.0.
INDICE DIRECCION.. CODTOO. OBgERVACIONES
CT]DIFICACItl}I PROCRAilA ]'ItlIIITtltl
eeo?.?1afr2ú23a4eetü26fr27AEüEe3,Oe3123?2334ne3st?rá?ft7e3Fai#,?.10' 21t2122132+121f,24,62172+B24t'29(}etr29¡2eg32',12ttetó2r7et82J926026t262¿á326126J2&2Á72éA26"270271272273274
OODBOODGOODDOODEOODFooEoooEtooE2ooESooE{ooEtOOEóooETOOEBooE9OOEAOOEBooEcOOEDOOEEOOEFooFoooFro(FeooFSooF/rooFtO(FóooFTO(F'BooF9OOFAOOFBooFcOOFDOOFEOOFFolooorolo10eo1031otorotototoóotoToroSoto?otoAoroBorocotoDotoEoloFol tootlI
2t5({ u. A.0. }}
INDICE DIRECCION.. coDIOO. OBEERVACIÍINEE
COI¡IFICAC IBN PRtlCRAilA IIt]}¡ITtlfl
Ultl0 ( t I
27J276277274z'fcl2802e18effiE428sffi872886'2?Oí¡frrúr2etftt1Ü,Jn6ür7üntnilo30130e303t30¿t3()t30ó3073083gt3to3tr31231331¿t31t3t63t7318319no9r2tn23e33É21etfr26fr273,2f,32c'
ol l2ot 13ot t¿lol ttor 1óotlTol l8or l9ot tAot rEot lcol tD01lE011Foteoolel0tí'Po1e3ol2¡lotetora6or27ot29o12?oreAoretoleGoreDoteEortrot30o13torSeol33o13¿totStol3óo137ol3€ol3rtotSAo13Bo13CorSDolcortroltoot¡rtot4201t3ot/t/tot4tot4óot47o148
c9DD77o33Eot3li2E227CD2J07c?3AE,12
27FEoo2C'OD2Eú2oóEFOE80lóooIEooc3AT09FEo120OACD19oó3E28DD77oot8E'FEo"e8F2FEo3eo1B
t( u. A.0. ))
¡NDICE DIRECCION.. coDtoo. OEgERVACIfhIES
C0IJIFICACI0N PR0eRAilA I'l0l'llT0|l
2L6
CDIto63AE3?7FE07eo073Eor&,B'27t8cc3Eotg2EA?7CDIFo8tac2CDt9oó3AE327FEü,20073Efrg2EB27r8B13E2enEC27CD¡tD07l8A73A
33033ttgn$tÍl331sft33ógr7SF38?340341u23¿t3l3/tf3at3/téu73¿r83+93to3tt3523t:r3t¡l3tt3tá3J73ta3t93óO3át%23ó313ó¿t3ótwu73ó€3ó937037137237337437J37é37737e37?3803Et3f,/i238¡t384
o14?ot¿tAot¿tBot¡lcot4DorfEol¿tFottooltrolteottSott4olstortóottTotlBorstottáoltBottcotsDottEortFolóoo16rotái,,o1ó:lo1óaoró5ot6óoL67otó8or6?otóAotóto1ácoróDoróEotáFor70otTlot72or73ot71otTJat76or77ot7eol79otTAotTBotTcotTDorTEotTF DOS (2)
2t7
{{ u. A. tl. }} c0tllFlcAcl0ll PR0GRA!|A }ltlillT0fl
INDICE DIRECCION.. CODIOO. OESERVACIONES
383 otBO38ó OrEr#7 otga388 01833€ft or8a3to orBt3r'1 olBégrz 0tB7393 0rB8394 01893ts o18A39ó OIBB3?7 0t8C3rt3 018D37t OIEE¿roo ol#40r or?o¿roe or9t¿to3 0t9240¿l 019340J Ot9/t¿roá ol9t407 0r9ó¿lo8 0tcr740rt or9a4to 01994t t o19A1t2 olrtB¿tt3 0l9c411 019D41t Or9E4L6 019F4t7 otAo4tB OrAt/u? otAz¿rao otAS12t OrAa4n, orAt123 0rAó121 0tA74i2J OrAE126 otA?427 0rAA/tzg otABEr otAc¡xto olAD¡l3l orAEryn orAF¿lft3 otBo¿t3/l orBt43t OtBz43é OlE3437 0lB4438 0tB5439 0rBó
E2?7FEooÍtoODEAtzoó9tOE8rttó89TEAóc3AIo9FEo1eoOACDttoó3EnDD77ooTBE'FE@28F2FEo3?o1BCDttoó3AE3t,FE0720073Eoe32Eq
2L8
{( u. A. B. }}TND¡CE DIRECCION..
CI]I}IFICACltl}¡ PRBCRAiIA ]'Itli¡ITt]R
coDloo. . ..
?7
OEBERVACTONES
TREE (3'
4¿to4{1417,4¿tfl4444{t446417/r/l84¡t94to4tl4C24t34144tt1#4J7¿ltE4t?¿lóo#t#í2¿tóft&1¿ló9w#7w#q470471472179+7447J17647717417q4AO4Etffi¿183¡t8f¡r8t&E7¡tE6#,4rro4914?24934?4
ot87orBEorE9OTEAOTBBolECOlBDOlBEOTEFotcoolclotceolcSotc4orctorc6olcTotcBotc?otcAotcBotccorcDotcEolcFotDoolDtotDeo1D3olDao1D5OlDóotDTolDAolulOIDAOTDEotDcOTDDOlDEOIDFotEootEtolEeorE3olEfotEtOIEóotE:lOIEBolE?OIEAOIEBorEcOIED
18cc3E023eEA27GDIFOBt8c?CDt9oó3AE327FEoaeo073EfrflEB27t9B13E2D3eEC27CD4D07teA73AE227FEoo20ODfra2oóEIOE8qt689
{{ u. A.0. }}
INDICE DÍRECCION.. coDroo. OBEERVACIONES
ü0IIIFICACl0l,l PR0eRAllA il0illTflR
4?g4964?74?84Wt@rottoÉlto390¿rlto5toów7508r$tt10tltttztl3tt4tttt16í17t18919taotet¿22JzAJ21ratn6J27gagtettmffltrfl?rfrtt¡|¿rt¡ttt3óJ37t38t3?r{o541r¡t¡t:tr354¿l9¿ttt{6J47s4894?
OIEEOIEFotFoolFtotFeotF3OlF¿IotFtOTFóorFTOIFBotF9OIFAOlFBolFCOlFDOTFEOTFFtrloo@oloilo2oaoSoeofoeotoEtoóü2l,7oÉro8wüffioeoAo¡toBoeocoeoDoeoEo20Foerooet Iü212oerS@14oeltoetó@,17oerEo¿19oetA02tBoelco2lDoÍ[email protected]/?r24
2t9
1E3óc3AI09F'EoleoOACDttoó3EEDD77oo18E'FE02nF?FE03eoIBCDItoó3AE327FE072007so3g2E?27tgcc3Eo332EA27CDIFo8IBc?CD
(( u. A.0. ))
INDICE DIRECCION.
|]0DIF ICAC l0t'l PR0eRAilA
coDroo.
l'It]NITt¡R
OBSERVACIONEE
GUATRO (4'
srosttrJett3tt4Jttt!ó¿r7rlert9c60téttó2!ó3sóa:tóttéóli67tó83ó9J70J7tJ72r73J71J7JJ76977,7eJ7?t60gBtr8e993ta4t€t!€ón7!t8E!89t90t?ts9e393w1t?tteéw7v?8JWóoo60r6ft2óo3so4
oe29oi226É227WE,€üa'Po¡l2AoÍl¡Boezcoifr2DOiE,Ea22Foe30o23to23ao23Ílo¡l{LoeStoixr6oiFToe3Fozfl?offHo23Bo¡llfco¡t:tDo¡tÍEoe:fo2¿loozft0/212o,?.43o?44oe4to/21co/'¿17oa¿rau21?o3aAoeaEoe¿lcoe¿]Do2¿tEoefFoetooetro?t2getSoet{oeJtoet6o2J7oetSoet?oe9AO?JB
t9oó3AE3tlFEo?20073EÉ,3?EE27IBBI3EEnEC27CD¿tD
07IEA73AEE?7FEooeoODü18oó1aOEr2tó8FIE10c3AIffiFEot20OACDt9oó3E31
22t{( u. A. 0. }) CI]DIFICACItlI{ PRÍ]ERA}IA ItIIli¡ITIlR
INDICE DIRECCION. coDloo. OEBERVACIOfIIEg
óo5óoó&7ó06#,ó10ótt6t2ó13ót46tt6t6617ólEó19&o&,16iElu23&1u2,&é&7ó¿Eurtó30ó316E'f,,ó3:l63/r69tó36ut763€afrnó¡ro64t&2óf3il4ó¡ttffi4761E.{?óto6ttunót36t¿tótt6l',6.6J7ót86Jq
o?tcoetDoatE@tFoeóomótü2bi2@ó3o12iloeótoeó60/?,67oitó80/269o¿óAoeéDoÍlócoeáDoaóEoeóFür70o27rw272ü273M7rn7Jü276l,277ü2:re$mo?7Ao?7Bo27Co27DoaTEü27Foeeotrlatüffioefflo/iE.ofl€toa8óüF7o¡t€8oae9OEEAOEEBoeEcoeEDoÍt8Eoe€Foe90o/2?t0?'92
DD77oot8E'FE02EEF2FE0320IBCDt9oó3AE327FE0720073Eoa3¿E927r8cc3E04nEA27CDIFogr8ceCDtgoó3AE327FE0920073E3r32EB?7
222(t u. A.0. ))
INDTCE DIRECCION.
CI]DIFICACIIIN PROERAM iltlillTflfl
coD¡oo. OBSERVAC Tfi]tIEB
c¡Nco (5,
&oóólffi¿óáft&1óót#&7óó8&967067t672673ó71é7Já7é67767467?ó80ó61óeó8ft&á6te*E7óeEó89ó90ó916qI2ó936416?t6166?76ta6A?7oo70r70?7l,37017o,J7ú7f,77É7ü?7to7tt7t27t37t4
wr?3o¡19¡ttrtlttogtóot7og?8ogt9ogrA@98oe?costDogtEoinr0,¡lAOoeAl@rú2oeAS@A/r@AtoeA6wA7saffiocA"OEAA@AEoeAcOEAD@AEOEAFo¡tBooeBtoeBzoeESoeE4oeEtOAEóoÉ,a7oaBS0F'8?OAEAoetB@EGOEBDOEIEEWFoecoozctü2C2oec3qac¡loectoecóu¿c7ozcBo2c9
t8BI3E3tflEC27CD+D07t8A73AEE27FEooeoODEgloó8r'OEa"'l689TE3rc3AT09FEot20OACDttoó3E{DD77ooIBE'FE022eF2FEo320IECD
({ u. A.0. })
INDICE DIRECCION.. CODIOO. OESERVACIÍ'NES
CI]DIFICACTüi¡ PROERAM f{tlillTffi
7tJ7t67177ta7t?7e.072t7ílÍ2787217247267277m7r,7n7317n,73f,7g73J7*7377387fr7&71171i27137117+n7467177E74í'7to7tt7'/27t:l7t17tJ7167J7787717áO7617ü27áft76176J7&76776e769
ozcAoacEozccoecDoecEoecFoeDoo@roeDaoeDSOED¿IoeDtOEDóun7oeDEürDt@DAOEDBffiDCOEDDOEDEOEDFo¡ ooeEtocESoeESffito¡EtOzEÓw7ozEgoü9O2EAOEEBozECOEEDO¿EEOEEFoeFoo¡f IüFZoeFSo¿FaozFtoeF6ot7OEFBoff?OEFAOzFBo?FcOEFDOEFEOEFFo300
ttoó3AE3?7FE07eo073EotflE927t8cc3Eot3eEA27CDIFo€TBc2CDIto63AE327FE092007G3f3eEB27l8EI3E343eEC27CD/rD07t8A73AE2
SEIB (ó'
224({ u. A.0. }} TI]DIFICACItlI¡ PROCRAM iltli|ITffi
coDroo. OBBERVAC¡OT{ESIND¡CE DIRECCION.
77o o3pr77t OÍ¡O27n2 GrO3773 GfOa774 GtOt77J OÍtOó776 0(|07TT' GNE77e GtOtTV' OE OA7EO O¡IOB7At O6nC7W2 03rOD78 oÍtoE784 GrcF78t OOrO7* Gllt7e7 0('127fi Og137ú O31¿r7?O O('lt79t OÉiló7'2, O¡tt7773 o(llE7?1 Glt?7?J G'IA7'.6 0('1¡7?7 0(l1C7rre oolD
o('tEBOO OE IF801 ' O¡t?OEOÍt OSetEOS| oÉfrE2EO¡t OseSEOt Gtermó Grztú7 GrróEO€ üI,r7EO? O(t¡38ro Glz?8lt ogSAEre oEreE813 trl2c61f OgaD81' GffBló ofizFet7 oÍrlo8t9 0gll819 ürr2trlo oif,t:¡Bzt O3g4fr22 033tBe3 033ó8,24 0/337
27FEooeoODEtroóg|'OE891ó8?TEflc3AIo9FEol20OACDItoó
-37DD77oot8E'FEoe2AF2FEo3aoIECDrtoó3AE3tFEa7n07ffoó32E927
?25(( u. A.0. ))INDTCE DIRECCION.
TÍIDIFICACItlI¡ PRI]CRAM ilflilITtln
coDroo. oEEERVACtf¡ñrEs
SIETE (7'
8etúrbf#278e883tgtoqusreESI80¡rgEtg¡ó9Fr7stFgt98foE¡tte4"Sffl8¡ra8ttE+óu7Et€Et9stoetrIta8t3lBt483tBtá8t7E€8gtBóOEéI8638áff8ófEó'wü7Bó8%?e7l,E7lg7eE71'e74a7Je76fl77a7af379
offl8Grt9oqtAofrD(xxrcotxtDo:xEGffoofooo+t034eo343oe+/}o3¿lto(t¡rófxv|Tql¿l3sr49o¡taAG}}Eo:t¿lcoo¿rDqilEooaFGttoqltlGttaGttlltrftaoftt!03tóü3J7oStBo(lgrto8ttAo(|tBGI'Go:ttDtrttEqttF€áooeétoa¡eGlá¡fÉ1á4GtótonóófJ|3É7Glá8o:ló9qrAo3óE03ác03óDo36E
18cc3Eoó3aEA27CD1Foet8ceCDt9oó3HI27FEo?2007*37&,EE27IBETfi37ü2EC27CD¿tD
071BA73Affi27FEoo20ODE,03oóBTOEo9t6otIE
t{ u. A. 0. }}226
CI]DIFICACIf]I¡ PRI]CRAM iltliIITffi
coDrco. oEEERvActoñtEsIND¡CE DIRECCTON.
Beo o3óFEer 03708e trt7rffil Gl72EEa OO73eet wnaE8ó OftTtn7 út7é888 qn7BB9 0(t79890 üt7qE?l o37Aüt2 0378Elt¡t utTcE + o:f7lffir GITE€tó GITFfr, o¡FoB?€ OSArE ¡t orF2900 oEHr901 o¡€¡ttoe GFtrtoÉl o3Bórtof oi¡8790t o:¡88rtoé o¡F?O7 üFA90€ GnB90? oEFC9to trlBD?11 o38EC'L? O38F9r3 0390tlf oft?t9lt trf92eló o:t9fl?t7 un1?19 o¡ttt9r9 oftrácti¿o urtflcn Í qt98cfin oStqt?e3 o¡t?A3'l,.1 o:ltBrr?J o:tlc3li2á trfD37?7 0¡f9E?iE osrFTiL GnO?fn trtAl93f r o3A29ü¿ OÍlA39ftÍt o3A4934 03A5
oEtc3ATotFEoteoOACDItoó3E3ADD77ooteE'FE@,frF2FEqt¿orBCDItoó3AE327FE07¡lo073E073aE?27TEcc#073aEA27CDIFo8l8c2CDl5
{( u. A.0. )} CI]DIFICACffiI¡ PRI]CRAiIA }IOIIITÍN
coDteo. OESERVACIO¡{Es
ocHo (a,
INDICE DIRECCIOftI.
?€tr ooAóctir6 fit t7cn 7 Gn3ÍTN GffiC'E'9 q'AA
"tn trn!?+t . Gllc
"&, qilD
"¡tit GIAE
?U GráF9{r ütBo9# OÍtBl9i17 oeEetf8 0(|83?14 G|l'Ito GDt9'1 GIBá?'E GD79lg Gil8?t¿l qtB99tt o6t¡A9tó OÉttt
"17 G|lC
ete GIDt ü, oÉDEr?& GfrF9ór oocoa.i,, trtcr?& o(r2t & qtcS?ót o(rc¿l3ráÉ. oirct?67 o(lcó96€ $rc7
"á? GtcEq7a trrc?flt qtcA972 otrECflg GICC?74 oftcD?7J G|cE
"76 GICF
?77 03DO17A O(Dlfvt GDeeto oaDfttar oED49s,, oE Dt?gI G'Dó9ef GlD7?8t o¡lD8?e6 o(rst?47 oitDA?88 OSDEw9 03DC
oó3HIe7FEo9eo073E3A&,EE27t8ET3E3AgtECtlCDID07lgA73Aül27ffioo20ODE%oé8?OEE9t689IE3óc3AIú,FEot20OACDrt063E3ItDD
({ u.4.0. }}
INDICE DIRECCION.. CODIOO. OEEERVACIOTT|EE
C0IIIFICACIIII,I PR00RAI'|A t.l0illTffi
9{'Q7tlcrt?9t3cnlEltaaéí?7crracl.r,
tooorootro@rooftroo¡lrootr006tooTtooetogtro10l011rolero191014toltlolé1017ro18ro191oaoroetroÍn1oe¡frocfroettoeá1úr7roeBr@trGnroorrolte1trfi1lGfttcxtttogérür7roÉfttrlttofotoalto¿s¡t1o¿sftro44
OiTDDOIIDEffDFG-Oo(ElGFTü-:locErtrEttrEóg3E7OCEEotE9GEAff-rgcG-DoaEq-FtrtoOEIFlo(fetrf3Gf/tGrtGféw7OEfEGF'oífAO(FBo¡FcOSFDO(FEcfFo¡looofolo¿roeo¡rGlo¿lofofoto¿toáun7o¡to€o¿lo9otono¿toD040coaoDo¡roEo¿roFo¡ttoo4t Io4la0413
228
77oot8E'FEoeEF?FE03eot8CDttoó3AE327FE07ito07*o8&,gt2713ccgoe3¿EA27CDIFo€18c2CDItoó3AE327FEot20073E3D32EB27t8
229(( u. A.0. ))
INDICE DIRECCIÍIN. . CODIEO. OBEERVACltn88
CI]DIFICACltll,l PR0eRAm il0i¡lT0R
ñnEr/E (9,
Unic6¡¿6¡ tulonono dr frri¡trntc
08P:o B:¡r,r',
ro{5 0rl{rofó ofltrú7 0+ló10tg o|,t710¿19 oargrolo of r?rotl o¿r tArota orlBlot3 oftcroi¿l o¿rtD10tt o¡lrE10!ó o4tFtoá7 o/reotota o42tlot? otlia,roeo ofait10ét ofa4roóa ofzttoé¡t oteóroéa út106t ot28roáá oaa9roó7 ot¿A10á8 0a2E10ó9 o¡racro70 o¿r¿D107r oaeEta72 ofeFro73 0¿}30ro71 o/t:tttoTg o¿rmro7é o+Ít3to77 0434roTB ot¡rtto7? o|géto€o ú?nloSt o¡l¡Froge ofit9roqt offnroef orSfroBt ofilcro8ó of¡D10e7 0r:-loEB ofíF10€? o/rao10|'0 of{llortt o+lerün of{3toi':l 0!t/}4tor'¿l oa/rtro?t of4á
rw7 0f{91098 O4¿t91099 044A
ET#3Dn,EC?7CDID07t8a73Ae2inFEooaoODfr,?,áoáBEOE8?tbE91EGc3AI$tFEoteooGDttoó#¿loDD77ootaE'FEoeaF2FEo320TBCDtt
230(( u. A.0. )) CI]IIIFICACIIIi¡ PRI]ERA]IA ]'ItlI{ITffi
coDleo. OBEERVAC¡OñIES¡NDICE DIRECCTON..
r too o/t4B1101 oefctroz otaD1to0 o¿raErlot ofaFrtot oatortoó oagr1to7 otteI ro€ ortÍ¡ttoo o4ta11tO Orttlrtl o4tótlle o1á71113 0+t€llt¿l o¡rta1119 o+tAltló ott3rrlT oftcrltB o¡ltDltlt oarElreo o¡ltFl ttl o¿ráort22 o¿tórrrefi o|ÉP,tta4 0¿r4tlret oaáarlaá oféttr27 0táól re€ o#71te9 o¿róatt90 0tó9It3t o4áAI r3A O¿réBt t33t o¿tóc113¿l Of6D1t3t o¡róE113ó O¡ráFrr37 0¡}70rr38 utTlt r39 ut72t t¡lo of73r r{t o17art12 ut7'/1rt3 l,4761t¿t4 ú77rlat oaTBIt¡ló ut7?rt17 ut7^It¿19 utTBrta9 utTcl rto utTDI rtt ú7E1t5e o47F1tt3 0{80rlg4 048r
oó3AE¡'27FE07eo07so|'3eE??7TBGG*ort3eEA27CDTFOBt8c2CDr9oó3AE327FEo0ao073E¿ro
&,EIt,r9EI*¿ro
flECt,CD¡lD07l8A73AE227
GERO (Ot
23L
t( u. A.0. )) CIIDIFICACITil¡ PROERAFIA }IfilIIilN
coD¡oo. oEEERVACIfilESINDICE DIRECCION..
I rtt 0¿182l tlá o¿r€9t tt7 0¡r€rr tt€ o¡l9lr lta o/r8ártóo olgTt tól ofsI tóa o¡r99r tá¡l 0!¡€Allót o¡r€Br tát o/rEc116ó OIADLt67 o¡reE1168 of€F1ró9 0¿1901170 oftrI t7l üÍterr72 0¡1731173 ottftt71 0t9tr17t o¡t9órt76 0,197tt77 0t?€rtTE ott9tL79 oflAItto ofrtlrlel or9cI t8a o¡rtDrl:xl oetErlEf o¡l9Ft tgt o¡t or 18ó O¿tAlLteT 0¿]421189 O¿rAÍlt 18r' o¿t^¿lrlto otátt ltl o¿rAóLrn, un711?3 0fA31194 o¡lAtlltt olA.rrrtó oltElt rT o¿trcr lre ory|DLt?9 ofáEreoo omFreol otBorzl,f,, ottltaog o¿}tet?,ú o¡lt3teot o¿rB¿rleoó oaEtrxrT ofEóreoa o1D71209 0488
FEoo20OD¡E3EoágtOE8tt68tIEsc3A1o|'FEot¡¡o1ECDttoó3AgttlFEot¡loor*1At8oeFEot20@l8F6G¡ritDD7loo19D¡TFEoeeo021gDFFE
(( u. A.0. ))232
CI]I}IFICACIIII¡ PRIIERAM iltlNITtlR
TNDICE DIRECC¡ON.. CODIEO. OBEERVACTÜIIEE
relo orB?lett o¿tlAtzt? o¿]tl1213 o¡llclal¡l orED12tt otEEretó o¿lEFr2t7 otcorztB ofcllel? ofcetíIn,o 0tG3tí¡Pl o/tc¿trüEt o/rct1323 ofcót?E.+ w7L3a;J OfCet?a¡á 0fc9ta7 o¿lcAt8 o¿rGBtün oaccrzf|o ofcDr33t ofcELünl ofcFletl ofDor¡ütt o¡]Dlr¡ütt o¿lDar¡Ftó otu¡rüt7 otDa12Er OfDtraEl9 otDó12¿tO O1D71a{1 o+DAr2l2 0fD9r2{3 o¿tDA12{4 otDBtz¿lt ofDcte¡ló o¿rDDt2a7 o¡lDEIz{€ OIDFr21a otEoreto ofEr12tt olEeret2 o¿rE3tretS ofE¡}tzt¿r ofEt12tt o¿tEá12'É w,t2f'7 ofEEt2!8 o¿rgtI?f'J' OIEAleóo o¿lE3t26t ofEc1?er2 O4ED1263 o¿rEEt264 04EF
0320IECDItoá3AE3g,FE0720o7soon,gt27IEItsoo3aETt,CDIF€IEáFCDItoó3E3g7FEü,2007*/t:tnE3g,t9
'EG{3&EC27CD4D07
233(( u. A.0. ))
INDICE D¡RECCIOII|.....i. COD¡OO. OESERVAC ITilIIEB
CI]DIFICACIIIII PRtlERffiA Í'Itl]{ITflR
PARRAT{
rzbl, ofFot2ÉÉ o¿rElr7a7 0aF2leá3 o¡fF:tl?A? OrfFft27l¡ ofFtt?7t ofFát?72 Urtrt 3 0fF8Lt l 0tF9t27t o¿tFAr27á O{FBta77 ofFcr27e ofFDtit ? otFElAO OIFFre3r olootffi2 ototraGl otoer¡[a olotlreEl ototre8ó ototLfr7 0!Oó1et8 0ro7L?8'' OIOBr¿90 ototratt otoAtún otol129:t otocr2?¿t otoDte/f'' otoEre?ó otoFr?f'7 ottole!'8 ottrt',f]., otre1300 0tt3r30r ott¡lr30e otlt130:l otrér30+ 617r30l otlgr30ó otr9rfi7 otlA130e otlBr3(t'r otlclSlo otlDt31r otrErSle otlFt3l3 oteo13lf otatlStt otez131ó OtaSt1317 0r2a1318 oJet1319 oteó
tg1aDD2lAGT'DD7eooFEtf8ofFDelAC27FD78,otFEttc8FD7'ooFD8CDa2otFD70ooFD7eotFEooIot7?FEoo2e¡lcFDaCDé2otFD7looFD
234(t u. A. 0. )) CBIIIFICACIIII¡ PRI]ORA}IA }ItlIIITffi
INDICE DIRECCI$II.. CODIEO. oBEERVaClfmEs
tSeo oa?713e1 0ta8rw, oraltr3e€t oteA13ar oteBrSat otecrná ot@tw oteEtga or¿Fr&t? otftol*to o53rrstl 0t3erS(le ot33lsr| Olg¿rrgil otgtrSet otÉtórgtó orÍt7rgtT 0ü3lgt9 otg?lÉt orSA13fO OtÍl¡rStr o$rctsfa ot(Dr3a3 0t:-13¿tt ot:frSat otfot3¡ló ot¿ltt347 otte1348 otaffr34? Oti{frSto o54t13t1 ot/}ór3t2 0*7r39fl ot¿lE13gt otatr3tr otfArg16 otfDt3t7 ot¿tcr3t€ otaD13St OtaEr3Éo otfFl3ó1 ottor*i2 ottr1363 otte13óa Ottfrr3át ottf13áó otttr*7 ottór3ó3 0tt7r3ó9 ott€1370 ottat37t oStAt372 ottB1373 05tCt374 ottD
23CD62otFD72ooFD7EotfFEooffiot7tFEooItoFD?ECD&,otFD79ooFDTCD62otFD71ooFDICD&,ot3AE'tnEótlAFnE'27FD22FI27DD
235(t u. A. 0. ))INDICE DIRECCIOT{. . CODIOO. OE8ERVACIfiltIEB
CÍIDIFICACIfI}¡ PRtlENAilA IIIIi¡ITflR
CO¡ITACAR
RET T
t37trg7átg77rgTetgv,l3to1381r3gersit138¡rr39Jr38órs7r388rstr3to13trtgft?rst:l13t¿lr39tr3r'órgn13t8r3t9r¿roor¡roltfoel¡roitt¡to¿lr40tr/rcór+o71¿to8l¿rgtl¿llortt Ir+!etal3tatat{ttr4lót1t71attsr¿lltt¿]aotaert1ü21¿reElr&a14etr4?6L427t4i¿€t423'
ottEottForáootórotóeo!ófiotóaotótotóó0!67o5ó8otó?ot6AotÉBo!6co:tóDO'AEoróFot70orTroJ72ot73or71otTtoJ7áor77otTBorTtotTAot7.Bol,TcotTDosTEOJTFo!90o!8roreotglota¡tot€tot3áo!€7ot€Bo¡e?ot9or8otgcotSDo!€EorFoJtoot?roacrzot93o994
EAFI27c93ADFTfFEooco3AE'27D?173AE7?73Co¿rFEcn20OP3AEO273G3f2,EO27sot3aE72778nE'tlD9c9CD9EogDDADDD7EooFEttCBr€F3
236
{t u. A. 0. }}¡NDICE DIRECCIOüII. . CODIOO.
C0lllFICACltill PR0eRAllA ll0l'llTtlR
1¿t3lo oll{ttt/t¡|t oytél¡ri¡e oür7t¡ri*l oJtSl¿rita oil'{'t¡rot otttA1¡l3tó oJttrryt7 0!|'crfil8 otrtDl{Oe Ot9El¡t¿lo ot?Fl¡t+t otAot412 oCAt14{3 otAerr{¿r otAÍt1¡l¡lt otA/t1¿r4á OSA!r.47 otAÉl¡t¡lg otATrryn otñar{to otA910tl oSAA14tC OSAE14t31 OSACl¿tt¿l otADtatt orAEtftó otáFt1r7 otEo1ft8 0t8lr¡lst otEzt¡tóo otB3t4ót otE4L#2 o$Ett¿lá:t otB6r¿rá4 05E7t¿tóg ottEt# otDtt#7 0r3At¿lág osBBt*" otDcr+70 otBDr47t otEE1172 otEFt173 otcota71 otclr17l' OtC2t+7á orcS1177 otc{r47e ogctt17? OtCó1¿180 0*71441 0tC8t¿r8e otc91483 09CA14A4 05CB
CD?B08DDaItCBt6F73AFB27FEol8ODAFc3gltoGDBD27c33CtoCDACOEAF&,É227&,tc27nc7t2DD?l7e?7CDEEot3AF827FEot2AF2DD2l
OBEERVACIOITIES
RETARDO
RETINN
237(( u. A.0. )) CI]DIFICACIIIi¡ PRIIERAIIA III]I¡ITIIR
coDICO. OBEERVACIÍT{E9INDICE DIRECCIÍTN.
1¿t8S OSCC148ó O'CDI4a7 O'GEt¿l€8 otcFt/tE otDo1¿l?o otDlrttt otDart9a oro:rlf?3 0tD4t¿t?¿t ogDtr4?t o9Dó14?6 0sD7r4?7 osDBr/0?8 osDrtra?e otDArtoo otDSllot otDcrtoa otDDrtoff orDEtloa otDFrtot otEortoó otElrloT orEarloe orEFlrtot otEfISIO OlEtIttr otEórtlz 05E7rrtS otEErtl4 0rE9Itlt otEAttló otEBrJtT oúEcttl8 otEDttl9 otEErleo otEFrtel otForgae otFtrte¡t otFettc/t otFSIteS otFftteó oSFttüir7 otFórte8 0tF7rtgt otFErtoo o5F?rtStt otFAttft? otFBItiilt otFctt¡lf otFDltxtt o:rFEtJ3é O'FFLJ37 0óOOtt38 oóot1539 oóOa
EóOF1ó73CD?Jot3Acl27FE11nOBDDatItü2tó73t8oóDD2lEFa,ló70CDItot3AF627FEoo2eoó3Dn,F62718c{3AF727FEoo28oó3D3eF727
({ u.A0. }} CI]DIFICACIt]}¡ PRtlCRtr{A iltl!¡ITffi
OBEERVAG IOITEB
IN A¡T'iICIO
PRilffi
19¿tO OóO3tt¿ll oóo4lr{2 oóotlttÍ¡ oáoart+a w7rttt oóo3Ittó oóortr*7 0áoArtaa oáo31t/t9 oóocltto oóoDtttt o60Elrte oóoF1tt3 0óloltt¿r oór IIttt oóte1tt6 0ó13tttT 0ól/rltt€ oórttgt? o6tóü160 0/617rtót oótErtóz 0ór?rtóa oórA1té4 oótDttór oórcItáó oórDt#7 oórErtóB o6rFrtá9 oóeott70 oóerltTl úinrJ72 06231373 0b1¿4tJ71 0ó2tttTt oóeórJ76 W7tJ77 0óAtJTe oóatrt7? o6aAIteo oó28lJ€l OóaCrtae oóaDlJ€EI OóEEItE¡l oó2F1!8r Oó¡nrt€ó oó3ttw, oágtrt€E oó3¡frt6? o63arvrc oó3ttltrtt oó3ó1992 0,697r9?3 0ó391594 0ó39
tactCDEFo8tgcr7
fr,t4oáooCDF?o¡tCDEFoóc9DD?lctgl3AE3ltl3CFEotno¿tg2E327c9CDB'oéFE02ÉF3CDItoóCD.8toóFEo3e€EBCDB'oóFE
r( u. A.0. ))
IND¡CE DIREcCIflltl.. CODIOO. OBEERVACIONES
C0DIFICACI0I¡ PR0eRAllA l'|tll'llTtlR
rt?tlttátw71lvtBtlrtt1áOOr60ltffi,160Íl1áO4t60t160ótóo71óO8r#,tó10rót Irá12ró13tót¿l1ó1t1ótótá.171ó13tó191éeot6ert&,láaÍtt&1ráe5r626L&7r&Et#,róitoré3t1tágel6f*ltóil¿l1áiftt63Ftut7láit8tó3iltróforáattóa¡lt6¡13r6a11ó¿l9tó¿lór6.17t64e164?
oó34oóf!oáfroóooóGoófoó¡roo6flw2o6¿t3oó44oe¡rtoá4óob17o6f8oóf9oó44oótBoófcoó{Doá/rEoéfFoótoo6tl06te06tg06taoóttoótóúJ7oótaoóteoótA06tB06tcoótDoót€oótFoóéooóóloóáeoááfloaÉaoááto#o&7oááEoáb?oóáAoóóDoáócoóóDoóóEoúF0,670
239
oaeoOEOB3AE2T'3Cg2EE27o€1ED'CDItoóCDB'oóFEotfrCFCDB'oóFEoáIE¿tCDItoóCDItoóFE07nEECDItoáFEo8ED3CDetoóFEo9e8EO
240(( u. A.0. )) {:IIDIFICACII]N PR[]ORAI{A ]'IIS¡ITffi
IND¡CE DIRECCION.
16tO (b7ltótt ú72róra ú73lóüt %71lót¿f O{ITJrótt ú7bróg¿ %77tá¡J7 É7erót8 ú7"tóst 067Atóóo o67E16át O67Ct6ái2 067D1óá3 0,678lóóf út Ftéót oóaotá¿É oó81rá¿7 0ám1óá8 oó€Eltú9 oóE/lLá7l¡ 068tt67t oó€ó1672 AáE7tá7g oá€8tá.71 oófitá.7g o6aAt676 0á881677 o¿ECrá7e oeSDt6v, oó8Etó€o oótrtóEt oó9{'tffi, oó?l1óe3 0óGr2r6a4 0ó931ó6r Oó901éAó Oó?ttÉg7 0ó9órá€8 ú?7réFf, oát8tórto oó9916?r oó?Até?it o6?E1ó93 0ó9Cró9¿r oá9Dtó?t oó9Etá?6 0ó9Ft6?7 0óAOtó?E oóArrót? ome,170,0 0óáÍtt70t oóA4t7o/2 oóAt170¡3 0óAót7o,4 0,647
coDleo. OBEERVACItr{EB
ESCTARRAI{
INTRE
PARRA]*IffiA
BLOOT.|E
CDItoóIBAE3ADFglFEot2eo¿lCDF2o¿lc9CDgEoóc?1toft@DDt?c?DD?lc7a2DD7E@FEt¡rfro{FD2lc722c3olOJ3AEI27FE?62Ao3CDA8oóc9
24t{( u. A. 0. }}
INDICE DIRECCIÍIN. . COD¡OO.
CI]DIFICACIIIi¡ PRI]ERAM Mil{ITffi
17oa17út7l¡717É17ü'rTlot7l tt7t2t7t3t7t1tTltt71617t7tTlat7t?t7Íot7ett7a,t7ix,r7z117?Jr7i'GL727t7EtTin1730t73lt7s,,t74tt794t73,J173É.t737tTttBt73f,t7nt71tt712t713t7A17}Jt7161747t7|f¡17aqrTtorTrr17J?17t3t7J1tTrJt7J617t7tTJA17n9
06á8oóAtOóAAO6AEoóAcoóADOóAEoótFoóBo068l068eoó83oóDaoe¡gOÓBóoÉ87O6EEoót9069AOóBE06BCOóEDOóBEOóBFo6cooóctoóc2oóc3oácao6Gtoócáo6c7o6c8o&c,oócAoÉcBoóccoácDoócEOóGFoóDoo6DloóDeoóDgoéDfoéDtOóDáo6D7oóDeoéut06DAOóDBoóDcOóDDO6DE
4FAFFD77oo7ctFDfrFE?6I033CIBFI3EttFD77ooFD2Ec9oóoac5CDEllwcttoFEc93EF27FEotegOBDó02FEoo2A02l8FI3eFO27FEot20to
oESEiVACrfilEE
cfillcE
BLAI{CG
EECTAR
242({ u. A.0. }}
INDTCE DIRECCION.. CODIEO. OBSERVACTÍTTIEE
C[]DIFICACltl}¡ PRtlERffiA III]IIITIIII
Il{DI
1760 oóDFr7át oóEor7&, oáEt1763 oáEer7A OáEg17áf' oóE{t7áÉ. oóEt17á7 oAEó17ÉF o6E7t769 0á861770 oágtt77t oÉEAt772 oóEB1773 oóEG1771 06EDLTTA O6EEt77á OóEF1777 oáFOr77A OáFttTv, w2ITEO O6F3t7et oóF¿lt7f#,, o6Ftt7g, oóFór79/r w17'3t OáFEr7eá oóFt7a7 oÉFAr7e8 oáFB17e|' oóFGt7w oáFDt79t oáFEt7cn oóFFt773 0700L7?1 0701rTtt o7lJf',t7?á o70:tL7?7 l¡7o,1t7.re o70tt7.r, 0706rEoo f,707r80r o70FrEo¡r o7ü,lffil o70AtEo4 0708rEot o70Greoó o70Drfi7 07gErEo€ o7trrEot oTtoraro o7tlt8t t o7t2r81e o7t3tgtS 07t+1Et4 07t5
3AEF27FEoóFAEDoósoo&EE27c9IBOA3AEF27FEo7F2F9oót8EE*ott8EC3AD627FE¡loeot63E43n,Dó273ADfl27FE1?20oó3E8#2D327c9
(( u. A. 0.
TNDICE DIRECCION.
243)) CODIFICACII]N PRtlERffiA |IIIil¡ITffi
coDIOO. OESERVAGIONES
'4* RELOJ
CORREG
tBltr9tór8l7t8t€t9t9rgeoreatrBazrsaft18e¿ltgatrE¿ót&27rmerge?rgto1g3ltg¡etgttrgilrgtttgtótgFrTlgFrgt?rEforSattB4et6a3rwrB49tB4ór*7rB¿lErE¡t9rBtotEtllBterEtiltE5¡t1EÜ't8tó1Bt7r8t9rottr8áot86tt8óeIEáiI1Bó¡ITBó'18ó6lger718óEt8ó?
07t607t7oTta07l?oTtAoTtEoTlcoTtDoTtEoTlF0720072l07ü207í;¡072107?ál¡7?6l,7?7l,7?€07ü,oTeA07froTecoTino7íEo7tr0730o73ro73E07g0734o73507%0737o73Eo7g?07gn-073Eo73Co7i¡Do7*07#l¡7|ooTar071?07a307u071A0716o717071e071c|071A074.E074C
có03TBFBFEa320o¿rc3IEtoooc32+toEt¿r06@OEooCD8EoóCDBFoóc?2AFT27?3atAFEDAI2AFB?EEBü2F1tlFD2AFIü,G93eEF27CDc9oócq
EELEIIES
244(( u. A.0. ))
¡NDICE DIRECCIÍ¡N. . CODIEO.
CODIFICACIT]I¡ PRtlCRAilA II[]I{IT[]R
r8701E7tte72rB73re71r87trf¡76rf'nrB78ta7?rE80rEBlrE€Ere€81rBarüt1B€órá713881E?tfiotE91türe1e?fflErt¿lrEtletétúrlt6rtErFr''001901190e1903lrto¿l1?Ottrtoér?o7r908t90a19tO1911t91er913t91fr9ltrtrór?t7t9tEt919lc?N[n2ltcfi22{n23r924
071D07E07#07!ooTtl07á207t:l07'.oTttoTtb0717oTtB07á9oTtAoTttoTtcoTtDoTtEoTtFl,7¿lJl,76l07620763l,76,1076507#07a707Éfl076?076n^0768076C076D07ffi,o7ffo770o77loTn20779o771o77'o7760777o77eo7v,o77A0773o77Co77Do77Eo77FoTgo078l07e2o7B3
3AEE27FEUB¡to183AEC27FE3t20oó3Eol3AED27c9FE3D29FóFE49IF?AF1gFIFE2e2Ao¿lDEoó1eDC3AEC27FEI¿€EOFE372ADGt8E83E1?32
OBBERVACIÍ¡NE9
EECOAflr
IN}IE
(( u. A. 0.
INDICE DIRECCION.
1?29 07ütgnt'b oretLc7e7 07gEt!fiE O7e7tcreF, o7E8l'tao o7f'!,19:11 07BAr93a o78Bl9sr 07gcLcnn oTBDr9{tt 0TEEr93ó OTBFtcfrr7 07w190A O7?r{ftn oTrzlrtfo o7tÍll?tt o7"1t?&, o7?n19¿rA 07?6t9¡ll oTnl?¿tt o7ffitq{É o7?at?.17 07?A19¡le O7?Et9{9 079Cl?to o7frr9tt o7?|E19te o71Ft9tg o7áol?t4 07At19tt o7A219t6 07A3tcrJ7 07á,4t?ga oTAt19t? 07áÉ1960 07á7l?6t o7rct?&, o7A?t9áÍf oTAAt?& o7A¡r?ót o7rcL?& OTADtcrá7 07áE19ó8 l¡7tr19.6? OT¡Ot?70 0781t?7t o7B2tÍrz 0783{na o7e4t971 07Etr?7J O7D6r"76 0797t"77 07EAr?74 o7a?1cr7" 0TBA
)) cunlFrcAf,tbil pRoeRAt'tA tfoi¡ITon
coDleo. OB8ERVAC ITT\88
D3273EfrmDó273AEF27s3eEF27CDc9oó3ADC27FEólt20{sotnEFg73AEC27FE¿ro
202lGf3n,EC273AEB27FE{3eoo¡t3E2ATE02cóo332
246
{t u. A.0. }}
INDICE D¡RECCTON.. CODIOO. oB9ERVAC rfmE8
CIIDIFICACII]iI PRII8RAM iltlilITIIR
FECHA
treo oTBBt?8r oTEctcr&2 07BD19St OTBEtrt8t oTBFr?Et oTcotrt3ó oTctt9.e7 07c2t9e8 07c3trt69 07c4t9?o oTctrqlt o7c6rw? 07c7t9{rc oTcErn1 07c?1??g oTcA
'fn6 07c3
tl,'?7 07CCr9rta oTcDtcr'9 oTcEeooo oTcF2001 oTDo2@2 07Dr200ft o7meoo¿r o7D¡teoot o7Dtl200ó oTDtí¿'ü7 07Dó200ct 0m720(t|r o7D€?o10 07weolt oTDAeo12 07DB¡lot3 07Dceot¿r oTDDeott oTDE201ó oTDF2017 07EOaot8 07Ereor? o7ür,eoE¡o o7E3ztrlr o7E420in, oTEteozlt o7Eé2&4 079'zer oTEB2&6 07892ffi7 07EAeo¡F oTEE
"@4' OTEC
ao30 07EDeo3t oTEEeo3? 0TEFeo33 07FO2034 07Fl
EE27CD/lD07CDc9oó3E¡lc3eDC27c?cóollg2EC27tgEDcóo3t8FT3ADg27FE2820IF3ADC27FE4F20OE3ADó27FE3D20o33AED27FEoo2AItCDFD
247(( u. A.0. )) TI]DIFICAClt]i¡ PRI]CRAM iltl!¡ITffi
INDICE DIRECCION.. CODIOO. OBEERVACIOilES
eo39eqtó20ft72009zfrr?20foaotl2ü220t3eo{4eo/rt204ó201720¡t8?u?eoto20tt?,o/Jzz0tflaot¿r¡rott20t62A¿720t82o/1n?oóo20átM,eoáfl20ó420ót20É,62o€720éE2É?2070zo7l2l,7220732lJ71207J2076?r0772079?07?20€o20€taffil¿ffi,2OE¿T20ateo€ó
"@720€8zo/aq
o7F2l,7F3oTF4o7F5O7Féo7F7oTFeo'rF?OTFAOTFBoTFCOTFDOTFEOTFFo€ooGOtoEoaoqlflo€o¿roaotoao6w7o80Eo8c|lto€oAo€oBo€oco€oDo€o€o60Fo€roo8l1oEreoal3o€14o8rt@1óoa17oatSo€19OETAoSlEoSrcOEITDoalE06lFoa20oaelg&2?o€e3w4o€¡rtñ2é,oa27o8e8
BffiRA}I
oócc,FEtoE1fIEF6FEE,eoF23AEE27FEotIo¿lCD9l07c93Enn,Dó27c?oó3D3EooDD2lFF27DD77ooDDEBtoF?c?3AE927FEoom2b3AEA?7
ESCCf,Gg¡
(t u. A. t]. ))248
CI]DIFICATT0II PRI]CRA}IA IItlI¡ITffi
coDIOO. OBSERVACIONEEINDICE DIRECCION..
2090 06e92@t o82A2üt? oeeBeoilt ogzc2094 082D20|'t offi20eó otrtFí¿Cn7 ogtoaot8 oglta(,rrc, oBSe2100 08331erol 0834eroz 08352103 083ózroa o€Í17ztot o8:pe10ó 0gt92to7 omAero8 08¡tB?rüt o€flcetro ogflD?trr o8ÍlEzrle o83Felt3 oE¿to2tl¿l €¿t tettt o€/ra?tt6 06¡132tt7 Gf4ettB o8¿lt2tt9 06+ó2120 w472t?r 0848?re,? O84?2t2g o8¡tA2t21 0A4B2t2J OAaC2t?6 oa/tD2t?7 oaiEztí¡F oeaF2tü, oBtoel30 o€tr2t3t ogteet32 08t32133 08D4e134 o8ttet3t o8tóer3ó oEtT2137 0€r82t3e o8t9er3? oatA2t10 oBJBetlt oBtc2142 08tDer43 0B3E2144 0B9F
FEooeoa?3EOACD1é073E671E4tFEoleoo93EOBCD16073EóAtgu3EocCD46073EóDIE283AEA27CD+6073AEF27FEotze3EFE022g3óFEo32A
{( u.4.0. }}
INDICE DIRECCION.. coDloo. OBSERVAC IÍNES
CI]IJIFICACIt]}¡ PRI]ERAM iltlillTtlR
21{5e1¿É2t+7atfS?,t1?etto21tt2tmettSart¿l2ttg2tg62tJ7elt82tt??r60?t6l2t&22tó32té1e1ót2t662t67?L&2t692r7l¡2r7t2t722t732174217áet762t772t7A2t7i2180etal2rú22rE8lel6¿r2tBt2tae,2ta7atES2tffie19021912t?221932rr4er932t95et?7et98?t??
o8ó0o8ó1úbilo€ó¡t06ó¿t06ótww7o8óBogá9OE6AOB6Bo8óc@6Do6óEo8óF0670o€71@72o873w74oaTto87áffi770679oa79OETA@72o87CoaTDoaTEoaTFogaoo88to88a08831o€€4o€8tO8Eóo897o€Eo€€9oSaAo€88offio€aDogEEo88F0690oatttof'qr?ostSog94oa99oa9ó
249
2EFEo42A26FEot2eIEFEoó28t6FE078OEFEoa2eoó3E61&,DC27c93E6t18F83E:'Er8F13E
'Bt8FO3Etat8EC3Ettt8E83EJ2t8E43E4Ft8EO
{{ u. A.0. }}
INDICE DIRECCION.
C0DIFICffi I0¡¡ PR0eRAilA l-l0t'llTtlll
coDroo. OBEERVACTÍTNES
ECAtrl
eeooe20tü'o/12220312e.442¡lot2eoáü2l¡7uloBünq22tO22tt22t22?t3?2t122tt2?r622t7?,?te22tc,zin.O?ü2,1ifrP;2?fziEtün12W2?E,6e,?P7üE,;E2A2qaxneefil?232?fE'f¡z?.itlüffJü&axtT22:naí,fn?r?.f,221122422443,?214221f,22167í217??¿1e2?1922JO22tr229.22293?,25,4
w?7ogrEwnO€PAo89Eostco€9Do89Eo89FoaAooaArogAeo8A3o8A4OEAsOBA'¡06A7o8A8o€49MAAOEAEf'EACOBADOEAEOAAFoaBoo83loEEeoaBSGEIOEBso8E6o8B7OEBB0689OABAOAEEOEBCOABDOAEE06BFoEcoo€ctoac2oac3o€c¡ro€c5oBcóoBcToBcEoac9oacAo8cBo8cco8cD
3E4C.t8DCo8D9lto1oo6A4Agil427A32F¡I?7DD7EooD3ol7BD3027AD3to7DDg4l7?D3127CD3go78D3gt3AF427D3e2ct3AFq2747loFEctAFD3
251({ u. A.0. }}
INDICE DIRECCION.. CODIOO. OESERVACIONES
CODIFICACItlN PfiOORAM iltlilITtln
RELO.,
2ett22J6?r2s72eta22J?22áOzablü2&,?f26g2264?f26t22ffi?,2b722É€?2á??l27o227t?f2722?732?71?;27J2?762277227eaílv'zffiü'€lú¿gÉ2zffie¿€.1zfrA2&?r?.47zffi2?€f'2¡l902ülr?]Ffr1,üFraüEl1a?Fr'eüt62úr72úra2in9zÍfoozSt230ee3fff2304230J2fi62307e30€2309
oscEo€cFoSDOOEDloaD2€DEloaD¿toaD3O6Dóo8D7o8D8oEDrtOEDAOADEoaDcOADDOSDEOEDFoSEOoaEtoSEeotr3o€EaoffitO€Eów7OEEEoÉtO€EAO€EEoaEcOgEDOEEEOSEFOEFOotrtotrzos3oF/tofrtotróotr7o6F8otr?O6FAOEFBoSFCOSFDOSFEffiFo9ff)o90ro?oeo9030904
otDD23CB13CEt2CBItCBttCB14CB103AF427CB173í2F42730ctttc8FFDDt9D9OEc?CDAGOB3ACD27FE40EOEFE¿t3
moóc6o392CD27c9Dá1B
252t{ u. A.0. }}
TNDTCE DIRECCION.
|]0DIFICACIt]N PR00RA|'IA il0]'llT0fl
coDlco. oE9ERVACTONES
4310?3t I23t22313e3l4e315231óí|ftt7e3lt82ftt9emo23F2r23f2223¡lft23f21a3et23l2b7.&27?ffr,€z3ln2Íil10233ttegn23Er|?91eqtt23Etó23fr723¡Eesil?e340e34t?,342e3+3?Ín423¿tJ2{á2347e3t8a3/|,c,23tOeStte35ee393e39423tt23tó23J723t823t9e3óoe3ót29,62?3ó323ó,4
o90to90óo907o90EoFo9o90Ao90Esloco90Do90Eo90F09roo9t t09le09l3091{o?tto?tówt709r9o,9tqo9rAortBo?lco9tItor?rEof,rFoqreoun2lür22st93o?24o92$ofr¿cÜ,8¿7ot28afinort2AoteEort¿c$rimo9eEocrtro9fno93lo93eotSffo?Í14o?3to93ó$nt7o9ffio939o93Ao93B
18F8ffia3g2CD273ACA27FE43eooóDóIB3eCA?7G9cóoÍtFE3720Fó3E¡r332CA273Act27FE4E20t23Ac427cá(}332ca27FE4320ot3E2A32cr27
253{( u. A. 0. }}INDICE DIRECCION.
CI]DIFICACItlI¡ PRI]ERAM ilt¡illTtlfI
coDroo. OESERVAC I TINES
2%'2%23É7e3ó8frt69?flO237t2372?;373/2374237J2376?,3772378,?l37?¡l3AOesgl4nÍHro238¡le38t2ütÉ,2fi723€8e3€92¡|9o¡lÍt9r?frn223?3?r11e39t23Fr623Fr7a3fraz3f'{'a/rooefot210/22¿to:l240,1a/rot?40.6?407e40a2&.1a4toa/u I21t2e4t3¡41¿r24tg?4t6241724tA24tq
o93COPSDoefEoqt€F09¿loor'¿r1w1?,ort¿13olt+fo94to94ów4709¡$aw1?ort¡lAo!t4Boatc09¿lDoc¿rEoe4Fo0tootrtoqmoetÍlof,tao9t9ootóürt7o?tg09t9095A09sBfft3cstSDo95EortFotóoo0órütáí¿,o?ó3of'.á4o9ó9otááw67w&gq6?09óAo9óEo9óc096DoeóEo?óFoq70oq7lo?72
c?3Ac427FE4320o43E2At8E8FE2Afr073E49nct27t8FI3AE827FEoo2Ao3AFIBotCDD{073Eot32EB273EEBtac73AE227FEot20o9CDt5o6
DOE PWTOS
254(t u. A.0. )) CNDIFICACItlN PRI]CRAM iltll|ITffi
coDloo. OBgERVACIONES
EgPAC¡O
LETRA A
INDTCE D¡RECCION.
24?O Oq73e/$et ocr712ain, urTJ24e3 09|tá2&4 0p,772.,2t ür7e2+26 W7?2127 ofITA24fr of/TB24fr OqTC2/130 urTDef31 0978244t2 0?7F243Ít (xr€o
"1iyt otEr
2{35 09tr1243á O9ül2137 orE+e¿r¡F o?Et2$n o?8ó2¡140 0987244t GtE?l4a 09e9e1+3 Crt€A2441 0rt8Ee44t sr6c2# Otr€D2|*7 ort€E24t8 098F211c' O9gOe4to ofltte45t owz24J2 0993e4t3 0994?4Ja O09te4tt . ün62+16 ürn21J7 oilr€eat8 ürnzl''Ct OqiltAe4@ otrtB2#t ott9c246? O9?De4ó3 ütrtE?4& O99F¡t4ót O9AOzrc O?At2&7 0?A??w o9A324óc' O9A42470 09At2471 OtAó2472 0?A7?473 09A82474 09A9
3E16DD77ooc9frl¿lAF17¿rF
J7
'Fc3AT09AF47#óFJ7
'FG3AIo93ADF27FEol20o¿l&EB27c?EEEo6OPOEo9tóo?IEEE26ooCD76oóc9oó89OE
LETRA B
255t( u. A.0.
IND¡CE DIRECCION.
))
247J?47624772174247?2¿lgo2/l3t2&2a¡$sl24f,,4e48tEM24472¿t8824€f'e4?oe/s9t2412zrytqt?1?1e49324?6214721?E?4W?tooztor2Jú2atoSeto4atotztoó2gf)72lo8290qtattoatlt2rt22tt32tl¿t2t1t2ttó7"gt72tt82JTC'ereoatetzriE2ziliEt2Je1aJe.J?J2á2'¡272J2A2e29
OIIAAg'ABoqAcOT'ADoaEO?AFo9EOo?Elun?o9B3o9E4o9BgO9Eóv'a7qtBEo.tE9O9EAOI'EEtrtBcO9EDO9EE09BFstcoof,crotce(rtc3o9cao.tcto?cóvrc7o9c8o9c9o9cA$?cBotccolcDff'GEotcFo9DostDlgrmo9D3oeDfo9DtO?DóocrD709D8o9ulS'DAo9D809DCO"DDO9DEO9DFo9EO
COIIIFICACItlN PRI]ORA}N iltlillTtlR
coDroo.
89tóE9IE4tEBFtgEE2EffioóglOE8ltógt1Ea2t8E2oó8tOEETt68tIE3EIEEóoó89OE89tóE9IE81r8DCob09OEo9tó091Eol18D22E3Eoó81
OESERVACTONES
LETRA C
LETRA D
LETRA E
LETRA F
LETRA O
256({ u. A. 0.
INDICE DIRECCION.
)) TIIIIIFICACIÍIN PRtlCRAilA I'II]iIITIIR
coDroo. OBSERVAC I ftrlES
LETRA }I
LETRA I
LETRA J
LETRA K
e930et312t3aet¡fite$tc¿t3tt2tgó2J37zrfF
"tfr2t¿lo2t¿tt2J122t¿t3l2W2tft2*á2*7et{8ett92rtoetJtzJJ"ettSett¡retttattó?J'72tt8ert9etóoEJó12J62etó32Wasót2W2f'É72ró82#3'2J702X7l2f'7223732|,74aJTg?J762J772J7e2á7c'etgoztgt2g8ee!t83etE4
o?Elo?Eeo9E3o9E/ro9EtOI'Eóü]87O'EBo9E9O'EAS'EBo9ECO9EDO'EEOfEFotFootFtU'F2orF3o9F4o9FtqrF6o?tlOfFBo9F?O''FAO9FBorFcO''FDO9FEO?FFoAoooAoroAoeoAoSoAo4oAotoAfróoáo7or08oAo9OAOAOAOBOAOGOAODOAOEOAOFoAtooAl roAtzoArSoAt4oAltoAtóoAtT
OE8t1ócrlIEEE18B8oóogOEo€t6o8IEBF1EECEEIoóBFOEBItóooTEooTBA2frAOoó80OEBFt8F2oóo9OE14t6aIEcooó80OE€otó80IE80t8
LETRA L
r( u. A.0. ))
INDICE DIRECCION.
ctltllFrcAcÍbí¡ pnnenAm iluirrToft
coD¡oo.
e58t2W2l'tr7e!882tgtattoe$?railte2tcftalF1et9t2'P62rcr72t?8zrcr?2&eóor2ffi22éO32&2óOg2&62éO7eáog2#'2óro2átl26122ó13261+eólt26t6?'617?6te?'6t1'zéeo262t26in2&2&12&2J2&626it7a6?€2Éip2óínzóftt2É8neófrt2634263J?,63É26372ó382639
oAtEoAt9OAIAOAIBoAtcOAlDOATEOAlFoAeooAeloAe2oAeSoA24oAetoAeóú27oA?goAgtOA2AOA2BoAzCOA2DOAEEOAzFotoooASroASeOAfiIoA3/roAStoA36oA37oASAoA39OASAOA3BoAocOASDoA*oA:fOA¿1O
0lA¿lt0n4eOA¿I3OA¿I'0n¡tOA¿Ió0É,47OA¡T8ona?OA4AOA4EoA4COA4T}OA4E
q6oó02OEoctáo?t8CE0602OEo/rL6o818céoéEtOE8ttó8tIE3EEtrc3AIort3ADF?7FEot20ot3E@c393o?oóü,OEütt609TEo6c3AF09o68t
OEEERVACITINES
LETRA II
LETRA N
LETRA O
LETRA P
LETRA O
258({ u. A. 0. }}INDICE D¡RECC¡ON.
CÍ]DIFICACItlN PRI]ORAI'IA III]i¡ITI]II
coDloo. OB8ERVACIONES
LETRA R
LETRA 8
LETRA T
26402&lzffiÍlót32b11zilt2é{É?'ú7e6¡rE?{9abJO26JlzáJ?eót:tzbi,Éeétt2é|'É26J7eót€26ú'?,6ál)2&L2&i22&32&1?úJzffi2*7eéá€2#i2670267126722673i26712á7J?á762677?;6:re?b1f.,eó8026Et?6&,eó932úE,1eó€t26€F?87zffieé€q,269(,2ó9126922ó.93?'694
OA4FoAtooAttoAteoAteoAt¿toAttoAtáoAtToAtSoAt9OAgAOA'BoAtcOA'DOA!EOA'FOAáO0A6toA6eoAbS0rA64OAÉ'0A6ów7OAó8OAÉ'OAbAOA¡EOA¡COAéDOA6EOA6FoA70oA71ú72oA7:lú71oATtoA7éü77OATBoA79OATAOATEoATCOATDOATEOATFoAgooAStoASeOAESoA84oA85
OE9tt62tIE9E1BDAoóo9OEt9tót,IE8óc3AF09E26oówOE89tb8rt1E3ec3AI09oóotOE8Ft6otIEolEotc3A1o¿,E3Foó80tó80IE3FOEgo
LETRA U
?59
t{ u. 4.0. }} C0DIFICACI0iI PR0eRAilA lltlt'llTffi
INDICE DIRECCION.. CODIOO. OBSERVACIfilES
2ó?g26?626?72ótB?6AA27llo27l¡1?itgr227o,3270127oJ270,6270727ffi27f,?27rO?7tle7t227t3?|ttaaTtJ?7t6?7t7?7te?7t?27=O?7i2127?f¿,?782721272J27262727?7iB21rü'27tn2791zÁn
'¿nfiz'ft,.279,J273É473727s27gl27{f,27112712?7+32711271J271ó,?747274e?¿74q
oA8óoA87OAESOAE9OTEAOAEBOABCOA€DOASEOAEFoA90oA?1oA92oA9floA9aoA9toA.táoAqToArt3oA99OA9AOA'BoA9COA9DOA|'EOA'FOAAOOAAToáAeOAASOAA'OAA'OAAóOAATOAAEOAA9OA.lrOAASOIAGOAADOAAEOAAFo80OAEIOAE2OAESOABIOAE'OADóOAETOABBOAB9OáBAOABBOAEC
c3AT09¿ETFoó201óeoIETFr8FI0620OE18l6eoG3EF09oól4OEo€tót¿lTEA3E,A3G3AIoeoóoaOEBBlóo¿lTEo3Eo3c3AIo|'?EAI069tOEa?1ó
LETRA V
LETRA }I
LETRA X
LETRA Y
Un¡nridotr |ubnorno cl ',,r ao,t0lp:¡ N,[. u.¡¡.¡t
LETRA Z
(( u.4.0. ))
INDICE DIRECCION.. CODIOO. OBEERVACIONEE
260CI]IIIFICACItlI¡ PRI]ERA}IA I.ItlIIITffi
E¡OltlO rl
8¡OltE +
8toñlo (. ,
gIOltlO (
ElOlrE ,
27',O OAED27JI OAEE27|'f¿ OADF27|'ft OACOtf¿1 oAct27t3 oAC¿?7# OAC327tr7 orca27flg oACt27J' OACó2760 0AC7276r OACE2762 0AC927áf¡ otCA27¿4 oACB276J OACC27éÉ OACD2767 oACE27É€ OACFt á9 orDo2770 oáDr?771 OADa277í¡ oADff2779 OADa2771 oADt?T77J OAD6277é OiDT2777 oADB?77A OAA'?.779 oáDA27ffi OADB27et oáDc27ú2 oADD27t¡ OADEí'73a OADF27eJ OAEO21tü O Et27E7 oáEe2:r8 oAE:l271ü' OAEa27tO OAEJ?V?I OAEé27cfr2 0tE7T,rre OAEB27?4 otErz:'I'J OTEAtfrrá orEBtfrn otEcz7''E OAEDTTN OTEEzeoo orEF2EOr OáFO
"ffi? oAFl
eBo3 0AF22AO4 0AF3
E'IEgEl
c3AIoc¡Eo7oóooOE07c3F909OEGt606TEo8oóo€Eoec3AI09E60oó@OEooc3F?09EtcOE81oóulc3F9o9fr,8tOEtcl8FIEooo6
SIONO ?
(( u. A. t]. ))INDICE DIRECCITIN.
C0DIFICACI0I'l PR0eRAm il0illTt¡R
coDroo. OESERVACIO¡IE8
gIOñE
9¡OltE !!
Sror|o t
Sloilo 7.
e809280óffi7e80€w,eB10zell?Fr2eal3e8l¿le6ttzBt62et7EEIB2€r?z€eoffi,rffinaEe:tffi4affiJffibffi27ffiEffinagnegttz$rl¡l&f,t2*l{eSE teggó2€Ft7¡rgt8aÉnzE¿TOMTí'a42¡F¿t3tw¿€4J2WM728¡18H?zEgoeBtr¿ete26t32AJ12Ett2eJ62AJ7e8t8ea'.?
OAF4otFSOAFów7OAFEoáF9OTFAotFtOAFCOAFDOAFEOA,FFoBoooDoloEoeOEOEIoEotoEotoBoóoBoToEo€oB09OEOAOEOBoEocotoDOEOEOEOFoE10oEt IoBt2o813oE14oEltoBtóoErTo¡18oEr?ottAoEt¡oEtcOETDOEIEOBlFoBaooEztoEa2OE¿3oBe¿loE2toe26oe?7oEa€oE2?OBEA
261
02OEcn1óot1E02G3AIortOEo8tóooIEoo18ccffi,t¿1061¡lOE1{c3F9or'É.E062AOEBFlóAIE3Ac3AIülAEeooóL2OEoat62118D3CDc?09CD?r
ENERO
tt u.4.0. ))262
|:IIIIIFICACItIiI PROERAM ffiilITffi
coDteo. oBEERVACtftt{EE
FEBRERO
ñARZO
AER¡L
ltAvo
IND¡CE DIRECCION.
e8óo oBeEe8ó1 0E2Cw, oEeD28á¡r O¡¿EM OE¿FeEát o¡30w otStí¡€E7 0E*ÍtEဠoBa¡t2%9 0B3fae70 0E3s2s7t oE3ófr'nl 0837
"fgnt oESB
í¡g;71 0E3t?F'J OESAfrzá OBS?877 0E3C2878 O83DEt t, oBce€€o oDsailt o8¡lo
"'ü2 oEar¡Efft ü&2É¿r o¡43¡lÉt oD¿r4eÉó o8ftffiT oDfóe€e€ oa1721lff' OE¿IE28f,O OEt?e8et oB¿tAffiz oE{B8?1' OE¡]Czg?1 oEfD¡illt oE¿tEÍt€f,ó oBfF8?7 oBtO#E OEtláü, o¡t¿21r{x, OEt3*rot oDt¡lacrof', oEttsroS 0Et62rn1 0Et7arot oBtS?/Ítú oEstgroT oEtAaro€ oEtEüro? oBtca9ro oEtD¡l9tt oEtE?9I2 OBDF29t3 08óO2914 0B6t
OACDc9ocCDEFoóc9CDD3oeCDc?ocCDA709t9FICD19OACDecOPCDJ7OAtgEóCDgco|'CDA7o?CDt7OAleF3CD19OACD8CoeCDA9OAl8D3CDFFo9
JI'NIO
263(( u. A.0. )) c00lFrcAcltli¡ PR0eRAm il0illTfil{
¡NDICE DIRECCION. coD¡oo. oESERVAClfihlEE
e?lt?crt62"17e9rE4?tt,üri¿oí¡fntúfa,útl,f¡ü'¿.1ütil¿2cfi26ün7?C,TEút?/',elitoütitlüfin,úuxt?cl:{gtitt?lf111€í'fil97üftnüt3?ürrcút+tí,fr|í,,7)43í¡!r..a9+Jí¡4'/162?17e9¿rBüraaetto2ttlürf'f,t tite9t¿lgrttn*?/!u7e?geett9üráoürél?fráfr2e9áítfr42?6J29/ó,62Eé7?fró,A29,6?
OEó2OEó:IOEá'olátOBóóo¿é7OBéBo¡69otóAOBó3OEóCOBóDOEáEOBÉFot70oaTlo172oB73oBTtoBTtoE7óoD77o37'gQE7?OETAaaTEoaTcOETDOETEotTFoBeooEErOEBzOBB3OEE¿IoEEtoEeéOEEToBaSOEEEOESAOE€EOEECOEEDotEoBsoBtooE9roBrff,,o¡93oB9¿toB9toB9óoe97oB9A
CD7COACD?rOAtac8CDFFo?CD7COACDOFOAIEBDCDgco9CDDDo?CDü,o19
',2,CDé2OACDe?cFCD3óOA18A7CDfrOACDl3oeCD#OAIB9CCD2lOA
üx-Io
AOOSTO
EEPTIE}IBRE
OCTUERE
NOVIEI{BRE
264(( u. A.0. )) CI]DIFICACltl!¡ PR[]EAA]'IA }I[]}IIT[]R
INDICE DIREGCION.. CODIOO. oBSERVACTf$lES
2ct70 08994r7t oBtA?ft72 0E9DE7s OE?Ctn1 oBrtDünf' oErtEt 76 o¡tFtt7, oEAo2?7e OEA1fr7? OtAazrt€o oEA3gt8t oBA¡lzqgf¿, oEAt2?gEI OEAóilntt o',A7atet 08AÉatgó otA9üffi oEAgts oSAEürü, oBAceql{ro oBADünt o¡AE24fil oEAFürxt ot3o?,í?1 ottlüt J o¡¡2?/|116 0833trn oE¡fí¡fna oEEtÜTT' OBEé3000 0BE73001 oBEB300e oBB9300:t oEEA3001 oBtE3001 oE c300ó oE¡D3007 oE¡E300€ orlF300t oBco30to oEct30tt oEce3012 08C33013 oBc¿t30la oBct301t oEcá301á O¡C7&17 oBcB30re oBc?3019 oEcA3@O OBGB30et oBcc3oi122 oBCD30e3 oBcE30e4 oEcF
CD4'OACD89OA1E9tCDBFotCDFtloeCDE3v,IB8ó3AEI27g2Fá273EOt,FEoo20OB*ot*FZ273E17n,F927c9FEolao093E02g2n273g36t8
DICTE}IBRE
Aü'gTE
{( u. A. 0. }}265
ü00IFICACl0lrl PR0eRAilA ll0t{IT0R
CODIOO. OBSERVACTONEBINDIGE DIRECCION.
30e5 oEDO30eó oEDrxw oEDeffi oButffin oEDaS(xto oEDt3qil oEDá3qte ol,D73dill oED€3Gt4 oBUt3OE' ODDA309á oEDB30(|7 oEDC3fiF OEDD3frtr' otDEAO¿lo OBDF30ar otEo30re otEr30tif oEEe30{¿l oEES30tt oEEt30¿1á OEEt&17 OEEó30¡18 0EE730+9 oEEg30to oEBt30tr oBEA30t¡t oEES30tft oEEc30tf oSED30tt oBEE30tó oEEF3097 oBFO30tB oBFr30te oEFe30Éo otFS30ót oSFo30óa o¡F30óft otFó30á{ oaFT30ót oEFt30óó o¡Ffub7 OEFA30ó8 oBFt30ó9 oEFC3070 oEFD*7t o¡FE&7E OBFF30zt ocoow1 ocol307t ocoafi76 oCO¡t3077 0CO4307e ocot307q ocoó
EFFE@,eoü,c&,ü2F7273E#l8e2FEo:t20ü)soo&,F727G17lg3BFEo¿t20o?toonn27*39l8iEFEot20gt3Eoe3at?27s¿t8
l82lFEo6
(( u. A.0. ))
INDICE D¡RECCION.. COD¡OO.
CI]IIIFICAC ItlI¡ PRtlERAilA
3oEO30e130qt30el30ea3€t3€ófle730s3Gt30?o3t'|rtSgte30rti330?f30tt30tó*?730tg3oriltSrooStol3roe310:¡3ro¿tStot3roégto|,3108310|'Slro311r3rt23l133t l¿tsrtt31163lt731183lr9Sreo312r3t?tr31e33te¡r3rat3t2égt?|,grü3tü,31303r3r3t3e3t3El3134
ocoTocogocotocoAoc03ocococoDocEocoFoGtooct toc12oc13ocltoGltoclóú17octEoct?octAocrEocrcOGIDoctEoctFocaoocetüÍ'c,oc¿3ocerocztocaóú27oceBoce!'oceAocaDocacoGaocaEüüocaooc3locSaocglocStocStoc3áú37ocsúg?ocSAoc38ocScocSD
266
lttlillT0f{
OBEERVAC IONEE
Ll8 TECI-¡IS
20o9*GI3eF727t3t18taFE07¿og?3EG'3entftüt807c@,3aF7273E3ác3coOECDt810c3lcooc3tcooooooooG3lcooooooooc31Coo
{( u. A. t]. }}INDTCE DIRECCION.. CODIOO. OEEERVACITIñIEg
CI]DIFICACItlI¡ PRI]ERAM iltlilITm
3r3t ocSE3t3ó OCr3137 oCfO3133 ocrl3rt? oc¡t231¡tO OCaS9tt1 oc¡ra3r¿le ocat3r{3 0c¿1ó31{¡r OC17Stat oc¿lB31¡ló OC{93t17 oCtA31/rg oc¿lE3lf9 ocfcStto oc¡lDSltl oc¡lE3rla ocfF3tt3 octosttf octrsltg ocra31tá OCt:r3tt7 oct¡t3r!€ octJsttt octó3róo octT3tát oct33táa octt3ró:t oc9A3róa octE3rót octc31ó6 oGtD3L67 oCtE31ó3 oCtF3ló? ocóo3170 ocót3r7l ocáa3t72 ocóil3173 ocóa3t71 0C6t3t7t ocóó317ó üá.73177 0C6€3I7E OGó?317? OCóA31EO OCóD3131 oCóCSrEa ocóD3rqt ocáEstE¡l ocáFStag oc703tEó OCTI3ra7 w723r8A oc733189 oÉ74
267
ooooooc31Cooooooooc3lcooooooooc3tcooooooooc31CooooooooCD&,07c3lc@c3lcooooooooCD¿lA
ooc3tcooc3tcooooooooc3lcoooo
t( u. 4.0. )) coDIFrcAcffift pnsenAm iloi¡tTon
¡NDICE DIRECCIOiI. . cODIOo. OBEERVAGIOIIIEB
3190 0C7t3ltr ú763r9e ú773tt3 0c783t?t ocTtSttt ú74319ó OCTE3{n *7C3rt3 0c7D319? OCTE3eoo ú7F3¡lor oc80320e ocErSaql oc€e3eoa ocglSeot ocga3AOó OCB'3/i2l,7 ocgóSeoa ocgTseor ocÉSero oc8?3elr oceA3?1" oc$fl13 oc€c3elf ocgD33lt ocÉg,,16 ocsnt7 ocrto3218 OC9l321? OCtegiac, oc?Í¡Q?tr't oc9¿r3lün oc?t3füx, oG?ós¿.l *cn*E;f, OC98wá oc??gir? octAw oc?tfim oc9c3A¡O OG?Dfl31 ocrtEgiEn, oc?F3¡r|3 oCAO3Étl4 ocAl3Eril OCAaffitá ocA3gE7 ocAr3¡n€ ocAtgHN OCAó3fu|f) ocAT3?1t OCAB3?42 0CA93243 oCAA3244 oCAB
ooooCD9Eotc31Cooc31Cooooooooc3tcooooooooc3'lcooooooooc31Cooooooooc3tcoooo@ooc3IGooooooooc3tcooooooooc3tc@oooo
t( u.4.0. ))269
CI]DIFICACIt]}¡ PRÍ]CRA]'IA }IIil¡ITt]R
coDloo. OBSERVAC IONEE
Uni6¡s¡¡¡¿ tufonono É¿ ¡A¡-r"0ep:0 frfiir6tr,1
INDICE DIRECCIO]'I.
32{5 oCAC3l2|É OCAD3f217 oCAE3a¿t8 OCAF3121? OCIO.3eto ocEt32tl octetrm oc¡33a*r octf3eta ocBt3ett oc3ó32tá OCBT32l,7 0CE832t€ OC¡93e$t octAsráo ocltmól oclcnái| ocED3¡tá3t octEgi¡É| oc¡F3a6g occo3g2áÉ occlffi,b7 occegi,,€ occ3s¿hl occ¿t3fno occt*nr occógtn, occT*t7? occgfi271 0CC93inf, occAer276 occE3/277 oCCC3Éne occD3fri'' occEseEO OCCF36r OCDOslEa ocDrsaqt ocDes& ocDfftrE OCDaSEó OCD'3iE7 oCDó3Em OCDTffi? OCD€4r?o ocursatr ocDA3fF¡¿ OCDE3¡lfit ocDc3ín1 ocDD329t OCDE3l?/f16 oCDF3?f17 oCEO3ü'{¡ ocEtaúrct ocEe
ooc31Cooooooooc31Cooooooooc31Cooooooooc31Coooooo@c3tcoooooo'ooc3tcooooooooc3lcooooooooc3lcoooo@ooc3tcoooooooo
(( u.4.0. ))
IND¡CE DIRECC¡O¡I| CODIOO. OEEERVACIOI{EE
270CÍ]DIFICMIIIiI PRI]ORAM Mi¡ITffi
3300 0GE33Ínr ocEffitoc ocEtstGl ocE¡sto¿l ocETSfnt ocEBstoó ocgt$ff ocEA3frG ocEE3309 oCEC33tO OGED33tt ocEE33ta oGEF3313 oCFOSfft¿r ocFl3Íilt ocFe331ó OCF33At7 oCF¡t3318 oCFtgtl? ocFó3Í120 0cF73341 oCFBfffr, OGF?srgt oGFA3EP¡1 OGFtgrrt ocFcgf¿á ocFD*frt ocFE33e8 oCFF3fr¡t oDoo3gn oDor3¡rt1 oDOeSSle oDoS3:r*t ODO¿r33er oDot3r3t oDoó3:Xtó ODOT3rxn oDo63fffi oDotSI}' ODOA33¿rO ODOI33{1 oDOG33¡le ODOD33f3 oDOE33¿l¿l oDtrst¡rt oDtogtté oDlt3in7 oDre3ft¡r€ oDlS3Ít¿l? oDta33tO ODtt33t1 0D1633t2 oiDL73393 0Dl83394 0Dt9
c3tcooooooooCDg¡o0c31Cooc3tcooooooooCDc3OAc31Cooc31CooooooooCDOFOBc31CooCDtcOEc3tcooc31Cooooooooc3tcoo@ooooCD
{t u.4.0. }}
IND¡CE DIRECCTO]II.
CODIFIcdfdil PRIIBRAI'IA il$.¡ITffi
coD¡oo. OE8ERVACIütlEB
33tt33t63:tt73:¡t€3:tto33óO3¡bl3Í¡áAsóft33ó¿[33á$3ft6ó3ú733ó93ftó?gt70gr7l3l3;f23¡f733/í{r13fr7tgné#Tl3ffle33r¡t33tO3::l3:Fe333Íl338¿l33et338ó33973:rE93f:tsr?o33?lgr9asltS33tf33rtt339ó3g?733te3:t7t3¿roo3¡lotSfoe3¿ro¡t3no|¿l3¿rot3¿toó34f,734083409
ODTAODTBODIGODIDODIEODIFoDaoOD¿IoDeeoüÉlwaloDetoDa6sfia|,ODEEO'DetODCAOD¿EoDecODEDODEEODAFoutooo¡ltoHl?oBttoDttfouftoutóoDffToD38oDfl?ODSAODSEODErcOD¡IDoü-oufoDfooDal@ceoDfsoD¿r¿roD¡ltoDaé0D/t7ODIBOD¿I?oD¿tAoDaSoDacOD¿TD
OD¿lEOD4FoD90
E2OAc3TGooCDEDOAc3tcooc31GooooooooCDccOAc3tcooc3lcooooooooCDFEOAc31CooCDD9OAc3lcooc3lcooooooooCD7Fo¿rc3tcooCDIF
(( u. A.0. ))272
CI]DIFICACIt]iI PRtlERAilA III¡]{ITIIR
INDICE DIRECCIÍ¡J{ CODIOO. OBEERVACIOT{ES
34103¿t1t3/lte3¿rt33¡lla3¡rtt3alóultT3at8341?3¿r¿o3¿ret3$n3¿rg¡3¿lea3¡ret3&but273¿l3g3¡r¿?saffo3¡tif t3firl3fÍ*t3fitt34itt3fftó3/t3|l3¡X33¿tit?3¡t¿103441344¡23¿l¡lÍt30443f¡rt3¡l¿lów73l¡183¡l¿193/rto3{513/rteSttflSft/t3/ltt3/ltá31J73{tE3/tt93fóo3,46l3,4á,234ó33464
oDtloDte0t:loD!¿]oDttoDtóoDtToDt€oDtcOD'AoDttOD'GOD'DODIEOD'FODáOODó1oD6eoD6ffODá'ODó'ODóéOD¿7ODó8ODó9ODÓAODáEODáGODóDODóEOD6FoD70oDTloo7?oDTitaDTloDTtoD7áaD77oD78oDTtODTAODTEoDTCODTDODTEODTFoD80oDarODtrIODBSoDa4oDatoDaáoDaT
otc3tcooCD7Fotc31CooCDDFotc3tcooCDfoec31FooCD?F02c3TGooCDtr02c31GooCDIFo8lc3IGooCDEFogc3tcooCDIFo¿tc3tcooCD69o9
273
{( u. A.0. }} Ct]DIFICACIf]iI PRflCRAilA }ItlI¡ITffi
INDICE DIRECC'OñI.
3/ró3 0D883¿tóá oD€9g#7 OTEA3tó8 oDAB3/tá? oD€c3.,70 0D8D3/tTt oDs3tt72 oDS3473 0D903174 0Sl1utTJ oD923.¿t76 0D9¡l3177 oDC/ra17e oDet?tt7" olrtó3¡t30 oútn3¡l3t ODOS3¿rEe ostrt3¿tgt oDrtA3t€/r ounS¿let ostc3¡IEó ODI'Dw7 outE3fe8 oDqrF3a8qt oDAoStrto oDAl3¿t?r ODAa3/bqi2 0DA33¿$t:t oDA¿t3f?t oDAt3¡t9t oDA6319.6 0DA73.4c?7 0DA83a?g oDA93I?9 ODAAsloo oDAE3to1 oDrc3!roe oDADsrotf oDAE3to+ oDáFStot oDto3!Oó ODtt3to7 0D¡¿3to8 0D¡33JO? ODEI3t10 oDBt3tt1 oDBó3t1e oDBT3t13 oDEEStla oDE93515 oDBA3JTó ODBE3tr7 oDBC3tt8 oDED3519 oDBE
coDroo. OB8ERVACIfiltIEE
c3tcooc3tcoooooo@c3tcooooooooCDoóOEc31Cooc3tcooooooooCDFIOAc3IGooc3IG@ooooooCDgcwc3tcooCDA709c3tcooCDB3o9c3
(( u. A. 0. ))INDICE DIRECCIOJTI CODIOO. OEEERVACIONES
274C0DIFICACI0I'l PROORAH H0!llT0R
Stao oDEFStat oDco3,l'f,P, ODCIStixl oDcz3ta¿r oDcS3tct oDcr3te6 oDct3lff27 oDCó3te8 0Dc73tÍt? oDcS3t00 0Dc93tÍtr oDcA3!fl ODCB3tÉNl oDcG3tgf oDcDslgt oDcE3tgó oDcF3tg7 oDDO3!Ít€ oDDt3tg9 oDDeStfo oDDs3t¿tl oDD¿l3t¿le ODD'3tffl oDDó3t¿l| ODDT31rt oDD€3tfó oDtrt3'r7 ODDA3! TE ODDB3tt9 oDDCstto oDDDSttl oDDE39t2 oDDF3t93 oDEO3tt¿r oDEtSttt oDEa3ttó oDEl3Jt7 0DE43tt8 0ütSttrt oDEó3tóo oE73tót oDEg3tó¡l oDBt3tá31 oDEA3tó4 oDEB3tát oEc3táá 0DED3#7 ODEE3táa oDEF35é9 oDFO3t70 oDFr3J7t ODF23t72 0IF33t73 0DF43á74 0DF5
lcooCDEFo?c3lcooCDc?09c3tcooCDD3lü,c31CooCDDDotc3tcooCDE?oac31CooCDF309c31CooCDFF09c31CooCD07OAc3tcooCDOFOAc31C
(( u. A.0. ))275
CI]DIFICACII]iI PRBCRAIIIA I'IflI¡ITffi
coD¡oo. OBBERVACIü{EBINDICE DIRECCTütI.
3t7t oDF63J76 o/tr73J77 0DF63'78 ODF?3,J7? ODFASteo oDFB3tet oDFcStte oDFD3t€ft oDFESte¿l 0DFF3!€r GOO3tgá oEot3tg7 oEoe3!e8 oEGl3t€? oEor3t?o oEotSrtr o€oó3t?e oEoT3trt3l oEo6Slcr oEor'Stot oEoA3$tó oEoEgvr7 oEocSttB oEoD3!Ort oEG3áOO OEOF3áOl GrOw2 oEtt36Gt OEtz3áOa OEIS3óOt 08143óOó OEtt3&7 oEró3áOg OEIT3áo|t oEtB3óro oEr93ó11 OEIA3ó12 0E1E3ót3 oEtc3ótt oElD3ótt oErE3ó1á oElF#t7 oEeo3618 OEet3ór9 Éin3áeo oEe:f3éel oE24*in oEet3óei¡ oEaó3ó44 ffi73áet oEeE3Étí26 OEe93áí27 0E2A3óea oEeB3éín oEec
ooCDtqOAc3lcooCD2lOAc3lcooCD4'OAc3tcooCD3ó[email protected]óFoc3lcooCD7COAc3tcoo
276(( u.4.0. ))
INDICE D¡RECCION.
CÍ]DIFICACItrI| PNI]CRAM I.IIil¡ITffi
coDloo. OBEERVAC IONEE
3ó3lO3óil13ff|e3É¡tt3á313áitt3á3ó3/tft73óít93óile3óao3á¿[13ÉÁiz3ó¡lfiw36rtww73áa€w?3óto3ótr3óta3átg3ót¿r3ótt3ótá*J73ót€36St36ó03éé1w23óóí¡w3óótww73óéE%?#70%7r3,67í¿3,67e%71*7'&76%77#7e#793ó€O3ó€l3ó8e36833ó44
OEzDOEzEsüFoHtooE3togtzogrloESfoE:ttoEStáÉ37OE3EoE39G3AGTG3COEÍDOEGOEÍFG+o0E41oE{eoEtitG+roEftü#lF.a7OE¿T8f'Ery)oEf^OE+EOE¿TC
OE4DOE4EOE'FoEtooEttOEfroE3oEt¿loEttoEtóoE!7Gt9oEvtOE'AOE'BoEtcG'DOE'EOE'FOEóOOEóIOEóEOEá3
CDE"oc31CooCDqtaOAc3tcooCD9COAc3lcooCDA9OAc3tcooCDBóOAc3lcooc3tcooooooooc31Cooooooooc3tcooooooooc3lc@ooooooc3
(( u. A.0. ))
¡NDICE DIRECCIÍT.I.. CODIOO. ODSERVACIüIEE
conlFrcAcl'zú PRtleRAm il${tTffi
3é85 0E643ó8ó OEó53ó¡7 0Eáó3óg€ ffib73áEC OEá83óto oEÉ?3ótr oEÉA#je oEó83ót3 oEÉC3ó?' GáD3ó9r OEáE3ó9ó OEóF3,6?7 0E703ó9Gt l,E7t3ófi G,7237m G733701 0E7137@, É?'g7üt Érá370f E 7370t c76370ó E 997f¡7 G7A370€ 0E7tg7üt 0E7c37lO OETD37lt G7E?712 G7F3713 oE€O3711 Gst37tt oE8237tá OEB:I37t7 0E8¡r37tg oEet37I? GEá3UO OEET37Zt OEga7a, GE37'tr' GEA37?.4 ffi¡37a€ OEEC37eÉ' OEED3727 0EÉ37i,€ GEF37fr Oeto37gO OE9r3731 OE9237n, OE9337gt oeta373É OE9t373t OBró373É É3r73737 oE?B3739 OE9?373? OE?A
1Coooooo@c3tcooooooooc3áFODooooooc3B'ODooooooc3BBODooooooc3ctODooooooc3c7ODooooooc3CDODooooooc3DflODooooütc3D?
({ u. A.0. }} CODIFICAC?ft PROCRAM ilOIIITOll
rNDlcE DTRECC¡fllrl.
3710 0E9B37at oE9Ca7a2 0E9D3743 0E E37{4 OE9Fg71J OEAO37{É GAtt a7 0EA237.€ OEAS371c' OEA437tO OEA'37tr oEAó37J2 ffiA737tft oEAS37t¿t GA937tt oEAA97* OEAEg7J7 oErC37TE GADg7f,', OEAE37áÍ' OEAF37ót O€EOt7&, oEtr37áÍi oEEe37áÉ cE397É,|, OElf37áÉ OEE'ttcT 0E¡ó37ág OEDT376? OEEE3770 0EB93771 OEEAe772 oEBB3773 oEEC3771 oEDDg77J OEEE3.77o G¡F3777 oECO377e OEC!377? OEGa37tO O€c337et GCfs7n oEct37*t CCó97ü oEcT37et oEcE378á GC93787 oECAs7g€ oECBg7e? oEcc37?o OECD3T'L OECE37?2 oECFs7?3 oEDO37q4 oEDr
coDleo. OE8ERVACl0tlEg
ODooooooc3DFODooooooc3E'ODooooooc3EBODooooooc3FTODooooooc3F7ODooooooc3FDODoooo@c3o3OEooooooc3otOEooooooc3OFOE
(( u. A.0. )) CODIFICAC?dil PROERAM ilfilIilN
coDIOO. OBSERVACIOiIE9INDICE DTRECCION.
379tr OED237?6 0ED3r3:Vr7 oEDfg7re oEDt37?? OEDá
O l'E]D7flI OED€GOEI OEOO3EOO OEDA3€O4 oEDE3€O9 oEDCffió OEDD3€O7 GDE380€ OEDFsr EoSeto trEl381I GE¡t36ta oEESsl3 oEE¿r381r OEE'38ts oEEé3816 0EE7fi17 0EE83€t8 Ger3EI9 OEEAstao oEEBSeer oEEc*N GEDSdltr oEEE3€C¡1 G]EF38et oEFO3Beó OEFI3€127 oEFa3ffi OEFS3ee9 oEFf3BN OEF'3&11 oEFóffi¡e ÉFzffixr cF8ffiilr GF'?Sgtt oEFA3gfó oEFEffir7 oEFC3*F OEFD3üI? OEFE3g¡lo oEFF3efl oFoo38¡12 oFOl3Et¡f tr@3a¿r/r oFo338tt oFo43e¡ró oFoS3¡847 0FO638/t8 WO73849 oFOB
ooooooc3ttOEooooooc3IBOEooooooc32lOEooooooc327OEooooooc3frOEooooooc3331OEooooooc3g?OEooooooc33FOEooooooc343OEoo
(( u. A.0. ))INDICE DIRECCIf¡N.
CtlDIFIC PR0ORAüA l'101'llT0R
coDloo. OBEERVAC IfhIES
LLAñAUIS
280
ACl0l'l
389038tt38test¡t38ta38ttstó3At73at€38t?3eóo38óI3€ó23€ó:¡38ó¿r39¡t38óów73€¡E3Eó'38703871#72397¡l3grl387t3g76#773g7a#v,ffi38etSBEEsESl3Éa368t3€86#73F3€St389038ftt38Ce38933EP{3E?gstógf,fr738rtg3€riltSrtoo3?Ot390e39()33904
oFo9OFOAoFo¡OFOGOFODOFOEOFOFoFlooFt toFreoFt3oFt4oFtttrtótrt7oFt9oFtttr14OFIEoFtcOFTDOFTEOFTFs'20oFalÉ4,oFe9oFeroFzgoF'eóff27OF2EoF29OFEAOFEBoFecOFEDOF2EOFEFoF30oFfiloFSeoF3goF3/roFStoF3ótr37OFSEoF39OF3AOFSBoFSCOFSDOFSEOFSF
mooc31Cooooooooc3tcooooooooc3tcooooooooc3tcooooooooc3tcooooc31Fotc37Fotc3DFotc33Foec3
"Fu2c3FF02c3!Fo3c3BFo3c3
28L(( u. A. 0. )) Cf]DIFICAC lf]i¡ PRI]ORAÍ'IA
coDroo.
lf0t{Iiln
OESERVAC TtnEBINDICE DIRECCION.
3905 0F40390ó OFft3qn7 0Ff2300€ oFfS3909 0F/t43?10 oF{t39lt oF{ófrt? tr173913 oF¿l€$tl/l oFf93919 OF¿IA391ó OF¿IB3ctt7 oF¡tc3918 oF/rD3?19 oF¿r€Srtao oF¿lFsj4,Í oFtogta, oFtrg7it3 oFtegru oFtS39et oFr+#nb oFttürEn oFtóÜ,18 lJtJ7gfin oFtB39tto oFte3?ttt oFtAsrfrl oFtB$r€r| oFtc3rt34 oFtDSrtflD oFtE399ó OF'Fg9lt7 oFóo39Er OFór9fri3, G&,3?¿ro oFó339f l oFó/ts+e oFót3943 0Fóé39f¿l trá739at oFóg994.6 0Fó93?17 OFóA39/t8 oFóB3frlc? oFócstto oFáD3tt1 oFóE39te oF6F39t3 0F7039t¿l 0F7t39tt ff7239tó ff73aEJT tr7439t8 tr7á3999 o/F76
1Fofc37FO¿lc36r,ortc38El09G326OBc33:lOBc3GOEc31c,OBc3taOBc3
'FOBG3óAOBc37JOBc3EOOBc3EBOBc3?6OEc3ATOBoo@oooo(x)oooooo
PATROI'I H-F
282{{ u. A.0. }} CI]DIFICACIIIi¡ PRI]ERAIIA ]'IBiIITIIR
OBEERVAG IfT'88
39óO OF773?.át 0t7eg)62 tr7?3r'ótt oFTA39ó{ OFTB39ó5 . tr7ggrá7 fr'7E39ó8 tr7F39á9 0F803{no oFElg97t oF823?72 oFtrf9973 oF€¿rfr71 trEtgI,7J OFEógtn6 oFg,gr77 01883978 OFs93Ffvt oFEA3C€O OFBB3981 oFECSrtgc oF€Ds'tGl oFE39ef oFF3rt8t oF o308ó OF rüta7 0F 239e8 0Fqt3$r€? oF?f39rto oF9t3991 0F9ó39?2, tr97g?rt3 0F agilt{ oFilt37tt oF A3fn6 s?Egn7 0F c3ltB oF9D3frrr., oFltE¿rooo offtF4001 trAo¡rooe oFAl¿tooft oFA2¿too¿l oFA3foot oFAf/tooó sAt4@7 OFAó4@Gl trA7400t oFAa40ro oFA94011 oFAA4012 0rAB4013 oFAC4014 oFAD
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo@ooooooooooooooooBEoew09BEooEFoao8oeBFoo228t
283r( u. A.0. )) CI]DIFICACIflI¡ PROCRAM ilflillTt]R
coDroo. OE8ERVACIOttIEgINDICE DIRECCION.
4015 oFAE401ó oFAF4crt7 oFBO¡rotg oFEt¡rot? oFtz¡roeo oFBS¿roat oFB4+Én oFBt¿roeo oFEó+oet ffi374m3 0FB840eá oFB9+w27 oFBA/roÍE orEBMN OFEC{ooo oFBDfool oFEEroqe ffiBFrootf oFco/soo¿t oFct¿togt oFce40oó oFc310fr7 oFC¿r/rGt8 oFct4qtrt oFcó¡roao trc7fott trc8+o42 oFC?¿to{3 oFcA1011 oFCE40ft oFcc40t6 oFcD40,17 oFCE/r0!ra oFcF/$o¿r9 oFDo40to oFDt/totl oFDe¿roge oFDEI/rot:t oFDftot¡l FDt40tt oFDó40tó trD74o.J7 oFDA40ta oFD9.O'? OFDA¿loóo oFDB¿roót oFDc4oÉi,, OFDD40á3 oFI'E1(h1 oFDF406r oFEO4066 oFEl40,67 0FE24o,ó¡f, OFES40,69 0FE4
8tat3EooETgt)89ffiBFoootoco9ocEFoooooooooooo03oaBBo¿lorlooooooooooooooooBEocst09BEoo8ó29t9wBFoo3EBI8t8r3EooBFo8o8
{( u. A. 0.
INDICE DIRECCIfhI.
)) conrFrcúltn rnuenAm ilourTon
coDloo. oB9ERVAC¡fnEA
40701071407210731071{o7t10764077107e147?4oeo40814oaeaog3ro€a¡to€tfo8ó1ge7to8€40e9¿toto40elfo|'2¡rotfi/rorta{ortt1ü)6lot'|f¿rot840r'94too4tot4t@4ro¡l¿lt04¡rtot4toó1to74toE4toe41104ttl4tL241134t t¿t¿u tt411ó4tt741184t t94tao4tzl4t?r24r234124
OFE9OFEótrE7OFEEOFE?OFEAOFEBOFECOFEDOFEEOFEFOFFOOFFlOFFzOFFSOFFIOFF'OFFáOFFTOFFBOFF9OFFAOFFBOFFCOFFDOFFEOFFFtooorooltoo?tooStoo4toost()06rw7tootstodtrooAtooBtoocr@DtooEtooFtoto1('1ItotzrotStol¿ttot 5totótotTtolStor9totAtolB
ogBFoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo@oooooooo@oooooooooooooo3Eot32F8
EXTENSION
({ u. A.0.
INDICE DIRECCION.
cuulFlcAc?tutu pnoenAilA l,toiuTun))
41254t264t2741284ri,f'4t304131¿lt3e/r133413f413t41364t3741384139¡u40/tt{14t1241¡t34t+141¿lt4r161L+7¡rt/lE4t¿l94rto¿rttt4tte4tt34tt+4rtt4rtó4tJ7¿rlt34rt?¡11604tót4t6í¿¿t1ó31r64¿tt6t4t664t674tóE¡ltó?
totctolDtolErolFto20roetto22toeS102¿t10et10eóto271oeBtoatrozAto2Btoec1oeDlozE1oeFto30l03tto32ro3fllo34103tt03óto371oiFlofrttoSAtoSB1(}3CtoSDtoSEto3Fto401('+1totelo¿13to44to¿ttlofóto17FIN
CODIEO. OBSERVACIONES
**rFfl{***
27c93E2B32Dó27c?c6o3t8F83E80D343GE9D3B¡Ic3OEoomc7a2sllE227c3A9o5CDe3o9CDE3o9CDEFoóc3AFotoo
2ffi
APENDICE 10
DIAGRAMAS DE FLUJO DE PROGRMA MONITOR
287txtcto Pto¡r¡r^
Dragi¡r/¡ DE FLUJO t
288tal rrl^! ¡tUXCtO
IY¡IY+I
cof?rxu^
289
27Ett -
A
l¡x tdr+ a
(¡X+2r+A
ünivaníCqrl tuhmr¡i¡ d: ni,.:lsrtr
f-t¿fr:! 8¡'irr"iraia
290
llx +a, -
a
lrx +2r+a
(tX { t, +^
DNoNAXA E FLUJO 2.
29t
!{. trútcto /¡iltfrcto
ESCOPARiAII
DIAGRATA DE FLUJO 3
DIACRAf,A DE FLU.'O '
lx : (Ix+ DE,
DIACiATA DE FLUJO 5
292
- 427 Ft
llLr HL+ |
HLA HL+I
A- (HL,
(zrFt l+ (
DIAoRATA DE FLUJO 6.
U= 27FF
DIAGRAXA DE FLU.,O ?
293XIIAT
tx ¿ 27^c
A _ ( tx+d)
- (tY +t)
27E5 +A
(¡Y+dr- L
IY I IY-I
(tY+d, -
B
A _{IY+t,
¡Y+dr+E
lY: ¡Y- |IY t IY- I
alY+dr-D A (TY+!'
DIAORAIA DE FLU.'O E
294
P¡iiAI IIORA
,t 3 27C7
^+ (txt d)
DIAcRATA E FIJ'JO 9.
DIAGRATA DE FLU.'O IO.
DI/IORAT/¡ DE FII'JO It.
295
lYrlY-t
llY+.rFaAtA+I
D|AGNATA DE FLUJO 12.
(27FOr+ A a-a278?,
A_I27EF'
296
a-(¿7El'
AtA+ I
l27Bt r- A
A:A+I
DIAOiATA É, F]IJ','O ''.
con¡^ü397
.RET I
DIAGRAIIA OE FLUJO
A=A+I
l?7eot -a
a- ltx+d,
DIAORAT'A OE FLUJO 16
298iE?¡ioo
D|ACiATA OE TLVJO t7.
LETaA thr'
(27Eat +a
DIAGRAI¡A DE FLU.'O I!
|€TRA "Btt
DIAGRAIIA DE FLUi'O 19
qAOEATA DE FLU.'O 20
LETnA rrorl
DIAGRATA DE FIUJO 22
LETRA qF.
299
L!ti¡ rrcf,
DIAGRATA DE FLUJO 2I
LETRAIh.I
lla¡crr¡düf luto¡omc d; iicqC¡atr
ita6:9 $g¡.*r:
DIAGBAIIA DE FLU.,o 23
OIAGFATA DE FLV¿O 2'
I-ETRA üHrl
DIAGRAI'A OE FLUJO 26
LETRA trJ tr
300
!!tiA ttort
DNERATA DE FLIJ,'O 26
LETRA rrl'r
DIAGSATA OE FLU;'O 27
DNGNAXA DE FLU,TO 2'
LETRA,,LII
¡,IAGRATA DE FLUJO !O
LETRA rr il rr
301
LETi Í |( rl
DIAGRAIIA DE FLUJO 29
LETRA rÍrr
DIAoRAIIA DE FLU.'O 3I
I¡IAGRAXA DE FLUJO 34
!¡TRA " i "
DI'¡8i'ITA DE FLUJO
LEÍRA II P
il
302Lltil ror
LETRA I,oI'
DIAGRI¡TA DE FLUJO 35
DI.¡ORAI/¡ DE FLUJO T6
LETRA XTÚ
E FLI"'O
LETna'rvr'
303
|.frla trgrl
I¡TRA'rurl
dA€RAilA DE FLUJO !9
DI/¡ORATA DE FLUr'O 'O
LETRA TX II
DIAcNATA DE FLUJO IY: '2
304
!!tRl iwtr
DIASRAÍA E FLU,'O 1I
LETRA TfT
DIAGN¡IA OE FLUJO '3
30s
DIACRATA DE FUJ.'O "
IAS +
COITLL¡S tI
FLUJO '5
ilfEinocActo¡{ ?
DIAORATA E ?Lu{'O '7
DNEiAIA E FIJ"'O 'I
PARE'|?ESIS '
DIAONATA DE FLUI'O 50
306
fattr?Eft f
rEftos -
DE FLUJO 3I
DIAGRAIA DE FLUJO 62
FORC|ETTTO 96
D|AERAIA DE FLUJO 5I
307
?¿ro8
DIAORATA E FLUr'O 53
DIAcRAT'A DE FLU.'O 65
DI/T6RAI/I DE FLUJO 56
308
DI.¡OR'¡IA DE FLUJO 57
TAYO
AARIL
lE]
-
1 CALLs I+o
DIACRAIA DE FLU.'O 5'
DT.¡ORAIA DE "'¿O "O
Df 8ñ/¡IA DE FLUJO 32
309
DIAoRATA DE FLUJO 6I
SEP?IETENE
DIACRATA DE FLT"'O 53
310
¡ÚOVIEIsRE
DIAERAIA DE FII',.'O ''
DIAOR/IIA DE FLUJO 6¿¡
¡rc|EraRE
311
to|o
oDJlrlr,C¡
-Gt=<o
I
aL¡
n|
o¡¡FG|
GIt!
S
I
Fog5\¡¡o
fE0EI
I!+x
I
GL¡Fñ
I
(tU¡sf{
{
or
HN
a,¡¡e.
{
I!
o|9oDLI¡GI.¡
ID¡¡EF
314
o||o
o:¡lr¡¡Cl
-ce,sc¡
I!
5
I
El¡,FN
I
IJ¡¡aa
,,Hg
I<l
oo!5Jttl¡Jo
-G(,3Cl
oo
=(,
FofJlt¡tC¡
tE('o
e,L¡
s
I
tl¡¡Fg
{
Iol¡l
a|
a|Fo3L
H
-Gt9-<C¡
I
6¡¡a
')¡¡(rl
f
itL¡
s
I
II
¡o¡¡
E
f
(t¡tFc|
o¡(,o
t
oJJlr
l¡tC¡
-G(,
C¡
I
úrL¡
ql
C{utsg
I
I
ol¡¡FG.
ilrlg'¡r $ri:'¡i¡:f
t¡¡lD-
320
||
o:5\¡¡o
¡E('3Cl
Go-=EAJú
o¡¡to(,U'¡rl
JE
rl¡l
E
I
3?t
DO6 PUttOS
A LETRA A
DIAoRATA DE FLU.'O 77
DTAoRATA I'E FU),'O 76
In+¿r- a
A If'RA A
OTAGRAIA DE FLU.'O 7t
322
RELOJ
^ ! a+ o!
A= A- t8
A = A+03
A
- lz7ct y
a-a27ca'
DIAORAX¡ D€ F¡I,JO 79
323
a=a+ol
a27D6r- A
a-(27E2t
as atol
l27e2r-a
aÉa27EC,
DIAGRATA Dg FLUi'O AI
324
DIAOiAUA OE F.LUJO A2
lzzotr- a
l27D6r- A
lz7EFt- a
A- | 27DCt
A: A+OI
.27EF'_ A
A- az?Egt
A=A+OE
(27ECr+ A
a- a27EA,
a= A+ 03 l27Est- A
325
DIAGRAXA DE FU¡JO T!
5t f REt .'
A- a27EEt
l?TDal+ ¡
¡+ l27D6 l
a- a27ED,
(27D61- a
DIAGAIA DE FLUJO 6{
rcrx 326
ET
EXX
DEsOI
L+D
c-D
H-DDE = FFCE III ¡T t DEc
B-DEXX(27Far- A
A-OET
eoto a -l27el ¡ * o
RE70irüAA
-127F4,a -lrx+
d,
RO70 ¡ -ou?+a
RO?(, H-A_.E
RO'O C -OUT+A
eoTo L-A-O
RO70 D +
OUf_ A
RO70 E-A_L
tx 3 Ix+ I
OUT+A
OU? -Aa-c
A.OO(xrt +a
PO? eC
A -t{
/ o-) /OU?-A \
A-e la8-t
ouf 1a e-a
DI.AOiATA DE FLU.'O E'
a- a27F1 '
a-(27F9'
ouT+a tusH tc
327
Etcolat
^.-ltlE t
^ - 12?87,
UACRIX^ DE FLUJO !6
328
a27FA r- A
t27F?' - A
(27F71+ ¡
(27F7 t -
A
(27?7r- A
127F7, + A
DIAcNAXA DE FLUJO A7
329
l27C7t- ^
ooilTlru^
Un*aa,.:alt 'riTaoflrq l¡ 0ddfnhi lti ff,|: ;t*';'
330
RETUIT
( co||THU¡CtOtr,
(27F7r- ^
OUT6iAIA OE FLUJO t'
33r
APENDICE 11
MANUAL DE I,|ANEJO
Inicialrnente el ststema es energizado mediante un interruptor 0N-0FF, el
cual posee un indícativo luminoso óuando se encuentra en estado 0N o de
encendido. AI energizarse eI sfstema, este se resetea automáticamente,
es decÍr eI sistema queda.lfsto a rccibir los caracteres necesartos para
grabar el anuncio.
La función de cada tecla que tnterviene en la operación del anunciador
es descrtta a continuacrl'ón.
- TECLA RS.
Utilizada para resetear eI sistema voluntaríamnte. Es necesario rese-
tear el sistema cada vez que se desee cambiar el anuncio o la fecha gra-
bada.
- TECLA BACK SPACE.
Utilizada para cornegir un determinado carácter. Al pt€st'onarse la te-
cla en rpnción, el cursor operasobre eI anuncio grabado rctrocediéndose
un carácter cada yez que se presiona Ia tecla. Se puede netroceder cuan-
tos caracteres se desee.
332
. TECLA BBEAK.
Utilizada cuando se desea grabar un anuncfo mayor a 200 caracteres y no
se desea grabar la hora ni la fecha.
- TECLA LINE FEED.
Utilizada cuando se desea grabar el ranuncto en la memoria MM. Se pre-
siona al final del último carácter del anuncio grabado.
- TECLA RETURN.
Utilizada para correr el anuncto I/o la hora y la fecha grabados pre-
vianente. Después de prestonarse esta tecla se contenza a yisualizar
en el display en forma rotatoria los caracteres grabados.
. TECLAS LETRAS. NWEROS Y SIGNOS ESPECTALES.
Uttlizadas para conformar los anunctos deseados; Operan de forr¡a simt-
lar a como funcionan las teclas en una máquina de escrtbir.
. TECLA SHIFT.
Utilizada para grabar los caracteres supertores en teclas de doble fun-
ci'ón, Se dehe mantener presfonada mfentras se graba el carácter supe-
rior deseado.
. BARRA ESPACTADOM.
Utiltzada para grabar los espacios deseados entrc palabra y palabra o
333
final de frase con inicio de otra. En general, cada vez que es presiO-
nada se cnea un espacio en eI anuncio.
El sistema cuenta con dos alternativas o fornas de grabación las cuales
son :
A. Grabar anuncio menor a 200 caracter y hora y fecha.
B. Grabar anuncio mayor a 200'caracteres pero mnor de 250 cardcteres
sin Ia utilizacifln del modo reloi, o sea sin grabar la hora y la fecha.
En esta alternativa se puede modificar eI máximo de caractenes' o sea
pasar de 250 a 550 caracteres adicionando un chfp de memoria RAM de ca-
pacidad igual a 2K bYtes.
En el caso A, la secuencia de opresidn de las teclas es la siguiente I
1. Se presionan las teclas que.conforman .l .nrncto deseado.
2. Se presi'ona la tecla LINE-FEED.
3. Se presÍonan sucestyamente los caractetes que conforman la hora y
la fecha en forma de dos dfgitos, o sea ttttNN P/A DDI{I|AA donde :
H = Hora.
N = llinutos.
P=PM.
A=M.
D = Dfa.
M = Mes.
A = Año.
4. Se presiona la tecla RETURT'¡.
Ejemp'lo I Se desea grabar el anuncto UNIVERSIDAD AUTON0I{A y se supone
son las I y 42 en la noche del 23 de Mayo de 1985.
334
El sistema esta inicialmnte apagado.
Las teclas a oprimirse secuencialmente son :
- Interruptor en 0N.
- Tecla U
Tecla N
Tecla I
Tecla V
Tecla E
Tecla R
Tecla S
Tecla I
Tecla D
Tecla A
Tecla. D
En el caso
BARM ES.
PACIADORA
Tecla A
Tecla U
Tecla T
Tecla 0
Tecla N
Tecla 0
Tecla M
Tecla A
Tecla 0
Tecla 8
Tecla 4
Tecla 2
TECLA LINE-FEED Tecla P
Tecla 2
Tecla 3
TecIa 0
Tecla 5
Tecla 8
Tecla 5
TECLA RETURN
1. Se presionan las teclas que conforman el anuncto deseado.
2. Se presiona la tecla LINE-FEED.
3. Se prestona la tecla BREAK.
4. Se presiona la tecla RETURN,
B, la secuencia de oprest'dn de las teclas es la siguiunte ¡
Se desea grabar.el anuncto UNIVERSIDAD AUTON0}|A. Se supone
que el ststema tiene otro anuncto grabado.
a oprtntrse s€cuenctalrcnte son I
Ejenplo :
Las teclas
335
. TECLA RS (RESET)
Tecla U
Tecla N
Tecla I
Tecla V
Tecla S
Tecla I
Tecla D
Tecla A
Tecla D
Tecla A
Tecla U
Tecla T
Tecla 0
Tecla M TECLA RETURN.
Tecla A
Tecla E BARRA ESPACIA- Tecla N TECLA LINE-FEED
Tecla R D0RA Tecla 0 TECLA BREAK
336
IPEIDICE 12
PLAI{OS ELETRICG QUE ffifrOXHA¡f Et
AilU}TCIADOB H.rcMOilI@ DICITAL
i.N=
-o9=s!;
-^1;"! Y!a=a d--FPÉ=G1 3i r r i-- vt?Dts=r FF'D¡
: i;13 ;¡ =!J=D
337
sEo¡u=Uooot-l-z>g
gqIG
vll¡i()
Eo-
o
=
at tt
EaBBEBB
(,o
ATRE?RI 9e=!E:g-<€<<<<
,F tL lg,lP E'13 lElrlñ6o¡zN
=d
-oDi
otooo -
l7F? 3
L3
3 ste Í RIR
9;-il
!t=
s 3ls i
Nol
o ll,(\¡!$¡
oooo - o77F 3
rS?
338
-Ntl f,
jjat t)
oRRi339dddB'dd
'e R ¡ t 3I:r:
sdddíÉFtoGF3jjj.jJ.-jooooooO9()(,oo
r 9=S
s ddd
o
:a,9a.
JG-Ic¿
¿¡aOC<ztoEccto
=5l¡¡
¡¡C'
ltÉ.¡¡lF
=
FG¿Joo(t (,d d ddd d
D
f\O
JJL\
oJ
D
!,3x PÉs <to
-oDt
IJJJL¡!tLl!
¡ú¡OG
roIEt9Pi
-.I
n¡n¡
=Í
:i;;aaoR|D
=Í;s;Í
-il¡¡coó
If
d< < <rJN n ? QIO
;:Bb:.¡
<<.¡<nt¡)G
O-lt!!o|D¡.ErtErrRRN
ttl:e-lElels R ¡tB
F Ntt t'
!=
sÍS'o
ooJ(,¡J
lE¡elS I -tBo-NÉ*D3tsclooE¡oooool¡a!¡N
t-N
IE¡rtpñ'E
t
ILfsIJ)
¿-fJo(t
!Jo,oat
¡,t-Eo(t
ñl](l1
:
Io
ñIq
Jo-o,6¿c
f¡
Ezcan=H<;¡.o-
oez=¡¡Jol¡l(J
Ecl¡¿F¿
objo(,
ot-oool'r?!'cD
dddddG!tjo('
-N Ít !
It it ?
dd d É
6O¡r?
gg3gB35Sdddddd+
eo.
cN&3gs'3I"lt-D-'N¡IDF'
lDtÍF|DN>3=
t¡I
IA
Dtt'n|'-N
l¡ll)|'t\O
,)?NN3t
ntD@-ND I ñG - ñ
o_Nf¡tf)oF
^<ÉñÉÉÉÉ.'
3 aEEXBS: lb ¡ElS ? a 13
c-dl)rtDOF9'¡ÉEIDIBD¡!qa.ro-¡.o'4c
Í)I
lJninn¡dnr I tnr"imJJ.I ¡úm' alll
340
&[ anr¡nciador ta1 c@o esta dieeñado trabaJa a un nLvel de potencLa baJo,
dependiente del display a base de dlodos leds. El proposlto de la elabo-
racl.ón de1 dlseño eléctrico indicada en el PLa¡ro 4 es el de facllltar una
postble anpliación para nanejar un dlsplay en alta potencl.a a base de lu-
nlnarias de 120 voLtlos y 100 vatl.oao
Para el dleeño del tablero a 120 voltios se tültl redelo e1 dfsplay a base
de 1ede. Dicbb display, tal cono ee nencl.onó en el Capltulo I y en eL ca-
pltulo 7 está confornado por f) colunnas y 7 fLlas. las lanparaa o h¡n1-
nariae de una nl.sna columna tienen un lado conú¡ y por el otro lado de
ellae se derl.va la conexÍón a las 7 fflae. [o anterlor peruLte que se
ahorren tristores lra que serla ir¡aeoesario utilizar 350 tfiietorea para
naneJar 350 bonbillos; solanente ee utilizan 57 tlristorea, delos cuales
50 naneJan Lae colunnas y 7 naneJa¡ las filas.
Por caracterietl.cae de diseño, en el glatena central en $n nouento dado
solo exl.ste una colt¡nna habtlttads¡ Gn la cr¡al pueden eater actlvadas sus
/ lrrni¡a¡Las naneJadae porlae 7 fl.las. Eeto hsce que la potencf.a consüNi-
da sea baJa. Para raneJar el gatilleo delog tf.rLstoree se utilizá¡ unoe
drl.vers para las filas y otroa para lae colun¡ag.
En resuren Lo que se obtlene ea una pequeña corriente.-.gu¡{nigtrada por los
puertoa de loe ploe 8255 a travea de los drivers 75491 para las filas y
los drlveta 7*92 para las colusrag.
Ip polarlzacló¡ de los tiristoree se hace nedlante las lunlnarlas y las
341
sesistencias de 20 ü . L€ fuente de alLrentaci6a es conectada a uD puen-
te retiflcador para facilltar LapolarizacL6a yel gatilleo de los tlrLstores
En el plano 4 s6,ipuede apreclar La conffguración ffnal del cLrcufto. Ias
h¡nfnarlas pueden eer de nenor vatiaje y er reeultado es el ds.
0¡,42
'-i
Il-.-. '
oa
do6É>¡,9
It¡
t::n
3a¡!OJ=aC
3E !.rfo 2
€Es-¡¡0¡aoC¡|l3'o('
III
)
oñ
od
atGtr
/ :.,\7''..
\ /Y\. ./
(
b!¡I!,I,
¡
r"it
343
GUIA DE FAIJJIS
SINTOMA. \IERrFIgttE.
Display no prende, Fuente de alimentaci6n para tensi6n deled verde apagado. 5v y -12v
Display no prende, Regrulador 5v.led verde prendido. Conexiones en las regletas ¡nra 5v.
Conexi6n en regleta tierra.
Display prende parciaLmente. Drivers, conexiones en regletas ¡rara lospuertos.Pios 8255 1r2 y 3.Diodos del display.
Sistema operando extrañanente. lte¡norias EPRO[,I. y RAlf.Codificadores.CPU * Z8O.Conexiones en regletas.
Teclado no escrilce. Regruladbr -12 r¡oltios.Regulador 5 voltios.Circuito teclado.
Teclado escribe mal. Conexiones en regleta de teclado.