lunes, 16 de noviembre de 2015

¿Cuanta memoria queda ?

Lastima que en nuestro querido Spectrum, no tenemos un comando BASIC que nos de la memoria libre que nos queda. 

Bueno, como no me gustan los toolkit de BASIC que lo traen (no encuentro ninguno compatible con el editor de los 128k), aquí tenéis como se calcula. 

PRINT AT 1,1;"Mem:";INT ((65535-USR 7962)/1024);"K"
Es decir, que USR 7962 nos da la utilizada hasta el momento. Dividimos entre 1024 la resta del total (65535) y lo redondeamos a un numero bonito.















Ahh, casi se me olvida. Podemos ponerlo en una bonita función de usuario,
para que quede mejor el código.

10 CLS
20 REM * Memoria libre *
100 PRINT AT 1,1;"Mem :";FN m();"k"
110 REM * Queda mas bonito *
200 DEF FN m()=INT ((65535-USR 7962)/1024

Recordar que hay compiladores a código máquina a los que no les gustan las funciones de usuario, y que, menos llamadas es mejor rendimiento en el Speccy ;)



No hay comentarios: