diff options
author | Wojciech Kosior <kwojtus@protonmail.com> | 2020-10-08 19:18:43 +0200 |
---|---|---|
committer | Wojciech Kosior <kwojtus@protonmail.com> | 2020-10-08 19:18:43 +0200 |
commit | 5e04a9626e2986fc40825d15cb09a274223381e9 (patch) | |
tree | a52a96fa585247145cb521b9c6f7fe7946ba7997 /tools/stack_machine_instruction.h | |
parent | 63a2cced4238af7d171e0b8807d887c435b4656b (diff) | |
download | AGH-engineering-thesis-5e04a9626e2986fc40825d15cb09a274223381e9.tar.gz AGH-engineering-thesis-5e04a9626e2986fc40825d15cb09a274223381e9.zip |
translate webasm block of instructions + put instruction names as comments in generated code
Diffstat (limited to 'tools/stack_machine_instruction.h')
-rw-r--r-- | tools/stack_machine_instruction.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/stack_machine_instruction.h b/tools/stack_machine_instruction.h index 1f47c40..15c870b 100644 --- a/tools/stack_machine_instruction.h +++ b/tools/stack_machine_instruction.h @@ -23,6 +23,7 @@ struct instruction { bool address_assigned; uint16_t encoding; struct instruction_data data; + const char *name; }; #define NO_DATA ((struct instruction_data) { \ @@ -76,21 +77,21 @@ inline static struct instruction_data ptr_after(struct instruction **val) { } int add_instruction(struct instruction **expr, uint16_t encoding, - struct instruction_data data); + struct instruction_data data, const char *name); /* Define stack machine instructions, that take immediate operands */ #define X(instr, encoding) \ inline static int i_##instr(struct instruction_data data, \ struct instruction **expr) \ { \ - return add_instruction(expr, encoding, data); \ + return add_instruction(expr, encoding, data, #instr); \ } /* Define stack machine instructions, that *don't* take immediate operands */ #define Y(instr, encoding) \ inline static int i_##instr(struct instruction **expr) \ { \ - return add_instruction(expr, encoding, NO_DATA); \ + return add_instruction(expr, encoding, NO_DATA, #instr); \ } X(store, 0x7E00) /* 0111_1110_0xxx_xxxx */ |