diff options
Diffstat (limited to 'tests/stack_machine_old_div')
-rwxr-xr-x | tests/stack_machine_old_div/instructions.s.tcl | 23 | ||||
l--------- | tests/stack_machine_old_div/test.v | 1 | ||||
-rw-r--r-- | tests/stack_machine_old_div/words_to_verify.mem | 12 |
3 files changed, 36 insertions, 0 deletions
diff --git a/tests/stack_machine_old_div/instructions.s.tcl b/tests/stack_machine_old_div/instructions.s.tcl new file mode 100755 index 0000000..e2d55dc --- /dev/null +++ b/tests/stack_machine_old_div/instructions.s.tcl @@ -0,0 +1,23 @@ +#!/usr/bin/env tclsh + +source tclasm.tcl + +### store 2 values to memory, load them back, divide one by another and store +### the result (both quotient and remainder); this is analogous to addition +### and substraction tests + +set_sp h7FFFC +const 777681520 +store@ h1EEE0 +const 3721 +store@ h1EEE4 + +load@ h1EEE0 +stack down +load@ h1EEE4 +# dividing 777681520 by 3721 should yield 208997 r 3683 +div +store@ h1EEE8 +stack up +store@ h1EEEC +halt diff --git a/tests/stack_machine_old_div/test.v b/tests/stack_machine_old_div/test.v new file mode 120000 index 0000000..f0c3cf9 --- /dev/null +++ b/tests/stack_machine_old_div/test.v @@ -0,0 +1 @@ +../stack_machine_old_store/test.v
\ No newline at end of file diff --git a/tests/stack_machine_old_div/words_to_verify.mem b/tests/stack_machine_old_div/words_to_verify.mem new file mode 100644 index 0000000..8543226 --- /dev/null +++ b/tests/stack_machine_old_div/words_to_verify.mem @@ -0,0 +1,12 @@ +// address value + 1EEE0 7A70 // 777681520 in hex is 2E5A7A70 + 1EEE2 2E5A + + 1EEE4 E89 // 3721 in hex is E89 + 1EEE6 0 + + 1EEE8 E63 // 3683 in hex is E63 + 1EEEA 0 + + 1EEEC 3065 // 208997 in hex is 33065 + 1EEEE 3 |