aboutsummaryrefslogtreecommitdiff
path: root/minias.h
diff options
context:
space:
mode:
authorAndrew Chambers <[email protected]>2021-10-07 16:57:41 +1300
committerAndrew Chambers <[email protected]>2021-10-07 16:57:41 +1300
commit2a302793114003a4440f43f4beb9a3d752171408 (patch)
tree32f327e5fd8952bd3f57fe8d2a5a169c45491708 /minias.h
parentf4a9a52d001a54ca1142110b70142a8ef8df53bc (diff)
WIP refactor.
Diffstat (limited to 'minias.h')
-rw-r--r--minias.h30
1 files changed, 19 insertions, 11 deletions
diff --git a/minias.h b/minias.h
index bf0b857..5767587 100644
--- a/minias.h
+++ b/minias.h
@@ -183,19 +183,22 @@ typedef struct {
typedef struct {
AsmKind kind;
- char type;
+ uint8_t variant;
Parsev *src;
Parsev *dst;
-} ModRMBinop;
+} Instr;
-typedef ModRMBinop Add;
-typedef ModRMBinop And;
-typedef ModRMBinop Lea;
-typedef ModRMBinop Mov;
-typedef ModRMBinop Movzx;
-typedef ModRMBinop Or;
-typedef ModRMBinop Sub;
-typedef ModRMBinop Xor;
+/*
+typedef Instr Add;
+typedef Instr And;
+typedef Instr Lea;
+typedef Instr Mov;
+typedef Instr Movzx;
+typedef Instr Or;
+typedef Instr Sub;
+typedef Instr Xor;
+*/
+typedef Instr Xchg;
union Parsev {
AsmKind kind;
@@ -203,15 +206,20 @@ union Parsev {
Globl globl;
Balign balign;
Memarg memarg;
- ModRMBinop modrmbinop;
+ Instr instr;
+ /*
Add add;
And and;
Lea lea;
Mov mov;
Movzx movzx;
Or or;
+ */
+ Xchg xchg;
+ /*
Xor xor;
Sub sub;
+ */
Jmp jmp;
Byte byte;
Imm imm;