Questo esempio mostrerà come funzionano le variabili globali. Prima di tutto, definiremo 2 variabili globali (a
e b
) utilizzando la parola chiave ' 'GLOBAL. Quindi, assegniamo un valore al di fuori di ciascuna procedura. Quindi le due procedure vengono definite e chiamate. Il risultato è che il valore originale è stato modificato ad ogni esecuzione della procedura, poiché tali variabili sono globali.
==== SORGENTE ====
CLS
GLOBAL a, b
a = 6
b = 9
PROCEDURE testProcedure1
a = a + 1
b = b + 1
END PROC
PROCEDURE testProcedure2
a = a + b
b = b + a
END PROC
testProcedure1[]
testProcedure2[]
PRINT “a = ”;a; “ (should be 17)”
PRINT “b = ”;b; “ (should be 27)”
==== FILE ====
*
procedures_global_01.bas
==== COME ESEGUIRLO ====
=== Atari 400/800 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.atari procedures_global_01.bas -o example.xex
altirra example.xex
# Windows
ugbc.atari.exe procedures_global_01.bas -o example.xex
altirra example.xex
=== Atari 600XL/800XL/1200XL/XG(SE) ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.atarixl procedures_global_01.bas -o example.xex
altirra example.xex
# Windows
ugbc.atarixl.exe procedures_global_01.bas -o example.xex
altirra example.xex
=== Commodore 64 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.c64 procedures_global_01.bas -o example.prg
x64sc example.prg
# Windows
ugbc.c64.exe procedures_global_01.bas -o example.prg
x64sc example.prg
=== Commodore 64+REU ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.c64reu procedures_global_01.bas -o example.prg
x64sc -reu example.prg
# Windows
ugbc.c64reu.exe procedures_global_01.bas -o example.prg
x64sc -reu example.prg
=== Commodore PLUS/4 ===
== Usando YAPE ==
Per poter eseguire l'esempio, è necessario disporre dell'emulatore YAPE, e in particolare che l'eseguibile
yape sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.plus4 procedures_global_01.bas -o example.prg
yape example.prg
# Windows
ugbc.plus4.exe procedures_global_01.bas -o example.prg
yape example.prg
== Usando VICE ==
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile
xplus4 sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.plus4 procedures_global_01.bas -o example.prg
xplus4 example.prg
# Windows
ugbc.plus4.exe procedures_global_01.bas -o example.prg
xplus4 example.prg
=== Dragon 32 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.d32 procedures_global_01.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d32.exe procedures_global_01.bas -o example.bin
xroar.exe -rompath (percorso ROM) example.bin
=== Dragon 64 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.d64 procedures_global_01.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d64.exe procedures_global_01.bas -o example.bin
xroar.exe -rompath (percorso ROM) example.bin
=== PC128 Olivetti Prodest ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi i seguenti comandi:
# Linux
ugbc.pc128op procedures_global_01.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC
# Windows
ugbc.pc128op.exe procedures_global_01.bas -o example.bin
dcmoto example.bin
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC
=== Thomson MO5 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile
x64sc sia accessibile.
Digitare quindi i seguenti comandi:
# Linux
ugbc.mo5 procedures_global_01.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC
# Windows
ugbc.mo5.exe procedures_global_01.bas -o example.bin
dcmoto example.bin
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC
=== Commodore VIC-20 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XEMU, e in particolare che l'eseguibile
xmega65 sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.vic20 procedures_global_01.bas -o example.prg
xvic –memory 24k example.prg
# Windows
ugbc.vic20.exe procedures_global_01.bas -o example.prg
xvic –memory 24k example.prg
=== ZX Spectrum ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Speccy, e in particolare che l'eseguibile
speccy'' sia accessibile.
Digitare quindi il seguente comando:
# Linux ugbc.zx procedures_global_01.bas -o example.tap Speccy example.tap # Windows ugbc.zx.exe procedures_global_01.bas -o example.tap Speccy example.tap
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore openMsx oppure il BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.coleco procedures_global_01.bas -o example.rom openmsx -machine \"COL - ColecoVision\" -cart example.rom # Windows ugbc.coleco.exe procedures_global_01.bas -o example.rom bluemsx -machine \"COL - ColecoVision\" example.rom
# Linux ugbc.coleco procedures_global_01.bas -o example.rom bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom # Windows ugbc.coleco.exe procedures_global_01.bas -o example.rom bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.sc3000 procedures_global_01.bas -o example.rom bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom # Windows ugbc.sc3000.exe procedures_global_01.bas -o example.rom bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux ugbc.sg1000 procedures_global_01.bas -o example.rom bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom # Windows ugbc.sg1000.exe procedures_global_01.bas -o example.rom bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
Se hai trovato un problema nel cercare di eseguire questo esempio, se pensi che ci sia un bug o, più semplicemente, vorresti che fosse migliorato, apri una segnalazione su GitHub per questo specifico esempio. Grazie!