From fd5bdaff40f93546009e1ec854fd26df01e78f22 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 30 Apr 2024 15:25:17 +0300 Subject: correct addr + Doesn't quite implement stack handling fully as of yet, but slowly getting there --- tests/1.qbt | 19 ------------------- tests/2.qbt | 4 ---- tests/3.qbt | 13 ------------- tests/4.qbt | 18 ------------------ tests/5.qbt | 5 ----- tests/addr.qbt | 7 +++++++ tests/empty.qbt | 4 ++++ tests/hello_world.qbt | 18 ++++++++++++++++++ tests/simple_args.qbt | 19 +++++++++++++++++++ tests/simple_external_putchar.qbt | 5 +++++ tests/simple_loop.qbt | 13 +++++++++++++ 11 files changed, 66 insertions(+), 59 deletions(-) delete mode 100644 tests/1.qbt delete mode 100644 tests/2.qbt delete mode 100644 tests/3.qbt delete mode 100644 tests/4.qbt delete mode 100644 tests/5.qbt create mode 100644 tests/addr.qbt create mode 100644 tests/empty.qbt create mode 100644 tests/hello_world.qbt create mode 100644 tests/simple_args.qbt create mode 100644 tests/simple_external_putchar.qbt create mode 100644 tests/simple_loop.qbt (limited to 'tests') diff --git a/tests/1.qbt b/tests/1.qbt deleted file mode 100644 index e87fddc..0000000 --- a/tests/1.qbt +++ /dev/null @@ -1,19 +0,0 @@ -do_stuff (i27 a0, i27 a1) -{ - i27 r0 = a0 + a1; - i27 r1 = a0 - a1; - => (r0, r1); -} - -/* this is a function of some kind */ -main (i27 a0, i27 a1) -{ - i27 r0 = a0 + a1; - /* r0 is reassigned */ - &do_stuff (r0, i9 29) => (r0, r1); - r0 < r1 -> somewhere_else; - => (r1); - - somewhere_else: - => (r0); -} diff --git a/tests/2.qbt b/tests/2.qbt deleted file mode 100644 index 9c63342..0000000 --- a/tests/2.qbt +++ /dev/null @@ -1,4 +0,0 @@ -main() -{ - => (); -} diff --git a/tests/3.qbt b/tests/3.qbt deleted file mode 100644 index 7c54e0f..0000000 --- a/tests/3.qbt +++ /dev/null @@ -1,13 +0,0 @@ -main() -{ - i27 i = 0; - i27 max = 1000000000; - i27 sum = 0; - -top: - i27 sum = sum + i; - i27 i = i + 1; - i < max -> top; - &_putchar(i9 sum) => (); - => (); -} diff --git a/tests/4.qbt b/tests/4.qbt deleted file mode 100644 index 0a5734a..0000000 --- a/tests/4.qbt +++ /dev/null @@ -1,18 +0,0 @@ -main() -{ - &_putchar (i9 'H') => (); - &_putchar (i9 'e') => (); - &_putchar (i9 'l') => (); - &_putchar (i9 'l') => (); - &_putchar (i9 'o') => (); - &_putchar (i9 ',') => (); - &_putchar (i9 ' ') => (); - &_putchar (i9 'W') => (); - &_putchar (i9 'o') => (); - &_putchar (i9 'r') => (); - &_putchar (i9 'l') => (); - &_putchar (i9 'd') => (); - &_putchar (i9 '!') => (); - &_putchar (i9 '\n') => (); - => (); -} diff --git a/tests/5.qbt b/tests/5.qbt deleted file mode 100644 index 213592e..0000000 --- a/tests/5.qbt +++ /dev/null @@ -1,5 +0,0 @@ -main() -{ - &_putchar(i9 'H') => (); - => (); -} diff --git a/tests/addr.qbt b/tests/addr.qbt new file mode 100644 index 0000000..efe149c --- /dev/null +++ b/tests/addr.qbt @@ -0,0 +1,7 @@ +main () +{ + i27 r0 = 1; + i27 r1 = ^r0; + i27 r0 = r0 + r0; + => (r0); +} diff --git a/tests/empty.qbt b/tests/empty.qbt new file mode 100644 index 0000000..9c63342 --- /dev/null +++ b/tests/empty.qbt @@ -0,0 +1,4 @@ +main() +{ + => (); +} diff --git a/tests/hello_world.qbt b/tests/hello_world.qbt new file mode 100644 index 0000000..8419208 --- /dev/null +++ b/tests/hello_world.qbt @@ -0,0 +1,18 @@ +main() +{ + &_putchar ('H') => (); + &_putchar ('e') => (); + &_putchar ('l') => (); + &_putchar ('l') => (); + &_putchar ('o') => (); + &_putchar (',') => (); + &_putchar (' ') => (); + &_putchar ('W') => (); + &_putchar ('o') => (); + &_putchar ('r') => (); + &_putchar ('l') => (); + &_putchar ('d') => (); + &_putchar ('!') => (); + &_putchar ('\n') => (); + => (); +} diff --git a/tests/simple_args.qbt b/tests/simple_args.qbt new file mode 100644 index 0000000..5dcb3d8 --- /dev/null +++ b/tests/simple_args.qbt @@ -0,0 +1,19 @@ +do_stuff (i27 a0, i27 a1) +{ + i27 r0 = a0 + a1; + i27 r1 = a0 - a1; + => (r0, r1); +} + +/* this is a function of some kind */ +main (i27 a0, i27 a1) +{ + i27 r0 = a0 + a1; + /* r0 is reassigned */ + &do_stuff (r0, 29) => (r0, r1); + r0 < r1 -> somewhere_else; + => (r1); + + somewhere_else: + => (r0); +} diff --git a/tests/simple_external_putchar.qbt b/tests/simple_external_putchar.qbt new file mode 100644 index 0000000..b76844c --- /dev/null +++ b/tests/simple_external_putchar.qbt @@ -0,0 +1,5 @@ +main() +{ + &_putchar('H') => (); + => (); +} diff --git a/tests/simple_loop.qbt b/tests/simple_loop.qbt new file mode 100644 index 0000000..32e544f --- /dev/null +++ b/tests/simple_loop.qbt @@ -0,0 +1,13 @@ +main() +{ + i27 i = 0; + i27 max = 1000; + i27 sum = 0; + +top: + i27 sum = sum + i; + i27 i = i + 1; + i < max -> top; + &_putchar(sum) => (); + => (); +} -- cgit v1.3