Está en la página 1de 50
Selektor.. lonosfera Cuando se trata de la recepci6n en onda corta existen muchos «porqués» relacionados con la frecuencia a elegir, la hora més adecuada para la recepci6n, etc., que la mayorla de Nosotros no sabemos contestar. En este articulo se ofrecen al lector algunas hipétesis sobre la recepcién en onda corta. Convertidor de onda corta. pa Un sencillo circuito que permite la recepci6n de la onda corta en un receptor de onda media, Vocoders (1)......++ En este articulo se exponen los milltiples aspectos de este nuevo y atractivo campo de la musica electronica. Yo he jugado con el computador de juegos TV (1) Usted puede escribir sus propios programas para el computa- dor de juegos TV con cierta facilidad si conoce unos cuantos principios basicos que se discuten en este articulo. Se dan asimismo algunos programas sencillos, dejando para el proxi- mo articulo las discusiones en profundidad. Juego del tula.. Timbre politonal ... Timbre musical........... Modulador VHF/UHF... Este circuito ha sido disefiado para modular una seftal de video con una portadora de radiofrecuencia con el fin de ob- tener una sefial que pueda conectarse directamente a la entrada de VHF 0 UHF de un receptor de television. Generador senoidal.. Un generador senoidal con una distorsion arménica inferior al 0,0025%. Vocoders (2)... En la primera parte se ha dado una vision de conjunto a los principios basicos de la sintesis de la palabra humana, En esta segunda parte se analizan en detalle los diversos elementos funcionales de un vocoder y sus posibles aplicaciones. Relés electrénicos.. Mercado 1-04 1-06 1-12 1-23 1-27 1-28 1-29 1-37 1-44 1-48 lektor enero 1981-03. sumario, sumario. sumari: suma SUI £.04 _ lektor enero 1961 elektor 8 claves claves afio 2, nim. 8 enero 1981 Redaccion, Adminietracion Yy Suscripciones: dia: Inge 8. A. Presidente: Emesto Medina Mufor Director: ‘Antonio M. Ferrer Abat Redactorjfo dela ‘dicion internacional: 5b W. van der Horst (Cuerpo de redaccién: Redactorestéenicos ‘S"Barondrecht, G. H. K. Dam, . Holmes, €. Krempelauer, ‘A. Nachtmano, G. Nachbat 1 S°M. Walraven Colaboradores: 4. Ignacio Alegria, Guillermo Limnos, Domingo Bernal, Miguel Maroto ‘xclusiva de publcldad Novomenia, s. A act: Jefe de pubicdea, Fernando Yun, Recoletce, 1. Te, 2761208 0807 Barcelona: José Subrer Vilarroa, 131. To. 327 13 50 Bilbao: Joss Juan Gonztloz Gare. Joaquin Adaa, 1. To. 118570 Impresion: (Griicas ELICA, Boyer. 5. Madri Contabiidad: ‘Maria Antonie Buitrago Suscripciones: Inmaculads do Tore wentmes cre Espana 1120 Pas, 1.900 Pes Ectrarir (correo mperti) tao" 260 21m 3m wos = x Precio de portade DERECHOS DE REPRODUCCION Eloktuur 8. V.6190 AB Book (L) Holand, Eloktor Verlag GmbH. 6.133. Gangelt. RF. de Alemania Eloktor Publshere Lid. Canterbury CTT 1PE, Kent, Inglaerr, Eloktor Sel BP 65; 6270 Ballou, Frencia Eloktor, Via del Lavoratort, 124, 20082 Ciniselo| DERECHOS DE AUTO! roteccién de los derachos de autor se extiende no sé al contenido ‘adaccional de Eloktor sino tembién s las hustraciones y 8 los crcuitos impresos,incluido su disano, quo en ella xe reproducen, {Loa circuitos y esquemes publicados on Elektor. s6io pueden ser realizados para usos privados o cientificos, pero no comerciales, {L utlizacién de los esquemas no supone ningune responssbiidad por parte de la sociedad editors. Ur sociedad editora no devaivert los articulos que no hays solicitado 0 eacién heal, Uutilzarlo. pera” sus otras. ediciones ‘actividades, pagando por alo sagin la tarta que tenga on uso. ‘Algunos.articulos. dispoaitivos, componentes, etcétera, descitos on esta revista pueden ester patentados. La sociedad editora no scepta Finguna responsabilidad por ne mencionar eeta proteccion © cualquier ‘CORRESPONDENCIA Para fecliter Ia labor de administracién deberd mencionarse an le ‘sequins superior inquierda del sobre la sigla que corresponda: CT Consulta técnica S Suscripciones BR Director RA Revistas atrasadas CD Cambio de direccién ESS Servicio de Software EPS Circuitos impresoe Pr Publicidad SC. Servicio comercial ‘Todas las cartas dirigides a consulta técnica deberén inclur un sobre de aspuesta, ranqueado y con ol nombre y direccion del conultante. En ‘caso Contrario no se atenders Ia coneulta, Copyright © 1961. Uitgeveremastschappij Elektuur B. V. (Beek, Noderiand). SOLICITADO CONTROL DE OJD (Qué es un TUN? {Qué es un 10 n7 {Qub os ol EPS? {Qu6 06 ol servi (Qué os ol den Tipos de semiconductores ‘Armenudo, existen un gran nimero Ge vansistores y cfodos con deno- Iminaciones derentes, pero con ‘actersicas seniares, Dobdo 2 lo, oktor visa, pare designers, une enominacion abreviads * Cuando se indica 74 3 entonde qe Se hace reerenia aie A 741, LM 7a, Mc eat, MIC 741, RM 781, SN 7241, stoi on. do Eloktor? © TUP 0 TUN (Transistor universal {Je tipo PNP 0 NPN, respectvamente) foprosonts ‘2 todo trensator ce ‘tio, de_ baja frecuencia, con lat Souientes carsctoratcas ego, bx 20v tqmin, 100 ma Ne 100) Precmix, 100 mw fin, 100 we ‘Algunos de los tipos TUN son: las femitas C107, BC108 y BCIO; 2NSBE6A; 2N3868; 22860, 203908; 2N3987; 2N4126, ‘Algunos 0 los tipos TUP son: lag faritas OC177 y 8C178, lo fario [BC179 excopto e!BC159y of 8C179 2N2412; 2N325!; 263806; 2N4126; 2ua2e, ‘© DUS DUG (Died Uniwraal do ‘Scio 0! de Germano, respective. mantel, representa 9 todo dodo de tas siguientes caractesticas. ous | ous Unmix | 25v | 20v Imax | 100ma | 35ma| imix 1A | 100 yal * Loe tpos Bc1079, 662576, Bos473 Comesponce a. versiones de. mayor ‘aad dentro de une mma sama. En general, pueden ser sustituidos Bex‘ ro membre aa Familias BC107 (8, -9) Familias 8C177 (8,9) BCI77 (8, -9), OCIS? C2045, “883078. "21 86350 (1 “ay cass (2) #96512 (3, a) oes Valores de resistencias Yeondensadores: En los voloes de as resistoncie y de Jos ‘condensadores se omiten tas eros, semore que elo e¢ post, a ome se suetituye. por una dele Sguientes abeeviauras B (pico! to? tran) 0-2 Hime = 9-8 mimi) Y0°3 tie) I io 3 Mimeger 210 6 Sie == 0 Erempos: tencias empeedas on los osquernas sn do carbon 1/4 Wy 5% de tolraeis misma = Valores ae capaciioes: 407 = 4.7 oF = 0,000000009004 YOn=001 wF= 106 oF valor de la anion dots conden ores no ecalicos se supane, porto ‘manos, 2 60 V; como nora de sg dad convone que ese vio sea some igual super a dble cs enon ‘menacion Puntos de medida Saho indicacion en conta, las tan- ‘ones indcadas deben medirse com ‘un volimetio de, al menos, 20 K'2'7V de resistencia intoma, ‘Tensiones de corriente alterna “U" para indar tonal, en ger dal simbolo ambigue "V", que see sora para indica vot Ejomplo: se emplea Up = 10 V, an verde Vp = 10 V. Servicios ELEKTOR ppora los lectores Circuites impresos: La mayoria de las realzaciones Ek tor van acompahadas de un modelo e crcuito impreeo. Muchos de ale Se pueden suminatrar tslocredoe y Breparads para ol monte. ada mes Bektor pubica la Eta de los cicuitos. imoresos dsponbien, Dojo la denominacon’ EPS (Eaktor Pant Service) Consultas técnicas: ‘Cusiguier lector puede consular ale revista cuestiones relaconadee fos circuitos publcados. Las caries ‘que contengan consults. écnicee ‘eben levar en ol sobre los sgias CT (¢nchir un sobre para la recpueata, Feanquaedo y con is dicen del ‘consutante El duende de Elektor: ‘Toda, mocificacon importante, co- rection, mojora, etc, de as eakza- ones de Baktor se inchiré on este apartado Cambio de direccién: Dabe sdverirse con 6 semanas de Piede obtenerse mediante paticgn » In Grecodn de i reveta, eloktor enero 1981 1.61 Tobie 1 ‘bandas deradioafusion on AF Frecuencta (kH2) 11700-11978 18100-18480 11700-17900 21450-21760 125600 - 26100 2Por qué es posible la recepcién de sofiales radioeléctricas a larga distancia? Por qué no se reciben durante el dia emisiones lejanas en onda pai favor Todas las comtiunicaciones terrestres, a lar- ga distancia, son posibles gracias ala ionos- fera (capa atmosférica situada entre 90 y 320 km. de altura). La ionizacién de la iomosfera, valga la ‘redundancia, es atri- Ia radiacion solar. Las’ regiones ionizadas de este estrato de la atmésfera, estan distribuidas en forma de capas que rodean la tierra. La copa E Es Ia capa més baja y de menor utiidad de Ia ionosfera. Se encuentra tan préxima ala tierra (anos 100 km.), que los jones libres no tienen que recorrer mucha distancia pa- ra recombinarse con un electrén, formando asi particulas neutras que no reflejan las ondas de radio. Por esta razén, la capa E, s6lo ¢s stil durante las horas de luz solar, especialmente hacia el mediodia, desvane- citndose desputs de la puesta dei sol. Un fenémeno digno de mencién es, ia la- mada capa «E esporddica», aunque, gene- ralmente, tiene poco interés para ios ‘cuchas de onda corta. Las capas «E espors- dicab» se componen de estratos débilmente jonizados que «flotan» en Ia capa «E>. Es- tos estratos se producen, normalmente, en zonas ecuatoriales, pero también puede en- contrarse en paises cllidos durante los me- ses de verano, si bien, pueden aparecer en cualquier tiempo. El’ «como» y el «por 4qué>, todavia no conoce bien, por lo cual hacer predicciones sobre esta capa atmosfé- rica es virtualmente imposible. Las comunicaciones en la capa E se realizan mediante una reflexion (ver fig. 1), alean-, zAndose distancias entre 650 km. y 2.00¢ km, Las sefiales son reflejadas fuertemente, pero con un amplio espectro de frecuen- cias! Las capas «E esporidicas», permiten trangmisiones de sefiales de television a lar- a distancia (0 DX). de aclarar, estas y otras dudas. media? Hay demasiados interrogantes respecto a las transmisiones en onda corta. Generalmente, muchos de nosotros no sabemos exactamente que hora del dia es la més adecuada escuchar las emisiones, o que tiempo atmosféricos es el més rable. En este articulo trataremos La capa F La regién atmosférica que realmente €s € «caballo de batalla» de las comunicaciones a larga distancia, es la capa F. Esta se en- cuentra a unos 280 km. de Ia corteza terrestre y durante el dia se divide en dos capas separadas (Fl y F2), que estan a unos 125km. y 320km. de altura respectivamen- te. El mejor momento para transmitir 0 re- cibir, es durante los periodos de fuerte ioni- 2acién de estas capas. Después de la puesta del sol, ambas se recombinan, volviendo a formar un solo estrato. La maxima distan- cia alcanzable (por reflexi6n) utilizando es- ta.capa es de 4.000 km. —véase fig. 2, en a ‘que se muestra la altitud relativa de ls dife- Tentes capas—, La capa F esti a una altura tal que la re- combinacion de iones y electrones (forman- do particulas neutras) se produce con gran lentitud, El nivel de fonizacién comienza a decrecer cuando el sol inicia su puesta, ysi- gue progresivamente debilitindose hasta al- canzar el minimo, que es justamente antes de salir el sol. Este fen6meno es fécilmente | apreciable, ya que coincide con la desapari- ign de las estaciones que operan en fre- cuencias cercanas a la méxima utilizable durante el dia. La capa D Bajo la capa Ese encuentra una region de Ja ionosfera que no ayuda en nada a las co- ‘municaciones, mas bien, diriamos, que las dificulta. Esta regién sla capa D. Las emi- siones en frecuencias inferiores a 8MHz pueden ser completamente absorbidas (no Teflejadas) por esta capa. Obviamente, la frecuencia de méxima absorcién y la canti- dad de la misma, es funcién de la ioniza- ci6n, que a su vez esté directamente rela- 142 _loktor enero 1961 lonostera EE como on ° como en 404 Uw. ‘como on elektor enero 1981__ 1-09 ién habituales. Los sonidos producidos ‘con este sistema basicamente son parecidos a Jos generados por un vocoder. Sin embar- g0, el MOUTH TUBE tiene un campo de aplicaciones bastante limitado, y compara- do con el vocoder, la calidad de articula- cién es considerablemente inferior, en par- ticular resulta bastante dificil obtener soni- dos sordos y oclusivos. Vocoders modernos Con Io expuesto hasta aqul, suponemos que el lector ya tiene una idea bastante ‘completa acerca de los principios de codifi- caciOn vocal: el vocoder modula la articula- cién de la voz humana sobre una segunda sefal lamada de cexcitacion». Esto se con- sigue convirtiendo la sefial fénica de entra- daen informaciones que puedan servir para ‘modular la sefial de excitacién. En princi- pio existen varios métodos para analizar y sintetizar la voz. Los tres vocoders que he- ‘mos citado en la primera parte pertenecen al grupo de los lamados «vocoders de ca- nales». La figura 3 muestra el esquema si- ‘nOptico de este género de aparatos: La se- fal vocal (procedente del micr6fono) se introduce en un conjunto de filtros pasa- ‘banda, que la dividen en un cierto ntimero de bandas de frecuencias distintas (y estrechas). Rectificarto estas sefiales y lle- vandolas a un filtro paso-bajo. se obtienen luna serie de tensiones continuas, que son réplica de la envolvente de la sefial vocal de entrada (pero separadas en tantas bandas ‘como filtros haya). Estas tensiones son re- almente las que van a gobernar los filtros del sintetizador y pueden definirse como el anilisis espectral (en tiempo real) de Ia se- fial fonica (vocal). La sefial de entrada se aplica también a un ircuito detector de sonidos sordos/sonoros ‘que explora permanentemente la sefal de entrada, indicando si se trata de un sonido sordo osonoro; delresultadodeeste examen 1.10_lektor enero 1961 Figura 3. Eequema sinéptice funcional del ‘vocoder de «canalesy. La mayorta de los vo- coders disefiados para producir efectos es- los, se inspiran en este clésico circulto. Un conjunto de fitros pasabanda y seguido- res de envolvente efectian ol antlisis on tlempo real de la sefial fonica de entrada. El resultado do oste andlisis son las tensione: do control que gablernan alos VCAs (ampli ficadores controlados por tensién), los ‘cuales a su vez, modulan la sefal de excita- ‘de ruido en el cirouito es debida e que [a efales de excitacién no po- te amplitud espectral como ara poder sintetizar sonidos «silbantes». Por razones de simplificacién, s6lo se han representado tres canals on el diagrama de ta figura. Fotografia 1. Hace aproximadamente dos fice que apareci6 on el mercado de la eal Culadora xparlanten, que incluye un pe- quefio sintetizador de vor. Fotografia2. Placa de dor de voz, contenido en ‘cparlantan. El eirculto esta compuesto ni: ccamente por dos integrados: una ROM, que ‘lone grabados las componentes fénicas (en forma numérica), y un microcombinador ‘que selecciona las componentes de cual- palabra, La etapa final es un convert tal/analégico (D/A). Fotografta 3. Ejemplo del MOUTH TUBE o MOUTH BAG. La caja contiene un amplif cador de potencia y un altavoz. El sonido producido se hace salir por la boca del mé. ico, utilizando para ello un tubo de plést les, gracis hablar 0 cantar erumont, se produce la conmutacion entre dos ten- siones, que pueden ser de Oy +5 V. La sali- da de’este detector de sonidos, junto con las del detector de envolventes controla la seccion de filtros que la seccién analizadora de tal forma que la seal de excitaci6n (pro- ducida simplemente por los osciladores del sintetizador y los generadores de ruido 0 por sefiales externas) es separada en igual rnimero de bandas de frecuencia. Seguida- mente la salida de la seccién de filtros es modificada por las tensiones de control proporcionadas por los seguidores de en- volvente, a través de los amplificadores controlados en tensién (VCAs). La conse- cuencia de todo este proceso es la modula- cién de la seftal de excitacién por la sefal vocal Los diferentes canales son sumados y en- viados a la etapa de salida. El resultado fi- nal es que la sefial de salida posce la «voz de la sefial de excitacién (la de un violén, por ejemplo), pero con la articulacién de tun pasaje hablado. Ademés, el cardcter tipico de la sefial de excitacién y los matices de articulacién de la seial vocal (dialecto, acentuacién, etc.), son conservados integramente en la seal de salida. Dicho de tra forma, la voz humana es simplemente reemplazada por el sonido del instrumento que sirve de sefal de excitacién. voceders (1) Por consecuencia, y teéricamente, el detec- tor de sonidos sordo/sonoro puede parecer innecesario, sin embargo, en la préctica las sefiales de excitacién no tienen un espectro ddinmico suficientemente ancho como para poder sintetizar los sonidos «silbantes», co- mo, por ejemplo la «s». Por esta razon se incluye este detector, de forma que cuando la sefial de excitacion no posee la «materia prima» para sintetizar la sefial de salida, és- ta es proporcionada por el generador de nuido. En las fotografias 7a y 7b se muestran ‘ejemplos de las sefales tipicas que aparecen. ‘en los puntos numerados de la figura 3. Las diferentes sefales de la figura 7a muestran la conversién progresiva de la sefial fonica de entrada. De la seccién analizadora se ob- tienen las tensiones que controlan los amplificadores controlades por voltaje (VCAs). En la figura To se muestra el pro- ‘ceso de sintesis de la seftal de salida, utili- zando para ello un generador de pulsos co- mo sefal de excitacién. En el segundo articulo dedicado alos voco- ders se hard una descripcién mas detallada de su funcionamiento, asi como de sus mil- tiples aplicaciones. vocoders (1) elektor enero 1981711 tae ees Fotografia 4. El vocoder EMS fue el primer aparato de este género que mercado, después de pas dio, Este Instrumento posee vs tivos espociales, tales como un wextractor, do Ia altura do sonido (convortidor de fre ‘uencia en tensién, y dos VCOs de sintot zador, que se pueden poner en juego me- dlante toclados externos. Fotografia 6. Este es ol VSM 201 de la firma Sennheiser. Este vocoder fue concebido es- ecialmente para utilizarlo en estudio puede ser incorporado como médul, al sin. tetizador de estudio de tipo MOOG. Fotografia 6. «Minivocoder» EI mensiones, ‘su precio y su f transporte lo hacen idéneo para grabe- clones en directo. laces auaiay ls uauae Fotografia 7. Tipieas sefiaies que aparecen fon los puntos numerados de la figura 3. 1 Seffal proporcionada por un micr6fono (voz). Eltazo es el que corresponde a la vo- cal «a» do la palabra inglosa abasty. 2. Sofal do salida do una do las viss de! filtro de 1a seccién de sintosis (frecuencia Ccontral de 680 Hz., 64B pera un ancho de banda do 140 2.) 3. Sofialrectificada. ‘4. Tensién de control obtenida despuse que la sofa! rectificada se ha hecho pasar ppor un filtro pasa-bajo. 5. Sofial de excitacion, procedente de un ‘generador de pulsos. La frecuencia es apro- por los filtros del sintetizador. 8. Sofial de salida final del vocoder. Se ob- ‘original (f6nica). Referencias: Figuras 1, 2 y 3, fotos 5 y 7: Sennheiser-Electronic, Wedemark, Hannover, West Germany. Fotos 1 y 2: Silicon Systems Inc., Irvine, Callfornia. Foto 3: Electro-Harmonix, New York. Fotos 4 y 6: EMS, London. na @ @ @ @ ® 1.12 _oloktor enoro 1961 Es curioso comprobar que las preguntas de ‘nuestros lectores han coincidido con las ‘uestras, pero més interesante atin ha sido resolverlas, y esto es lo que a continuacion vamos a explicar. Generalmente, para sacarle «partido» a un microprocesador se precisa el manual de instrucciones. En el caso del 2650 se trata de un libro de 174 paginas, que afortunada- fe puede resumir en unos cuantos ipios basicos, que se explican a conti- yo he jugado con el computador de juegos TV yo hejugedo... Para efectuar un «salto atrés» se utiliza un nimero negativo, expresado por un nime- ro de 7 bits complementado a dos (sumar a ‘un némero binario el complemento a dos de otro equivale a restarlos); dicho de otra forma, se cuenta en sentido descendente a partir de 86 hexadecimal ‘Sien el ejemplo precedente se quisiera leer el dato contenido en la direccion 993D, la direccién relativa (que indica el salto) seria 7D; asi la direccién 940 corresponde a 80, de la misma forma a O93F le corres- Todo lo que usted deseaba saber sobre cémo escribir sus propios programas en el ordenador de juegos TV en dos faciles lecciones. Esta es la primera. En el namero 7 de ELEKTOR describiamos la construccién do la unidad para juegos de television, junto con una breve explicacién de su funcionamiento; en realidad, s6lo se dio un pequefio programa para poder leer los discos del servicio ESS de ELEKTOR. Sin embargo, la mayoria de los lectores quieren «més»: es decir, desean hacer sus propios programas. «Seré facil», dijimos. Para probarlo, veamos algunos programas (realmente sofisticados), desarrollados enteramente por un aficionado. Este articulo no es m4s que el fruto de la experiencia y el trabajo. Formas de direccionado ‘Cuando en un programa se lee o se memori- za.un dato, o alin mas cuando se hace un salto de una a otra direccién del programa, 5 obvio que habremos de especificar la di- reccidn en la que realiza tal sentencia, o ha- cia qué direccién «salta» el programa (o se realiza una transferencia), etc. En el ordenador para juegos de television, esta operacin se puede hacer de varias for” mas, Direccionado absoluto y relative ‘Una direccién «absolutay no es més que la propia direccién. Por ejemplo, en lenguaje de maquina, la instruccion (o sentencia) ‘carga absoluta en el registro cero (R89), co- mienza con OC (esto se explicara més ade- lante) y si queremos ler el dato contenido nla direccién FOG, lainstruccién comple ta serd OCOFOO. Por el contrario, una direccién reativay comporta un pequefo salto en el progra es decir, el mieroprocesador caleula la reccin fina (0 absoluta), sumando a la recci6n siguiente de la instruccién relativa, el nimero especificado por esta. Este nii- mero esta comprendido entre —64 y +63 Por ejemplo, si tenemos la instruccion car- {ga relativa del registro cero, 2F QF ese n mero hexadecimal que determina el salto) situada en las direcciones O93E y O93F (se ‘cupan dos pasos o drecciones, una para la instruccién propiamente dicha y la siguien- te para el nimero que indica el salto), la d- reccién inmediatamente siguiente a fa ins- truccion es la 0949, luego la dreccién abso- uta final correspondiente ala insruccién ‘completa es 9940 + 2F = 096F, por tanto, el dato se leerd en la direccion O96F. ponde 7F, a 93E 7E y a 093D, 7D. La ins- truccién completa, por tanto, sera 087D (08 es el cédigo hexadecimal de la instruccién). Notese que esta forma de escribir nimeros negativos, implica que los valores de 00 a 3E corresponden a niimeros positivos y de ‘40 a 7F negativos. No existen nimeros ma- yores que 7F. En teoria, esto puede parecer sencillo, sin ‘embargo, en la préctica es la causa de un sin fin de errores de programacién. De hecho, es mas facil equivocarse en el célcu- lo de ‘una direcci6n relativa que hallar la correcta; en programas sencillos serd acon- sejable utilizar instrucciones absolutas —el ‘espacio suplementario de memoria que esto implica (las instrucciones absolutas «ocu- an» més pasos de memoria) rara vez representard un problema. «La préctica hace la perfeccion», reza el dicho popular, es decir, puesto que los Programas irén poco a poco creciendo en complejidad, parece logico ejercitarse utili- zando instrucciones relativas cada vez que ello sea posible. Para ayudar a los princ piantes se ha incluido en uno de los ultimos discos ESS (servicio de programas de ELEKTOR) un programa para el célculo de direcciones relativas. {La experiencia de- ‘mostrard su verdadera utilidad! Direcelonade directo @ indirecto Los dos tipos de direccionado anteriormen- te citado, pertenecen a la familia direc- cionamiento directo, en el que el dato es leido o transferido a la dreccién especifica due indica la instrucciOn, Existe otro tipo (Lindirecto) que se realiza en dos tiempos: 8 decir, existe una direccion donde se en- cuentra’ almacenada la direccién deseada inal). Por supuesto, pueden escribirse instruc- yo he jugado... Tabla A re eere oaTOS Gore woes soz cscs Coot woe 00 LOD!, RO borrar la PVI woes Cosroe | Stranm tes soe Sanna woot a ooo Gororo topsite | snscn Se opees dein | Se os sore” SNA is re oor tihece Shao wera fee” LOOT} oe wie ercy STRA me wore cress Look tou tea Turse} Sean, wn sos born 9926 ‘SFOSCD = -BSTA, UN } salvaguarda la palabra de estado sas troors Bevan} vate alimontrs ‘+ Estas instrucciones de momento no son indispensables: el dato contenido en le direccién 1FC1, ha sido ya borrado (ahora es 00) mediante la subrutine eborredo 4e la PVIs. Sin embargo, 8 posible seleccionar otros colores modificando el dato {ue figura en la instruccién LODI. ** Utlizando este método (algo extenso) de retorns a control del monitor, 8¢ solucionaré ol problema de os ecuadros negros» en la parte inferior izquierda do la pantalla (ver texto). ciones de direccionado absoluto-indirecto y relativo-indirecto, sin embargo, la diltima es ms habitual en'la version bisica de los juegos de television. Una direccién relativa se transforma en in- directa, sumandole 86. En el ejemplo dado anteriormente la instruccion de «carga rela tiva» (@82F) que se encontraba en las direc- ciones O93E y O93F se lefa el dato en la di- reccién 096F, si ahora queremos transfor- ‘mar la instrucci6n en absoluta bastard con sumarle 86. El resultado es: @8AF (QF +80=AF; 08 es el «nombre» de la ins- trucci6n y no interviene en la suma), enton- ces el contenido de las direcciones O96F y (0970 se interpretara como direccién absolu- ta asociada a esta instruccién, o sea, si los datos contenidos en estas direcciones son A y 08, por ejemplo, la instruccién carga relativa indirecta, 2F ser& ejecutada como si se leyera carga absoluta del contenido de la direccién 0400. ‘Una vez mas, en programas simples es més fécil, rapido ¥ seguro, utilizar la correspon- diente instruccién absoluta y olvidar el mo- do relativo indirecto. Con el fin de ayudar a los lectores que se inician en estos temas, el programa men- cionado anteriormente proporciona dos re- sultados: si se hace el calculo del salto rela- tivo de los ejemplos precedentes, la res- puesta aparecerd en la pantalla como 2F 0 AF, que indican el direccionado directo e indirecto, respectivamente. Direcclonamiento indexado Contrariamente a los modos relativo e indi- recto, el direccionamiento indexado puede resuliarnos muy itil, incluso en programas sencillos. Veamos cémo funciona: el dato almacenado en uno de los registros se suma una direcei6n absoluta, y el resultado de esta adicién representa la direccion absolu- st be a Pili ati] Po ta asociada a Ia instruccién indexada. Elre- gistro que contiene el niimero a sumar se llama «registro indice»; este registro debe especificarse en la instruction, Siempre que se utiliza una instrucciOn indexada los da- ts pasan por el registro cero (RO). Para indicar el modo indexado basico se su- ‘ma 6000 a la direcciOn absoluta. De forma ue, por ejemplo la instruccién @D6900 no se interpretaré como «carga el registro uno elektor enero 8811-13 ‘con el contenido de la direccién 6980»; sino ‘que supuesto que en el registro uno esté al- ‘macenado el dato BA, Ia instruccién se in- terpretara como: «Carga el registro cero con el dato que hay en la direccién 098A (0900 + 0A), es decir, a la direccién absolu- ta 0900 especificada por la instruccion se le suma el contenido del registro 1 (que es 8A). El cédigo 6900 se descompone en (6000 + 0906 (en el cual 6006 s6lo sirve para indicar que la instruccién es indexada) de forma que la direccién absoluta final seré 098A. Esta instruccién tiene dos posibilida- des adicionales que la hacen aiin mis inte- resante: direccionamiento indexado con aauto-incremento y auto-decremento. Se ob- tienen, al igual que antes, sumando 2600 y 4000 4 la direccién absoluta, respecti ‘mente. En ambos casos, la direccién abso- Tuta se calcula, como ya se ha explicado —sumando el dato del «registro indicen a la direcci6n absoluta especificada—. En ¢s- te caso antes de calcular la direccién abso- Ita final, el dato del «registro indice» se incrementa en una unidad (entonces se habla de auto-incremento) en una unidad 0 se decrementa (y se habla de auto- decremento).. Para apreciar realmente el valor de esta ins- ‘truccién, veamos un ejemplo: supongamos {que queremos «borrarn los datos del fondo de pantalla, que se encuentran en la PVI. Esto significa que deseamos introducir 06 en las direcciones que determinan el fondo de pantalla es decir, de 1F80 a IFAC). Es- to, en total, requiere ;45 operaciones de borradon! Pero, si en lugar de 45 instruc- ciones de «memorizado absoluton, escribi ‘mos una sola de «memorizado absoluto in- dexado» con auto-decrementacion, que forme un «bucle» a partir de la direccién ue nos interesa (en este caso comenzara en TF86 y terminard en IFAC), obtendremos 1 mismo efecto. El programa, con un poco de préctica se escribi 82D LODI, RI 0400 LODI, RO CDSF80STRA,L-RI 5978 BRNR, RI Las abrevitaturas que figuran a la derecha de las instrucciones, escritas en cédigo de maquina, sirven para identificarlas répic ‘mente y saber lo que «hace» cada una. Esta breve seccién se programa se ejecuta de la Tablet 9093 @e4e = LODI, RI (0905 00 LOI, Re 0907 COSFOO | STRA ERY ee oa = [so78 BANA, AY osec ae ODI, Re (os ‘099 CcIFes STRA. RO oot 952 LODI, RY 913 OFF LOI, RO 0915 >CDSFEg— STRAI-AI Fondo one 5078 BANA, AY Ce’) MALT? * No es esta la mejor forma de poner fin a un programa, como veremos ‘més adelante, pero por el momento servis 14 siguiente forma: «registro indice» RI (LODI, Rl =carga in- rmediata del regristro 1, més adelante se ve~ con detalle) después se carga 0 en el re- agistro RO. A continuacion viene la instruc- cién de «memorizar en indexado absoluto el registro R1 con auto-decrementacién», dicho sea de paso, la abreviatura es bien clara, STRA-I-RI (del inglés: STORe Abso- lute, Indexed to Register 1, with autodecre- ‘ment) y ademas es mucho mas facil de escribir que la frase completa. Ahora se res- ta Lal contenido del registro RI (que en te momento es 2D), después el resultado (QC = 2D—81) se suma a la direccién ab- soluta de partida 1F80 (SF80 = 1F8) + + 4060; el 4000 es para «etiquetar» la ins- truccién como indexada). Entonces se me- ‘moriza el valor del registro RO (08) en la di recciOn absoluta resultante, IFAC (IFAC = 1F80-+ 2C). Hecho esto, js6lo queda re- petirlo 44 veces! La siguiente instruccion se cexplicard cib nas detalle en otro apartado), significa «transferencia relativa, si el conte- nido del registro R1 es diferente de cero», ‘es decir, se realiza una transferencia (condi cional) si el dato del registro es distinto de cero. Y como, por fuerza el registro R1 es distinto de cero (pues «vale» 2C), se ejecu- tard la transferencia relativa y el programa retrocede al comienzo de la instruccién pre- ccedente, indicada por la flecha (esta ins- ‘truccién es la que realmente «cierran ef bbucle, del que hablabamos antes). El programa asi descrito se encarga de memo- rizar 00 en los registros de la PVI corres- pondientes al fondo de pantalla, hasta que el contenido del registro RI sea igual a ce ro. Cuando esto sucede (R1 = 00) dejara de tener efecto la instruccién BRNR, Rl, es decir, se salta, ejecutindose la secuencia de programa que figure a continuacién. Tabla B yo he jugado. programa dado ons tabla A, permite generar un objeto blanco sobre fondo ‘azul. Para incluir un «fondo de pantalla» se puede rodiicar el programa a partir de la direc in 091F. El programa completo comienza igualmente en a recci6n 0990, para la etapa siguiente véase tabla C. wc gah era sc. ge ms = Sy. Bee SRS Se ES mem SS = sf. SS Bo he S &§ So iShe = = =. Bi Sea SEE se OCS = i. Ue carga det fondo de pantalla Color espera ave serps «PCs sahaguarda la palabra de estado SOL ‘oka at monitor Para aquellos que quicran ensayar este programa, seré més interesante «hacer» un fondo de pantalla que borrarlo. En este ca- so se deberd especificar el color de la pan- talla: «69 en la direcci6n 1FC6 da amarillo sobre fondo azul. En [a tabla 1 se muestra el programa completo. Mas adelante se explicard la ra 26n de que el programa comience en Ia di receién 0963 (en lugar de la 0960). Un iit ‘mo punto sobre el direccionamiento inde- xado. En general, esta modalidad de direc- cionado puede utilizarse como variante del direccionamiento absoluto, a excepcion de las instrucciones de transferencia, En otro apartado se tratarin las instrucciones de transferencia indexadas que son EXA y BS- XA, Carga o transferen de un registro (RB) La mayoria de las instrucciones que trans- sgistro, Evidentemente, se debe especificar ‘en la instruccién el registro utilizado. Esto aparece claramente en los ejemplos da- dos anteriormente y en la tabla 1 en espe- cial. El primer par de nimeros hexade- cimales de cada instruccion especifica su funcion y el nimero de registro implicado, Por ejemplo, la instruccion bisica para carga inmediatay es @4XX (donde XX representa el dato que se ha de cargar). Si sumamos a las dos primeras cifras el mime- ro del registro que vayamos a utilizar, la instrucci6n queda completamente definida, Es decir, si queremos utilizar el registro 0 para la «carga inmediata» del dato XX, hhabremos de sumar a 64 el valor 8. O sea, el propio 64 ya indica que se trata del registro RO. Si fuera Ri la instruccion completa seria @5XX (04+1=65) para R2 seria Figura 1 Palabra de estado Psu. PsL we: [[e>s[*[s]2]7 |e 7]e]s]*]3]2]"]¢ s|F tes |se2| set | spo ‘ct | cog | pc | AS} we | OvF}com| c digo hex. [90] 40 os [o | o2 [or 80 | 40 | 20 [10] 08 | 04 | a2 [or $_ Deteccion ‘$P2 _Puntero del Stack dos GCI Codigo de condicion uno WC consin arastre F Bandera 5SP1Puntero del Stack uno (6C9 Céeigo de condicién cero OVE sobrecara i 1H Inbicién de ‘SPO Puntero dal Stack coro IDC Arrastre interdgitos COM comparacién logica/aritmética interupeton RS Seleccién de serie de registros C bit de arrastre yohe jugado... Tabla c ‘Los programas dados hasta ahora en las tablas Ay B sblo permiten generar un objeto inmévily un fondo de pantale. Pera hacer qu del bit de inhibicién de interrupcion). Esto se ha omitido en los ejemplos simples de programacién que fi- guran en este articulo (asi como en los ccorrespondientes del disco ESS); més tarde volveremos sobre este tema. EL mictoprocesador pondré automética- mente a cl» este bit, siempre que se ejecute un programa de interrupcién y s6lo se pondré a cero cuando asi lo indique una instruccién conereta del programa, Indicador de niveles de subprogramas {puntero del stack) Estos tres bits son puestos a «tm 0 a cero por el propio microprocesador y permiten seguir la pista a los subprogramas, indican- do el nivel del que en ese momento se est desarrollando. En total existen ocho niveles de subprogramas, Esto significa que el programa principal puede entrar en un subprograma, ste a su vez en otro y asi hhasta ocho veces, antes de retomar al programa principal (mediante la instruc- cién «RETURN» 0 retomo). Es posible modificar los bits del indicador de niveles deliberadamente, como parte de un progra- ma, pero es un ejercicio poco aconsejable para los principiantes. Cédigo de condicién Estos dos| do con los resultados de diferentes instruc- ciones, como puede verse en las tablas que figuran en este articulo. Por ejemplo, si el dato almacenado en un registro es OB odriamos hacer que el cbdigo de condi- cién también fo fuera. La mayoria de ins- trucciones de transferencia o de retorno pueden hacerse condicionales, simplemente especificando el cédigo particular: en el ca- so de la instruccién «transferir si la condi cion es verdaderan sOlo se ejecutaré cuando cl cédigo de condicién se corresponda con el prefijado y si no la instruccion se ignora. IDC, WC, OVF, COM, Estos cino bits se verén junto con las ins- trueciones aritméticas y de comparacién. Selecci6n de je de registros Este bit permite una u otra serie de registros (RI, R2, R3yRI’, R2’, R3’) delos que yahe- mos hablado antes.’ Como veremos se- guidamente se pueden efectuar diversas manipulaciones en los bytes del registro de estado. Las instrucciones de puesta a «0», 1» y de comprobacién se revelarin parti- cularmente itiles, ya que pueden utilizarse para posicionar cualquier bit (0 combina- cién dé bits), hacer un test (probar) de los bits y asl conocer su estado légico (y si con- ‘viene obrar en consecuencia). En el ejemplo dado anteriormente, «7626» es la codificacién hexadecimal de la instruc- cién «puesta aI del registro de estado supe- rior con méscara 26» (jno cunda el panico con lo de «mascara 26! se explicaré més adelante). Como se puede comprobar en la ‘yo Je jugado... figura 1 esta instrucci6n tiene por efecto poner a «1» el bit de inhibicién de interrup- cién, Juego de instrucci nes Hasta ahora hemos visto, brevemente, un cierto nimero de instrucciones, lo cual nos hha «abonado el terreno» para examinar ‘més en detalle el juego completo de instruc- Carga y memorizacion El principio de este tipo de instrucciones es ‘obvio: los datos se transfieren a un registro {ene caso de carga de datos) o desde un re- Bistro (caso de memorizar datos), es decir, cuando un dato entra en un registro se habla de «cargar», y cuando el dato se to- 1a (0 saca) del registro se habla de memori- zar. Las instrucciones «carga del registro cero» «memorizacién del registro cero, tienen como efecto la transferencia de un dato entre el registro RO y uno cualquiera de los otros tres. «Cl», por ejemplo, trans- fiereel dato de ROa RI. Notese que 00 y CO (que corresponderian @ «LODZ, RO» y STRZ, RO») no existen. Carga inmediata Esta sentencia transfiere el dato que acom- pal la innruccén, a regisioindiado, truccion «#7CA» (= LODI, R3) tiene por efecto carga el dato CA en el regio R3 (04+3= 07). Carga relative ¥ memorizaci6n relative Estas instrucciones indican un direcciona- miento relativo como explicamos al co- mienzo del articulo. Para refrescar la me- ‘moria diremos que, la direccién donde se va a efectuar la operacién (de carga 0 me- ‘morizaci6n) viene definida por la suma de la direcci6n contigua a la que termina la instruccién y el nimero hexadecimal que especifica la propia instruccién. Como vi- ‘mos, también puede utilizarse el direc- cionado relativo indirecto. Carga absoluta ¥ memorizacion absoluta ‘Como anteriormente explicamos, estas ins- trucciones actian sobre una direccién defi yohe jugado.. z Descripci6n Bifurcecién: ‘Si se verfic la condici6n, on relative ‘Si se vefica la condicion, on absoluto ‘Sino se verifca la condicion, en relative Si no se verfica la condicién, en absoluto Sil contenido del registro os diferente de cero, en relative Sil contenido del ropistro os diferente de cero, ‘on absoluto Con ineremento del registro, en relativo Con incremento del registro, en absoluto Gon decremento del registro, en relative Con decromento del rapist, an absolute Bifureacion incondicionalrlatva@ la pagina ce- Bifurcacion Inconclcional absolute indexada BifureaciOn « un eubprograma: Si se vertica la condicién, en relatvo Si se verifca la condicién, en absoluto Si no se verfica la condicion, en relativo Si no se vetfica la condicién, en absoluto Sil contenido del registro es diferente de cero, en rolativo Sil contenido del repist.o es diferente de cero, ‘an absoluto Bifurcacién incondicionalrlativa a la pagina ce- Bifurcacién incondicional absoluta indexada ‘Bifurcacion (a un subprograma) jomplo Comentarios (CTR) 18yy —_1Byy « Incondicional (BCTA) 1Czzz2 1 zzz2~= Incondicional (BCFR) Syy By: Véase debsjo (BCFA) 9Czzzz — 9Fzzz2: vsase debojo (BRNR) S8yy (BANA) Scezz (BIRR) Davy (BIRA) DCzz= (BORA) Fey (BORA) Foz (zara) (Bxa) R3 jSolot (BSTR) 38yy_—_3Byy= Incondicional (BSTA) 3Czz22 SF zzz2 = Inconcicional (BSFR) Bayy —_BByy: Voss debajo (BSFA) BCzzzz BF 2222: Véase debajo TW Ten yy olektor enero 1981 7 BFzz AS Soll Retorno de un subprograme: Conetctone! (RETC) 14 Condional con vaidacion de interrupcén (RETE) 34 nidaen la propia sentencia y s6lo se utilizan Taba Palabra de estado, test, comparscién, ste. cuando hay necesidad de un direccionado absoluto 0 absoluto indexado. Descripetén Eiomplo Comentario En todos estos casos (de carga y memoriza- Carga del comterido de RO ene regio superior cién), los bits del cédigo de condicién to- de la palabra de estado (LPsu) 92 Desde RO ‘man un cierto valor que est en funcién del Carga del contenido de R@ en el registro inferior signo del dato a transferir: 01 si el dato es 09 '@ palabra de estado (LPSL) 93 Deeds me » & Carga del piso superior dela palabra de esta- ‘un nimero postivo, 8 ses cero, y 18 sies "98 de ee vec A ‘negativo ‘(es decir, si se trata de un nimero (es decir, ; Canga del registro inferior dele palabra de estado comprendido entre 80 y FF que equivalen a gn ue mer Jos niimeros negatives decimales —128 y Pussta a cero con méscara de los bits del ro {GPSU) 74mm ‘rm = Méscara =I. Como puede verse, en la tabla 2 giro superior del R do & (CPst) 75mm men = Mascara Guedan rerumidas todas is instrucciones Puasa a coo con méezara de lo bs del © (psu) 38mm fren = Mlscara ‘«carga» y «memorizaciony. stro inferior ‘mm mm = Méscara Seema ier Fiesta aunccon méscara delos bits delregktro PSU) 77 ine Superior del R de € (TPsU) BArem ime = Masca Pueeta uno con mascara de los bits de rglstro interior del R do € (TPSL) 25mm seen = Méscara ‘Test con mascara, inmediato tray Frm RO...RS Comparacon con registro cero (cowz) £0... 3 ‘Gomperecin inmedita (COMI) E@ix..£7%xx xx = Valor Comparscion relative (COMA) EByy | EByy Comparscion absolute (COMA) ECzzz... EFzzzz No eporacion (wor) oo Parade del microprocosador (HALT) 40 Instrucciones de bifurcacién ‘8 subprogramas ‘Normalmente, un programa se ejecuta paso a paso: es decir, las instrucciones tienen Iu- ‘gar en el orden que han sido programadas y almacenadas en la memoria. Si por cual- Quier causa es necesario «saltar» hasta otra seccién del programa, se utilizarén para ello las lamadas instrucciones de bifurca- cién. Bxisten dos tipos fundamentales: bifurca- ci6n en el programa principal y bifurcacién ‘a un subprograma. En el primer caso, el mismo programa principal salta 0 se trans- fire a otro lugar (o direccién) de la memo- ria, Mientras que la bifureacion a un subprograma, puede considerarse como ‘una interrupci6n en el programa principal: el programa principal se «para» cuando en- cuentra una instruccién de «bifurcacion a tun subprograma»; el subprograma (que puede estar situado en cualquier parte de la memoria) se ejecuta, entonces, como si ¢ tratase de un programa principal, pero una ‘vez concluido el subprograma, se retorna al lugar donde se interrumpi6 el principal, de- sarrolléndose el resto del programa princi- pal normalmente. Para aciararlo, un poco més, diremos que los subprogramas y el programa principal son (y se realizan) inde- ‘pendientes, la tnica diferencia es que cuan- do el programa principal encuentra una ins- truccién de bifurcacion se transfiere el control de un programa a otro, Existen al- ‘gunas variantes para cada uno de estos ti- os de bifurcacibn. Bifurcacion a un subprograma si se vorifica una condicion Puede realizarse en modo absoluto o relati- vo. Para cada una de estas cuatro instruc- ciones fundamentales, es necesario especifi- ‘car un «cbdigo de condicion» particular (ea el byte de estado inferior), es de- ir, un posicionamiento definido de los bits. La bifureacion se efectuard s6lo si el bdigo actual se corresponde con el «eédi- go de condicién» especificado. Por ejemplo, la instruccién fundamental «bi furcaci6n en modo absoluto si se verifica la ‘condicién» (BCTA) aue se codifica en he-

También podría gustarte