APPLICATIONSPROGRAMMATION ★ CAMBIO DE VARIABLES (AMSTRAD USER) ★

Cambio de Variables (Amstrad User)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Apesar de que los AMSTRAD CPC ofrecen una considerable cantidad de memoria para los programas en BASIC, siempre existe la posibilidad de que usted desarrolle un programa muy largo y le falte espacio en la memoria, o bien es posible que su programa no sea excesivamente largo, pero utilice muchos datos en matrices y de nuevo puede quedarse sin memoria. ¿Qué hacer en estos casos?

Una primera operación debe ser la de eliminar en lo posible las sustancias REM, ya que cada carácter situado detrás de un REM ocupa un byte de memoria, pero no ejerce ninguna función en el programa. Si una vez hecho esto seguimos con problemas de memoria, podemos intentar acortar los nombres de las variables. Por ejemplo, una variable llamada saldorre-sultante (13 bytes) puede sustituirse por rs, con lo cual ahorraremos 11 bytes, a cambio de perder claridad a la hora de intentar descifrar lo que hace el programa.

Evidentemente un ahorro de 11 bytes es muy poco, pero hemos de considerar que en un programa muy largo algunas variables pueden aparecer cerca de un centenar de veóes. Acortando los nombres de todas las variables el ahorro puede ser significativo.

El problema que nos encontramos es, sin embargo, realmente desesperante. Y es que recorrer un listado de alrededor de 30 K buscando una variable para cambiarla por otra constituye un verdadero trabajo «de chinos». De ahí que el uso del programa-herramienta que proponemos cobre verdadero interés, pues su función es precisamente sustituir un nombre de variable por otro. Para ello, utilizamos un comando residente |VAR que estará acompañado por un nombre de la variable a sustituir y el nuevo nombre para esta variable. La rutina en máquina se encarga de la búsqueda en todo el programa y del cambio pertinente, liberándonos así de la parte más dura del trabajo. La sintaxis del comando es la siguiente:

CPC 664 y CPC 6128: |VAR, “nombre a sustituir","nuevo nombre”
CPC 464: a$=” nombre a sustituir”;b$ = “nuevo nombre”:|VAR,@a$,@b$

Aclaremos esto con un ejemplo, utilizando la variable del ejemplo anterior (saldorresultante), que queremos cambiar por sr. En el 664 ó 6128 deberíamos escribir |VAR,"saldorresultante","sr", con lo cual se produciría el cam bio en todo el listado. Para el 464, escribiríamos: a$ = "saldoresultante":b$ = "sr":|VAR,@a$,@b$

Una vez tecleado ef programa y ejecutado sin errores, podemos salvar la rutina en código máquina con RUN 140. Esta rutirra, una vez salvada, puede ser utilizada directamente sin necesidad del cargador, con tan sólo escribir esta línea:

MEMORY &A100-1 :LOAD"VARIABLE.BIN":CALL &A100

con lo cual el comando quedará instalado.

Su funcionamiento es bastante simple. Primero almacenamos los nombres de las variables en una zona de memoria. Después de esto, nos dedicamos a buscar el nombre de la variable a sustituir en cada línea y, una vez encontrada, procedemos a aumentar o disminuir la longitud de la línea según la diferencia de tamaño entre las dos variables.

El paso siguiente sería mover el resto del programa hacia adelante o hacia atrás según proceda. Esta secuencia es realizada hasta llegar a la última línea del programa. Por último, hay que cambiar algunas variables del sistema para informarle de la nueva longitud del programa.

Por supuesto, se pueden cambiar también nombres cortos por nombres largos. Simplemente indicábamos antes el uso quizá más frecuente de esta rutina, pero cada uno puede utilizarla como prefiera.

Paco FLORES y Jesús SUAREZ , Amstrad User #9

★ PUBLISHER: Amstrad User
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHORS: Paco FLORES , Jesús SUAREZ
 



★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Cambio  de  Variables    (Amstrad  User)    SPANISH    LISTINGDATE: 2022-03-06
DL: 278
TYPE: PDF
SiZE: 1201Ko
NOTE: 6 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RSX Variables List
» Applications » Vario - Wordstar - Modifikation (CPC Amstrad International)
» Applications » RSX Variablendump (CPC Magazin)
» Applications » Christoph's Sparvariabel Transformer (CPC Amstrad International)
» Applications » Variablen King (CPC Amstrad International)
» Applications » Arrays variabel dimensioniert (Happy Computer)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 123 millisecondes et consultée 930 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.