[zxspectrum] Re: BasiMon: Il codice..

  • From: Giovanni Lagorio <lagorio@xxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 04 Jan 2008 00:10:30 +0100

Matteo wrote:
>
> Ma infatti, mi son sempre chiesto cosa significasse...in alcuni loader
> di giochi si vedevano proprio questi comandi: BORDER NOT PI: PAPER NOT
> PI: INK NOT PI: CLS
>
> A volte sono capitate sintassi del tipo BORDER PI-PI che equivale
> sempre a zero: quindi tutto ciò serve a risparmiare spazio? ma in che
> modo?
>
> Sembrerebbe infatti che utilizzando questa notazione i bytes siano di
> più.
quando il BASIC mette in memoria i listati oltre ai caratteri ASCII che
compongono i numeri, mette gli stessi in formato floating point (non è
proprio esatto, ma l'idea è quella) usando altri 6 byte. Quindi, se in
un listato scrivi il numero zero usi 1 byte per il carattere 0 in ASCII
più altri 6 byte, mentre se scrivi NOT PI usi solo 2 byte (l'ASCII di
NOT e quello di PI). Però a runtime se hai scritto 0 il BASIC trova il
numero già bello e pronto, ma se hai scritto NOT PI si deve calcolare il
valore e quindi ci mette di più.

Ciao,
Gio

Other related posts: