{{htmlmetatags>metatag-robots=()
metatag-title=(ROUTINE DI MATEMATICA VERIFICA LA CONVERSIONE CON SEGNO | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(An isomorphic language for retrocomputers)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(ROUTINE DI MATEMATICA VERIFICA LA CONVERSIONE CON SEGNO | ugBASIC User Manual)
metatag-og:description=(An isomorphic language for retrocomputers)
}}
====== ugBASIC Manuale Utente ======
===== ROUTINE DI MATEMATICA VERIFICA LA CONVERSIONE CON SEGNO =====
==== SCOPO ====
Questo esempio permette di verificare che l'assegnazione tra tipi interi, con e senza segno, funzioni correttamente.
==== SORGENTE ====
CLS
DIM sb AS SIGNED BYTE, ub AS BYTE
DIM sw AS SIGNED WORD, uw AS WORD
DIM sd AS SIGNED DWORD, ud AS DWORD
PRINT " 8>16) ";
sb = -42: sw = sb: IF sw <> -42 THEN: PRINT "(1)";: ENDIF
sb = -42: uw = sb: IF uw <> $FFD6 THEN: PRINT "(2)";: ENDIF
ub = 192: sw = ub: IF sw <> 192 THEN: PRINT "(3)";: ENDIF
ub = 192: uw = ub: IF uw <> 192 THEN: PRINT "(4)";: ENDIF
PRINT
PRINT " 8>32) ";
sb = -42: sd = sb: IF sd <> -42 THEN: PRINT "(1)";: ENDIF
sb = -42: ud = sb: IF ud <> $FFFFFFD6 THEN: PRINT "(2)";:ENDIF
ub = 42: sd = ub: IF sd <> 42 THEN: PRINT "(3)";: ENDIF
ub = 42: ud = ub: IF ud <> 42 THEN: PRINT "(4)";: ENDIF
PRINT
PRINT "16> 8) ";
sw = -42: sb = sw: IF sb <> -42 THEN: PRINT "(1)";: ENDIF
sw = -42: ub = sw: IF ub <> $D6 THEN: PRINT "(2)";: ENDIF
uw = 42: sb = uw: IF sb <> 42 THEN: PRINT "(3)";: ENDIF
uw = 42: ub = uw: IF ub <> 42 THEN: PRINT "(4)";: ENDIF
PRINT
PRINT "16>32) ";
sw = -42: sd = sw: IF sd <> -42 THEN: PRINT "(1)";: ENDIF
sw = -42: ud = sw: IF ud <> $FFFFFFD6 THEN: PRINT "(2)";: ENDIF
uw = 42: sd = uw: IF sd <> 42 THEN: PRINT "(3)";: ENDIF
uw = 42: ud = uw: IF ud <> 42 THEN: PRINT "(4)";: ENDIF
PRINT
PRINT "32> 8) ";
sd = -42: sb = sd: IF sb <> -42 THEN: PRINT "(1)";: ENDIF
sd = -42: ub = sd: IF ub <> $D6 THEN: PRINT "(2)";: ENDIF
ud = 42: sb = ud: IF sb <> 42 THEN: PRINT "(3)";: ENDIF
ud = 42: ub = ud: IF ub <> 42 THEN: PRINT "(4)";: ENDIF
PRINT
PRINT "32>16) ";
sd = -42: sw = sd: IF sw <> -42 THEN: PRINT "(1)";: ENDIF
sd = -42: uw = sd: IF uw <> $FFD6 THEN: PRINT "(2) = ";uw: ENDIF
ud = 42: sw = ud: IF sw <> 42 THEN: PRINT "(3)";: ENDIF
ud = 42: uw = ud: IF uw <> 42 THEN: PRINT "(4)";: ENDIF
PRINT
==== FILE ====
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/maths_relative_04.bas|maths_relative_04.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 maths_relative_04.bas -o example.xex
altirra example.xex
# Windows
ugbc.atari.exe maths_relative_04.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 maths_relative_04.bas -o example.xex
altirra example.xex
# Windows
ugbc.atarixl.exe maths_relative_04.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 maths_relative_04.bas -o example.prg
x64sc example.prg
# Windows
ugbc.c64.exe maths_relative_04.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 maths_relative_04.bas -o example.prg
x64sc -reu example.prg
# Windows
ugbc.c64reu.exe maths_relative_04.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 maths_relative_04.bas -o example.prg
yape example.prg
# Windows
ugbc.plus4.exe maths_relative_04.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 maths_relative_04.bas -o example.prg
xplus4 example.prg
# Windows
ugbc.plus4.exe maths_relative_04.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 maths_relative_04.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d32.exe maths_relative_04.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 maths_relative_04.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d64.exe maths_relative_04.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 maths_relative_04.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.pc128op.exe maths_relative_04.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 maths_relative_04.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.mo5.exe maths_relative_04.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 maths_relative_04.bas -o example.prg
xvic --memory 24k example.prg
# Windows
ugbc.vic20.exe maths_relative_04.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 maths_relative_04.bas -o example.tap
Speccy example.tap
# Windows
ugbc.zx.exe maths_relative_04.bas -o example.tap
Speccy example.tap
=== ColecoVision ===
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:
== openMSX ==
# Linux
ugbc.coleco maths_relative_04.bas -o example.rom
openmsx -machine \"COL - ColecoVision\" -cart example.rom
# Windows
ugbc.coleco.exe maths_relative_04.bas -o example.rom
bluemsx -machine \"COL - ColecoVision\" example.rom
== blueMSX ==
# Linux
ugbc.coleco maths_relative_04.bas -o example.rom
bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
# Windows
ugbc.coleco.exe maths_relative_04.bas -o example.rom
bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
=== SEGA SC-3000 ===
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 maths_relative_04.bas -o example.rom
bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
# Windows
ugbc.sc3000.exe maths_relative_04.bas -o example.rom
bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
=== SEGA SG-1000 ===
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 maths_relative_04.bas -o example.rom
bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
# Windows
ugbc.sg1000.exe maths_relative_04.bas -o example.rom
bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
==== PROBLEMI? ====
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, [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=MIGLIORARE ROUTINE DI MATEMATICA VERIFICA LA CONVERSIONE CON SEGNO|apri una segnalazione]] su GitHub per questo specifico esempio. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:examples|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]