Duda con sentencia CLEAR del MSX

Si tienes alguna duda y crees que alguien podría resolverla, ponla aquí. || If you have any doubt about programming, post it here.

Moderador: CEZ

Responder
Avatar de Usuario
decicoder
8 bits
8 bits
Mensajes: 18
Registrado: 01 Sep 2007 09:24

Duda con sentencia CLEAR del MSX

Mensaje por decicoder »

En una lista de sentencias Basic del MSX he encontrado esta definición

Código: Seleccionar todo

CLEAR [<size of string area>[, <upper limitation of memory>]]
Statement		Initialises variables and sets the size of memory area.
En el programa basic cargador del ManicMiner en un fichero .CAS hay un CLEAR100,&H8500.

Segun entiendo el segundo parametro indica que que a partir de la dirección $8500 la memoria está libre para programas en codigo maquina; equivalente al CLEAR del Spectrum. ¿Correcto? ¿Y el registro SP estaría simpre por debajo de $8500?

Pero y el primer parametro? que es, para que sirve?
Avatar de Usuario
Guillian
32 bits
32 bits
Mensajes: 626
Registrado: 02 Ene 2005 02:40

Re: Duda con sentencia CLEAR del MSX

Mensaje por Guillian »

Efectivamente. El segundo parámetro indica la dirección más alta que será usada por el MSX-BASIC (HIMEM = #FC4A). La pila siempre estará por debajo de esa dirección.
El primer parámetro indica el número de bytes que quieres reservar para variables alfanuméricas. Por ejemplo, si haces un CLEAR 4, solo podrás definir un par de variables del tipo:
a$="ab"
b$="cd"
Si intentas definir c$="ef" te dará un "Out of memory"
Responder