BASIC COMMANDS: SWAP NUMBERS

This example shows how to exchange two variables of the same type.

source compile sandbox issues? back to examples

SOURCE CODE ()

    CLS

    DIM firstbs AS SIGNED BYTE, secondbs AS SIGNED BYTE
    DIM firstbu AS BYTE, secondbu AS BYTE

	DIM firstws AS SIGNED WORD, secondws AS SIGNED WORD
    DIM firstwu AS WORD, secondwu AS WORD

	DIM firstds AS SIGNED DWORD, secondds AS SIGNED DWORD
    DIM firstdu AS DWORD, seconddu AS DWORD

    firstbs = -42: secondbs = 24
    firstbu = 42: secondbu = 24

	firstws = -4200: secondws = 2400
 	firstwu = 4200: secondwu = 2400

	firstds = -1024000: secondds = 204800
    firstdu = 1024000: seconddu = 204800
    
    SWAP firstbs, secondbs
    SWAP firstbu, secondbu

	SWAP firstws, secondws
 	SWAP firstwu, secondwu

	SWAP firstds, secondds
    SWAP firstdu, seconddu

	PRINT "BYTE SIGNED:";    
	IF firstbs = 24 THEN
		PRINT "OK (1) ";
	ELSE
		PRINT "FAIL (1) = ";firstbs
    ENDIF    
    IF secondbs = -42 THEN
		PRINT "OK (2) ";    
	ELSE
		PRINT "FAIL (2) = ";secondbs
    ENDIF

    PRINT
    
	PRINT "BYTE UNSIGNED:";    
    IF firstbu = 24 THEN
		PRINT "OK (1) ";
	ELSE
		PRINT "FAIL (2) = ";firstbu
    ENDIF
    IF secondbu = 42 THEN
		PRINT "OK (2) ";    
    ENDIF

    PRINT

	PRINT "WORD SIGNED:";    
	IF firstws = 2400 THEN
		PRINT "OK (1) ";
	ENDIF
	IF secondws = -4200 THEN
		PRINT "OK (2) ";	
	ENDIF
	
    PRINT
    
	PRINT "WORD UNSIGNED:";    
 	IF firstwu = 2400 THEN
		PRINT "OK (1) ";
 	ENDIF 	
 	IF secondwu = 4200 THEN
		PRINT "OK (2) ";
 	ENDIF

	PRINT

	PRINT "DWORD SIGNED:";    	
	IF firstds = 204800 THEN
		PRINT "OK (1) ";
	ENDIF
	IF secondds = -1024000 THEN
		PRINT "OK (2) ";
	ENDIF
	
	PRINT
	
	PRINT "DWORD UNSIGNED:";    	
    IF firstdu = 204800 THEN
		PRINT "OK (1) ";
    ENDIF
    IF seconddu = 1024000 THEN
		PRINT "OK (2) ";
    ENDIF
    

How to compile and run the example

The instructions here refer to compiling the example from the command line. For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile each single example with just one click.



Are instructions for your specific home computer / console missing? First of all, check if your computer is supported by clicking here. If so, since ugBASIC is a language which does not provide abstractions, it is possible that this example will not work on your target. If you think this is an issue, please click here.

Amstrad CPC 464, Amstrad CPC 6128, Amstrad CPC 664

In order to compile the example, type this command on the command line:

Linux

ugbc.cpc -O dsk -o basic_swap.dsk basic_swap.bas

Windows

ugbc.cpc.exe -O dsk -o basic_swap.dsk basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Atari 1200XL, Atari 130XE, Atari 600XL, Atari 65XE, Atari 800XE, Atari 800XL, Atari XEGS

In order to compile the example, type this command on the command line:

Linux

ugbc.atarixl -O xex -o basic_swap.xex basic_swap.bas

Windows

ugbc.atarixl.exe -O xex -o basic_swap.xex basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Atari 400, Atari 800

In order to compile the example, type this command on the command line:

Linux

ugbc.atari -O xex -o basic_swap.xex basic_swap.bas

Windows

ugbc.atari.exe -O xex -o basic_swap.xex basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Coleco Vision, Dina (Chuang Zao Zhe 50), SpectraVideo SV-603 VGA

In order to compile the example, type this command on the command line:

Linux

ugbc.coleco -O rom -o basic_swap.rom basic_swap.bas

Windows

ugbc.coleco.exe -O rom -o basic_swap.rom basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Commodore 128 (CPU Z80)

In order to compile the example, type this command on the command line:

Linux

ugbc.c128z -O prg -o basic_swap.prg basic_swap.bas

Windows

ugbc.c128z.exe -O prg -o basic_swap.prg basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Commodore 128 (CPU 8502)

In order to compile the example, type this command on the command line:

Linux

ugbc.c128 -O prg -o basic_swap.prg basic_swap.bas

Windows

ugbc.c128.exe -O prg -o basic_swap.prg basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Commodore 64, Commodore Executive 64

In order to compile the example, type this command on the command line:

Linux

ugbc.c64 -O prg -o basic_swap.prg basic_swap.bas

Windows

ugbc.c64.exe -O prg -o basic_swap.prg basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Dragon 32

In order to compile the example, type this command on the command line:

Linux

ugbc.d32 -O bin -o basic_swap.bin basic_swap.bas

Windows

ugbc.d32.exe -O bin -o basic_swap.bin basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Dragon 64

In order to compile the example, type this command on the command line:

Linux

ugbc.d64 -O bin -o basic_swap.bin basic_swap.bas

Windows

ugbc.d64.exe -O bin -o basic_swap.bin basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

MSX

In order to compile the example, type this command on the command line:

Linux

ugbc.msx1 -O rom -o basic_swap.rom basic_swap.bas

Windows

ugbc.msx1.exe -O rom -o basic_swap.rom basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Olivetti Prodest PC128, Thomson MO6

In order to compile the example, type this command on the command line:

Linux

ugbc.pc128op -O k7 -o basic_swap.k7 basic_swap.bas

Windows

ugbc.pc128op.exe -O k7 -o basic_swap.k7 basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Plus/4

In order to compile the example, type this command on the command line:

Linux

ugbc.plus4 -O prg -o basic_swap.prg basic_swap.bas

Windows

ugbc.plus4.exe -O prg -o basic_swap.prg basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

SEGA SC-3000

In order to compile the example, type this command on the command line:

Linux

ugbc.sc3000 -O rom -o basic_swap.rom basic_swap.bas

Windows

ugbc.sc3000.exe -O rom -o basic_swap.rom basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

SEGA SG-1000

In order to compile the example, type this command on the command line:

Linux

ugbc.sg1000 -O rom -o basic_swap.rom basic_swap.bas

Windows

ugbc.sg1000.exe -O rom -o basic_swap.rom basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

TRS-80 Color Computer, TRS-80 Color Computer 2

In order to compile the example, type this command on the command line:

Linux

ugbc.coco -O bin -o basic_swap.bin basic_swap.bas

Windows

ugbc.coco.exe -O bin -o basic_swap.bin basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

TRS-80 Color Computer 3

In order to compile the example, type this command on the command line:

Linux

ugbc.coco3 -O bin -o basic_swap.bin basic_swap.bas

Windows

ugbc.coco3.exe -O bin -o basic_swap.bin basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Thomson MO5

In order to compile the example, type this command on the command line:

Linux

ugbc.mo5 -O k7 -o basic_swap.k7 basic_swap.bas

Windows

ugbc.mo5.exe -O k7 -o basic_swap.k7 basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Thomson TO8

In order to compile the example, type this command on the command line:

Linux

ugbc.to8 -O k7 -o basic_swap.k7 basic_swap.bas

Windows

ugbc.to8.exe -O k7 -o basic_swap.k7 basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

VIC-20

In order to compile the example, type this command on the command line:

Linux

ugbc.vic20 -O prg -o basic_swap.prg basic_swap.bas

Windows

ugbc.vic20.exe -O prg -o basic_swap.prg basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

ZX Spectrum +2, ZX Spectrum 128K, ZX Spectrum 48K

In order to compile the example, type this command on the command line:

Linux

ugbc.zx -O tap -o basic_swap.tap basic_swap.bas

Windows

ugbc.zx.exe -O tap -o basic_swap.tap basic_swap.bas

For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to download and compile this example with just one click.

Any problem?

If you have found a problem trying to run this example, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!

open an issue BACK TO EXAMPLES