From 24a242acf2fa0bac5d53b0aee89cca0427d891ce Mon Sep 17 00:00:00 2001 From: Aaron Taylor Date: Mon, 29 Jul 2019 15:19:58 -0700 Subject: [PATCH] Added stdlib_tests for memset and memcpy subroutines. --- stdlib_tests/2003_memset.pvvs | 15 +++++++++++++++ stdlib_tests/2004_memcpy.pvvs | 21 +++++++++++++++++++++ stdlib_tests/vv_test.py | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 stdlib_tests/2003_memset.pvvs create mode 100644 stdlib_tests/2004_memcpy.pvvs diff --git a/stdlib_tests/2003_memset.pvvs b/stdlib_tests/2003_memset.pvvs new file mode 100644 index 0000000..cef959c --- /dev/null +++ b/stdlib_tests/2003_memset.pvvs @@ -0,0 +1,15 @@ +@ Push '42' onto heap[32]-heap[33]. +SSSTSTSTSN | PUSH 42 (pattern) +SSSTSSSSSN | PUSH 32 (address) +SSSTN | PUSH 1 (count) +NSTTTSSSN | JSR > 11000 (memset) + +@ Print heap[32]-heap[33] +SSSTSSSSTN | PUSH 33 (end address) +SSSTSSSSSN | PUSH 32 (start address) +NSTTTTSSSN | JSR > 111000 (dump heap) + +NNN | DIE + +#include +#include diff --git a/stdlib_tests/2004_memcpy.pvvs b/stdlib_tests/2004_memcpy.pvvs new file mode 100644 index 0000000..d4958eb --- /dev/null +++ b/stdlib_tests/2004_memcpy.pvvs @@ -0,0 +1,21 @@ +@ Push '42' onto heap[32]-heap[33]. +SSSTSTSTSN | PUSH 42 (pattern) +SSSTSSSSSN | PUSH 32 (address) +SSSTN | PUSH 1 (count) +NSTTTSSSN | JSR > 11000 (memset) + +@ Copy '42' onto heap[34]-heap[35] +SSSTSSSSSN | PUSH 32 (source) +SSSTSSSTSN | PUSH 34 (destination) +SSSTN | PUSH 1 (count) +NSTTTSSTN | JSR > 11001 (memcpy) + +@ Print heap[34]-heap[35] +SSSTSSSTTN | PUSH 35 (end address) +SSSTSSSTSN | PUSH 34 (start address) +NSTTTTSSSN | JSR > 111000 (dump heap) + +NNN | DIE + +#include +#include diff --git a/stdlib_tests/vv_test.py b/stdlib_tests/vv_test.py index 5e2fd9e..f56f4fd 100755 --- a/stdlib_tests/vv_test.py +++ b/stdlib_tests/vv_test.py @@ -25,6 +25,8 @@ tests = [ ['1003_deepdup', '', 'TOS:\n15:\t+1\n14:\t+244\n13:\t+1\n12:\t+1\n11:\t+1\n10:\t+1\n9:\t+1\n8:\t+1\n7:\t+1\n6:\t+1\n5:\t+1\n4:\t+1\n3:\t+1\n2:\t+1\n1:\t+244\n'], ['2001_spew', '', '32:\t+242\n33:\t+243\n34:\t+244\n'], ['2002_slurp', '', 'TOS:\n3:\t+242\n2:\t+243\n1:\t+244\n'], + ['2003_memset', '', '32:\t+42\n33:\t+42\n'], + ['2004_memcpy', '', '34:\t+42\n35:\t+42\n'], ] for test in tests: -- 2.20.1