Sinclair BASIC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 32:
# Poteva essere avviata l'esecuzione di [[linguaggio macchina]] usando la funzione <code>USR</code> passandogli come valore l'indirizzo di memoria a cui iniziava il codice ed ottenendo come risultato il contenuto dell'intero registro BC (su altri computer basati sullo [[Zilog Z80|Z80]] veniva restituito il valore del registro HL), per cui:<br> <code>LET A=USR 30000</code><br>iniziava l'esecuzione del codice macchina presente all'indirizzo 30000 e, dopo il suo completamento, memorizzava il valore della coppia di byte costituenti il registro BC nella variabile <code>a</code>, che poteva essere utilizzata dal programma chiamante.
A differenza dei dialetti BASIC per home computer derivati dal [[Microsoft BASIC]], le funzioni <code>LEFT$()</code>, <code>MID$()</code> e <code>RIGHT$()</code> del Sinclair BASIC accedevano alle stringhe come [[array]]: ad esempio, <code>A$ (5 TO 10)</code> restituiva una sottostringa contenente i caratteri di <code>A$</code> compresi fra il 5° ed il 10°. Come nei moderni linguaggi di programmazione quali il [[Python]], era possibile rimpiazzare i comandi <code>LEFT$()</code> e <code>RIGHT$()</code> semplicemente omettendo la parte sinistra o destra del parametro: per questo motivo <code>A$ ( TO 5)</code> è equivalente a <code>LEFT$(A$,5)</code>.
==Timex BASIC==
Il dialetto ''''Timex BASIC''', utilizzato nei compatibili Spectrum come il [[Timex Sinclair 2068]] (ma non nel [[Timex Computer 2048]] che utilizzava il Sinclair BASIC tradizionale) aveva le seguenti parole chiavi aggiuntive:
* <code>DELETE</code> cancellava un intervallo di linee del programma BASIC
* <code>FREE</code> era una funzione che restituiva il quantitativo di memoria libera.
* <code>ON ERR</code> era una funzione che intercettava gli errori, utilizzata principalmente per salti condizionali <code>ON ERR GO TO</code> o code>ON ERR GO SUB</code>.
* <code>RESET</code> resettava la macchina e le periferiche.
* <code>SOUND</code> pilotava il chip audio AY-3-8192.
* <code>STICK</code> leggeva la posizione del [[joystick]] interno ([[Timex Sinclair 2090]]).
==Voci correlate==
*[[Beta BASIC]], di ''Andy Wright'': nato come estensione del Sinclair BASIC, alla fine divenne un interprete vero e proprio.
*[[SuperBASIC]], dialetto BASIC molto avanzato, introdotto con il [[Sinclair QL]]: aveva delle similitudini con il Sinclair BASIC.
==
*[http://www.worldofspectrum.org/ZXBasicManual/ Sinclair ZX Spectrum BASIC Programming] —
*[http://www.worldofspectrum.org/ZX81BasicProgramming/ Sinclair ZX81 Basic Programming] —
*[http://scratchpad.wikia.com/wiki/Sinclair_BASIC_History The History of Sinclair BASIC] —
==
*
*
[[Categoria:Intepreti BASIC]]
▲*[http://www.worldofspectrum.org/ZXBasicManual/ Sinclair ZX Spectrum BASIC Programming] — The original 1982 manual by Steven Vickers (referenced above)
▲*[http://www.worldofspectrum.org/ZX81BasicProgramming/ Sinclair ZX81 Basic Programming] — also by Vickers
▲*[http://scratchpad.wikia.com/wiki/Sinclair_BASIC_History The History of Sinclair BASIC] — By Andrew Owen, whose Sinclair BASIC documents are hosted by the World of Spectrum website
▲[[Category:ZX Spectrum]]
[[cs:Sinclair BASIC]]
|