diff options
Diffstat (limited to 'tests/addr.c')
-rw-r--r-- | tests/addr.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/addr.c b/tests/addr.c new file mode 100644 index 0000000..f524aa6 --- /dev/null +++ b/tests/addr.c @@ -0,0 +1,23 @@ +#include <ejit/ejit.h> + +int +main (int argc, char *argv[]) +{ + struct ejit_operand operands[2] = { + EJIT_OPERAND_GPR(0, EJIT_LONG), + EJIT_OPERAND_GPR(1, EJIT_LONG) + }; + + struct ejit_func *f = ejit_create_func(EJIT_LONG, 2, operands); + + ejit_addr(j, EJIT_GPR(0), EJIT_GPR(0), EJIT_GPR(1)); + ejit_retr(j, EJIT_GPR(0)); + + ejit_compile(f); + + struct ejit_arg args[2] = { + EJIT_ARG(42, EJIT_LONG), + EJIT_ARG(69, EJIT_LONG) + }; + ASSERT(ejit_run_func(f, 2, args) == 111); +} |