diff options
Diffstat (limited to 'gas/testsuite/gasp/exp.asm')
-rw-r--r-- | gas/testsuite/gasp/exp.asm | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/gas/testsuite/gasp/exp.asm b/gas/testsuite/gasp/exp.asm new file mode 100644 index 0000000..041608a --- /dev/null +++ b/gas/testsuite/gasp/exp.asm @@ -0,0 +1,80 @@ + +; test all ops + +a1 .EQU 4+10 +a2 .EQU 4-10 +a3 .EQU 4&10 +a4 .EQU 4|2 +a5 .EQU 4~2 +a6 .EQU 4*10 +a7 .EQU 40/10 +a8 .EQU +7 +a9 .EQU -7 +a10 .EQU ~7 + + + a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 + +; test the priorities + +b1 .EQU 1|2~3&4+5-8*7/2 +b2 .EQU (1|2~(3&(4+5-(8*(7/2))))) +b3 .EQU 10*2/3*4 +b4 .EQU (((10*2)/3)*4) +b5 .EQU 10+2-3+4 +b6 .EQU (((10+2)-3)+4) + + b1 b2 b3 b4 + +; test association + +c1 .EQU -~3 +c2 .EQU ~-3 +c3 .EQU -(~3) +c4 .EQU ~(-3) + + c1 c2 c3 c4 + +; test rules for symbols + +ok1 .EQU FOO +ok2 .EQU FOO+10 +ok3 .EQU 10+FOO +ok4 .EQU FOO-10 + + ok1 + ok2 + ok3 + ok4 + +ok5 .EQU FOO+3+4+5+6 +ok6 .EQU FOO-BAR + + ok5 + ok6 + +bad1 .EQU FOO+FOO +bad2 .EQU FOO*2 +bad3 .EQU FOO/2 +bad4 .EQU FOO|2 +bad5 .EQU FOO&2 +bad6 .EQU FOO~2 +bad7 .EQU FOO*2 + +; test spacing + +space1 .EQU 1 + 2 +3+FOO + 3 +space2 + +; from the SH manual + + .DATA.L 1+(2-(3+(4-5))),1 + + .DATA.L -H'fffffff1+H'000000f0*H'00000010|H'000000f0&H'0000ffff,H'00000fff + + .DATA.L -~-~H'0000000f,H'00 + + + + + .END |