que depende de los caracteres que las integren. El método de almacenamiento mediante
registros proporciona compartimentos de tamaño uniforme: una especie de casillero en el que
se guarda la información de forma bien organizada. Cada operación de escritura o lectura de
datos de un registro va acompañada de un avance automático al registro siguiente, el cual queda
dispuesto para la siguiente operación. El registro con el que se va a realizar la siguiente
operación es el 'registro actual', y es el que las órdenes del gestor de bancos utilizarán si no se
especifica otro diferente.
A este sistema de gestión de la memoria le hemos dado el nombre de 'RAMdisc' o 'disco virtual'
porque funciona de forma muy parecida a como lo hacen los sistemas de fichero de acceso
aleatorio en disco, con la única diferencia de que el soporte físico es la RAM en lugar de un disco.
Lea las siguientes descripciones de las diversas órdenes; si no aprende a utilizarlas
inmediatamente, al menos apreciará para que sirven. Después practique con los ejemplos.
La primera orden de RAMdisc es |BANKOPEN. Esta orden especifica el número de caracteres
que va a tener cada registro. La sintaxis es:
|BANKOPEN,n
donde n es un número que especifica la longitud de los registros. El número n puede tener
cualquier valor del margen de 0 a 255, pero los valores 0 y 1 producen efectos incontrolados.
|BANKWRITE almacena una cadena literal en el 'registro actual'. Al terminar la ejecución de la
orden, el 'puntero de registro' pasa a apuntar al registro siguiente a aquél en el que se ha escrito
y lo convierte en el nuevo 'registro actual'. La sintaxis es:
|BANKWRITE,@r%,a$
o bien
|BANKWRITE,@r%,a$,n
donde r% es una variable entera que contiene, al terminar la orden, cierta información acerca
de la operación que se acaba de realizar. a$ es una variable literal que contiene los caracteres
que se han de almacenar en el registro. En el primero de estos dos ejemplos se escribe en el
registro actual; en el segundo ejemplo el parámetro opcional n especifica el número de registro
en el que se debe escribir.
|BANKREAD examina un registro y asigna su contenido a una cadena literal; al terminar la
lectura, incrementa el puntero de registros y convierte en registro actual el siguiente a aquél en
que se realizó la operación. El contenido de los registros no resulta modificado por las
operaciones de lectura. La sintaxis de BANKREAD es la siguiente:
|BANKREAD,@r%,a$
o bien :
|BANKREAD,@r%,a$,n
donde r% es una variable entera que contiene, al terminar la orden, cierta información acerca
de la operación que se acaba de realizar. a$ es una variable literal a la que se asigna los
caracteres leídos en la operación. En el primero de estos dos ejemplos se lee el registro actual;
en el segundo ejemplo el parámetro opcional n especifica el número de registro que se debe
leer.
La última orden de este grupo es |BANKFIND. Esta orden examina los registros en busca de
una cadena literal especificada. Si la encuentra, entrega el número de registro en el que la ha
Manual de Amstrad CPC 6128 (revisión 2008) - Página 93