aboutsummaryrefslogtreecommitdiff
path: root/minias.h
diff options
context:
space:
mode:
authorAndrew Chambers <[email protected]>2021-10-10 00:34:16 +1300
committerAndrew Chambers <[email protected]>2021-10-10 00:34:16 +1300
commit9e47a6b71ac6e3b4e3b9802f3a3d4b78d79c1b47 (patch)
tree67d76ee1409e8be4404d51a67e4155a8bd3a99ac /minias.h
parentbfdfb93ca9b4471a937f8986d86389a8937d2564 (diff)
Prepare for 3 argument instructions.
Diffstat (limited to 'minias.h')
-rw-r--r--minias.h18
1 files changed, 7 insertions, 11 deletions
diff --git a/minias.h b/minias.h
index b9bce6b..7c0036d 100644
--- a/minias.h
+++ b/minias.h
@@ -67,6 +67,8 @@ typedef enum {
ASM_DIV,
ASM_IDIV,
ASM_LEA,
+ ASM_MUL,
+ ASM_IMUL,
ASM_MOV,
ASM_MOVSX,
ASM_MOVZX,
@@ -215,15 +217,10 @@ typedef struct {
typedef struct {
AsmKind kind;
uint8_t variant;
- Parsev *arg;
-} Instr1;
-
-typedef struct {
- AsmKind kind;
- uint8_t variant;
- Parsev *src;
- Parsev *dst;
-} Instr2;
+ Parsev *arg1;
+ Parsev *arg2;
+ Parsev *arg3;
+} Instr;
union Parsev {
AsmKind kind;
@@ -234,8 +231,7 @@ union Parsev {
Ascii ascii;
Asciiz asciiz;
Memarg memarg;
- Instr1 instr1;
- Instr2 instr2;
+ Instr instr;
Call call;
Jmp jmp;
Byte byte;