Está en la página 1de 112
Informatica’ yprogramacion PROGRAMAS EDUCATIVOS PROGRAMAS DE -UTILIDAD PROGRAMAS -DE-GESTION PROGRAMAS DE JUEGOS BASIC-¥- MAQUINA-¥-PASCAL -¥-LOGO-¥-OTROS-LENGUAJES. TECNICAS DE ANALISIS Y DE PROGRAMACION PROGRAMAS EDUCATIVOS PROGRAMAS DE UTILIDAD PROGRAMAS DE GESTION PROGRAMAS DE JUEGOS ¥ BASIC _¥ MAQUINA-¥ PASCAL ¥ LOGO-¥ OTROS-LENGUAJES ¥ ¥ TECNICAS DE-ANALISIS-Y-DE-PROGRAMACION © S ENIAIALIC® © CIFIA « PIITIIDAL @ Una publicacién de EDICIONES SIGLO CULTURAL, 6.4. Directorediton FICARDO ESPANOL CRESPO. Gerente: ANTONIO G. CUERPO. Directora de produccién: ‘MARIA LUISA SUAREZ PEREZ Directores de ia colecclén: MANUEL ALFONSECA, Doctor Ingeniero de Telecomunicacién: Licenclado en Informatica, x JOSE ARTECHE, Ingeniero de Telecomunicacion. Diseho y maquetacién: BRAVO-LOFISH Fotografia: EQUIPO GALATA. Dibulos: JOSE OCHOA TECNICAS DE PROGRAMACION: Manuel Alfonseca, Doctor Ingeniero de Telecomunicacién y Licenciado en informatica, TECNICAS DE ANALISS: José ‘Artecha, Ingeniero en Telecomunicacién. LENGUAJE MAQUINA 8086: Juan Rojas, Licenclado en Ciencias Fisicas e Ingeniero industrial. PASCAL: Juan ignaclo Puyol, Ingeniero Industrial, PROGRAMAS (educativos, de ulilidad, de geslion y de Juegos): Francisco Morales y colaboradores. Coordinador de Aula de informatica Aplicada (AIA): Alejandro Marcos, Licenciado en Ciencias ‘Quimicas. BASIC: Esther Maldonado, Diplomada en Arquitectura. INFORMATICA BASICA: Virginia Mufio2, Diplomada’en Informatica. LENGUAJE MAQUINA Z-80: Joaquin Sclvachio, Dipiomado en Telecomunicacién y José Luls Todo, Diplomado en Telecomunicacién. LENGUAJE MAQUINA 6502: Jess Bocho, Licenclado en informética. LOGO: Crislina Manzanero, Licenciada en Informatica. APLICACIONES: Femiando Suero, Dipiomado en Telecomunicacién. OTROS LENGUALES (Sistemas operatives): Domingo Villasefior, Diplomado Informatica, y Lenguaje C: Enrique Serrano, Ingeniero somunicacion, Ediciones Siglo Cultural, 5.A. Direccién, redacel6n y administracién: Pedio Telxelra, 8-2. planta. Telét.: 810 52 13, 28020 Madrid. Publicidad: Gofar Publicidad, S.A. Benito de Castro, 12 bis. 28028 Madrid. Distribucién en Espana: COEDIS, $,A. Valencia, 245. Telét. 215 70 97. 08007 Barcelona, Delegacién en Madrid: Serrano, 165. Teléf. 411 11 48, Distribucién en Ecuador: Mufioz Hnos. Distribucién en Peri: DISELPESA. Distribucién en Chile: Alfa Lida. Importador exclusivo Cono sur: CADE, S.R.L. Pasoje Sud América, 1532. Tel Buenos Aires - 1.290. Argentina. Todos los derechos reservados. Este libro no puede ser, en parte o totalmente, feproducido, memorizado en sistemas de archivo, o transmitide en cualquier >, electrOnico, mecanico, folocopia © cualquier ot10, sin la previa ISBN del lomo: 84-7688-069-3 ISBN de Ia obra: 84-7688-068-7 Fotocomposicién: 'ARTECOMP, 8.A. Albarracin, 60, 28037 Madrid Imprime: MATEU CROMO. Pinto (Madrid). © Ediciones Siglo Cultural, $.A.. 1987. Depésito legal: M. 5.677-1987 Printed in Spain - impreso en Espana. Suscripciones y nimeros atrasados: Ediciones Siglo Cultural, S.A. Pedro Teixeira, 8-2.° planta, Telét.: 810 52 13, 28020 Madrid. Abril, 1987. P.V.P, Canarias: 336,-. INDICE ©. Basic © MAQUINA 2.80 |“) MAQUINA 8086 =) PROGRAMAS EDUCATIVOS PROGRAMAS DE UTILIDAD PROGRAMAS DE GESTION PROGRAMAS DE JUEGOS TECNICAS DE ANALISIS TECNICAS DE PROGRAMACION 4.3 1060 PASCAL OTROS LENGUAJES BASIC INTRODUCCION L lenguaje BASIC, cuyo nombre esté for- mado por las iniciales “Begginer's All-purpo- se Symbolic Instruc- tion Code" (Cédigo Simbélico de Instruc- ciones de Tipo Gene- ral para Principiantes), fue desarrollado en Ia Universidad de Dartmouth (Estados Unidos) por Thomas E. Kurtz y John Ke- meny, en la década de los sesenta. Hasta su aparicién, la programacién de ordenadores estaba muy restringida a los especialistas, ya que, aparte de la di- ficultad que entrafaba la programacién en si misma, pocas personas podian te- ner acceso a maquinas tan costosas. Kurtz y Kemeny concibieron el lengua- je BASIC con Ia finalidad de Iniciar a los estudiantes en la programacidén. Su éxito fue enorme dada la facilidad de comuni- cacién con Ia maquina y la rapidez con que se obtenian los resultados; ello expli- ca, por otra parte, la enorme difusién del lenguaje que ha llegado a ser uno de los mas populares al ser implementado en gran niimero de ordenadores, especial- mente en los de tipo doméstico. El gran avance que supuso el BASIC ra- dica en su naturaleza de lengugje inter- pretado, no compilado, lo que supone un gran ahorro de tiempo para el progra- mador. EI BASIC nacié para ser un lenguaje fa- cil de aprender y sencillo de usar. Pero tiene una contrapartida. Al funcionar cada vez en un mayor némero de orde- nadores de distintas marcas, han apare- cido también un gran numero de “dialec- tos”, es decir, de distintas versiones del BASIC. Sin embargo, la diferencia entre unas versiones y otras no es muy notable, y en lo fundamental suelen ser todas iguales. El estudio que se inicia a continuacién va dirigido a cubrir las versiones BASIC de un conjunto de ordenadores elegidos en- tre los de mayor uso en Ia actualidad. eQué es el Basic? Todo este conjunto de palabras “raras” constituyen lo que se denomina un pro- grama én BASIC, Aunque parezca sorprendente este Programa nos permite traducir cualquier dia de la semana a tres idiomas distintos: inglés, francés y alem&n. Primero el orde- nador nos preguntaré qué dia queremos traducir (en espanol). Una vez que le ha- yamos dado Ia respuesta nos da a elegir el idioma que deseamos. Después de he- cha la eleccién el ordenador imprime en pantalla el dia que le habiamos dicho, la traducci6n al Idioma elegido y el nombre as. dicho idioma. Sorprendente, ever- la Sin embargo, no se trata de que copie- mos en nuestro ordenador este programa sin comprender su funcionamiento. Aun- que a simple vista pueda parecer que el BASIC es tremendamente complicado, en realidad, es mucho més sencillo de lo que aparenta. A lo largo de este capitulo y sucesivos vamos a estudiar minuciosamente el len- guaje BASIC de modo que ya no tendre- Mos que limitarnos a copiar programas hechos por otros, sino que podremos crear nuestros propios programas. Comencemos por ver qué es un pro- grama. Mucha gente cree que los orde- Nadores son maquinas inteligentes que resuelven todos los problemas. Sin em- bargo, cuando encendemos un ordena- dor, la maquina no hace absolutamente nada. El ordenador no hace nada si no se lo pedimos correctamente. La forma de pe- dirle algo, de decirle lo que queremos que haga, se llama programa. Por tanto, un programa es un conjunto de Instruc- ciones que introducimos en el ordenador de una forma detallada y ordenada para que realice una determinada tarea. Lo sorprendente es la velocidad con que ejecuta los programas y la capacidad de cdlculo que tiene, pero no es, ni mu- cho menos, una maquina inteligente. De modo que vamos a pasar ya a ver las diferentes instrucciones BASIC que po- demos darle a un ordenador. PRINT y algo mas La instruccién PRINT sirve para indicarle al ordenador que debe imprimir algo en pantalla (PRINT=imprimir). Pero ~qué es lo 30 Ren 20 REN 30 REN 40 CLs 50 DIN 60 FOR T=0 TO 7 80 NEXT I f00 CLs, 410 FOR I=1 70 7 130 Next 1 440 PRINT 150 gota 90 460 LOCATE 470 Locate 180 LOCATE 490 LOCATE | S2PRINT 12; 15:PRINT 200 LOCATE 14,15;PRINT 210 LOCATE 20,8:PRINI 220 Aa=INKEV#IIF Abs" a "2 240 cis 270 AS=INKETSIIF At 230 IF 290 IF_As<>*N" 300 CLS+END. 410 RETURN S10 RETURN 10 RETURN, 700 DATA 710 para 720 DATA 730 DATA 740 DATA 750 DATA 760 DATA 770 bara = PEQUENO DICCIONARIO IBM © ES (7) 41867) ,F8(7) 0872 70 READ E€(1) ,18(1) ,FEC1) ,A8¢2) 50 INPUT “z QUE DIA DE LA SEMANA GUIERES SABER 7” 420 IF R&=ES(1) THEN GOTO 140 “ESO NO ES UN DIA DE LA SEMANAM 4.1 7:PRINT "IDTOMAS" 'PULSA LA OPCION DESEADA THEN GOTO 220 230 IF ASC(AS) e Puntero del stack SP 4 L cy L [Contador de programa PC El significado, uso y misién de las ban- deras y los registros indicados anterlor- mente se vera con mas detalle al expli- car, en otros capitulos, las diversas ins- trucciones. Conjunto de instrucciones del microprocesador 2-80 A continuacion proporcionamos al lec- tor una tabla con todas las microinstruc- clones del Z-80 y una explicacién simbé- lica de cada una de ellas, que sera de gran ufilidad a la hora de programar en ensamblador. Por eso aconsejamos que se tenga presente esta tabla en futuros apariados de lenguaje maquina de 2-80. Las instrucciones estan clasificadas en los grupos siguientes: Cargas de 8 bits. Cargas de 16 bils. Intercambios. Movimiento de bloques de memo- ri BUsqueda de bloques de memoria. Aritmética y légica de 8 bits. Aritmética y ldgica de 16 bits. Operaciones de uso general en acumulador con banderas. — Instrucciones varias. — Rotaciones y desplazamientos. — Comprobacién y puestas a cero y uno de bits. Entradas y salidas, Saltos. Llamadas. Iniclalizaciones. Retornos. PVRS EO En Ia tabla se usan los siguientes simbo- los: *b =un n binario en un registro de 8 bits © de una posicién de memoria. “CC = Cédigos de estado de las bande- ras (Flags). NZ = No es cero. lo hay “carry”. C = Hay “carry”. PO = Paridad impar / no desbordamiento. PE = Paridad par / desbordamiento (over- flow). P = Valor positivo. M = Negativo (M — menos). “d = Destino de 8 bits (registro o posicién de memoria). “dd = Destino de 16 bits (registro o memo- ria). “e = Desplazamienio de 8 bits en comple- mento a 2 con signo utilizado en saltos re- lativos y direccionamiento indexado. “L = 8 posiciones especiales de memoria de Ia pagina cero. Ennotacién decimal son 0, 8, 16, 24, 32, 40, 48 y 56. “n = Cualquier nimero de 8 bits. ‘nn = Cuaiquier nimero de 16 bits. “r= Cualquier registro de propésito gene- ral de 8 bits (A,B,C,D,E,H, 6 L). "S = Cualquler registro de 8 bits o posicién de memoria como fuente. “Sb = Un bit en un registro de 8 bits o po- sici6n de memoria especificos. “SS = Cualquier registro de 16 bits 0 2 po- siciones de memoria como fuente. “Suscrito con “L“= Los 8 bits menos signifi- cativos de un registro de 16 bits. “Suscrito con “H" = Los 8 bits mas significa- tivos de un registro de 16 bits. “(= El contenido entre paréntesis es utl- lizado como puntero de una direccién de memoria o de E/S. “Los registros de 8 bits son: A,B,C,D,E,H,L,I y R. “Los pares de 2 registros (16 bits) son: AF,BC,DE y HL “Los registros de 16 bits son: SP,PC,IX e IY “Los modos de direcclonamiento utiliza- dos incluyen combinaclones de los si- guientes: Inmediato. Inmediato extendido. Modificando pagina cero. Relativo, Extendido. Indexado. Registro. Implicado, Indirecto con registro. Bit.