diff options
Diffstat (limited to 'sim/testsuite/sim/mn10300/testutils.inc')
-rw-r--r-- | sim/testsuite/sim/mn10300/testutils.inc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/sim/testsuite/sim/mn10300/testutils.inc b/sim/testsuite/sim/mn10300/testutils.inc new file mode 100644 index 0000000..6418817 --- /dev/null +++ b/sim/testsuite/sim/mn10300/testutils.inc @@ -0,0 +1,63 @@ +# MACRO: exit + .macro exit nr + mov \nr, d1; + # Trap function 1: exit(). + mov 1, d0; + syscall; + .endm + +# MACRO: pass +# Write 'pass' to stdout and quit + .macro pass + # Trap function 5: write(). + mov 5, d0; + # Use stdout. + mov 1, d1; + # Point to the string. + mov 1f, a0; + mov a0, (12, sp); + # Number of bytes to write. + mov 5, d3; + mov d3, (16, sp); + # Trigger OS trap. + syscall; + exit 0 + .data + 1: .asciz "pass\n" + .endm + +# MACRO: fail +# Write 'fail' to stdout and quit + .macro fail + # Trap function 5: write(). + mov 5, d0; + # Use stdout. + mov 1, d1; + # Point to the string. + mov 1f, a0; + mov a0, (12, sp); + # Number of bytes to write. + mov 5, d3; + mov d3, (16, sp); + # Trigger OS trap. + syscall; + exit 0 + .data + 1: .asciz "fail\n" + .endm + +# MACRO: start +# All assembler tests should start with a call to "start" + .macro start + .data +.global _stack +_stack: + .rept 8 + .long 0 + .endr + .text +.global _start +_start: + mov _stack, a0; + mov a0, sp; + .endm |