#!/bin/sh

source $testsuitedir/lib_test.sh

cat > PROGRAMME << EOP
	:write :stdout ~s @&0
	:write :stdout ~s @(&1+1)
	:write :stdout ~s @s
	:write :stdout ~s @(s+1)
	:write :stdout ~s @&@p
	:write :stdout ~s @(&@pp+1)
	:write :stdout ~s @&@(pp-1)
EOP

cat > MEMOIRE_INITIALE << EOM
# Memory:
#> &0 : STR "one\n"
#> &1 : INT
#> &5 / s : STR "three\n"
# Aliases:
# s -> &5
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > MEMOIRE_REF << EOM
# Memory:
#> &0 : STR "one\n"
#> &1 : INT
#> &5 / s : STR "three\n"
# Aliases:
# s -> &5
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > STDOUT_REF << EOS
one
EOS

cat > STDERR_REF << EOS
+-------------------------------------------------------------------------------------+
| File PROGRAMME.setlggasm, line 2 > Runtime error (SEGV): Read to invalid address &2 |
+-------------------------------------------------------------------------------------+
EOS

cat > CODE_RETOUR_REF << EOC
129
EOC

test_basique
