Bill Currie
e9af549195
[gamecode] Fix some goofs in the callchain test
...
They made it difficult to tell when I got things working :P
2022-01-17 18:51:50 +09:00
Bill Currie
306fcbfbd0
[gamecode] Improve callchain test
...
Add another function call to further mess up the return value address
and verify just where it is pointing.
2022-01-17 16:55:39 +09:00
Bill Currie
89e120ba34
[gamecode] Make return support 32 words
...
This took interpreting the lower 5 bits of operand c as size - 1, and
0xffff as void (0 words).
2022-01-17 16:54:27 +09:00
Bill Currie
94ef9931a5
[gamecode] Add two more call/return tests
...
The two tests check that 32 words can be returned (fails) and that
function calls can be nested and their values returned properly (also
fails).
2022-01-17 16:30:13 +09:00
Bill Currie
8da1163a82
[gamecode] Add bases check to callret test
...
The base registers must be preserved across a function call and they
currently are not, thus the updated test fails again.
2022-01-17 14:59:17 +09:00
Bill Currie
b3909dbe4c
[gamecode] Add a test for call and return
...
It currently fails for two reasons:
- call's mode selection is incorrect (never updated from when there was
only the one call instruction and the mode was encoded in operand c)
- return should automatically restore the stack pointer to the value it
had on entry to the function, thus allowing local values stored on
the stack to be safely returned.
2022-01-17 14:26:12 +09:00