aboutsummaryrefslogtreecommitdiff
path: root/src/as_op.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-03-19 23:41:13 +0800
committerMistivia <i@mistivia.com>2025-03-19 23:41:38 +0800
commit48f36f70413c944be9c764e846a1017dd00c63ec (patch)
tree4e8321ad9dc4a4716fcd88220d689babe8f397d5 /src/as_op.h
parentafb5ae7905c666eb259288ba0d3b47f71a13958f (diff)
add complete op list
Diffstat (limited to 'src/as_op.h')
-rw-r--r--src/as_op.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/as_op.h b/src/as_op.h
index dcd77e0..bded9e4 100644
--- a/src/as_op.h
+++ b/src/as_op.h
@@ -2,12 +2,27 @@
#define FVM_AS_OP_H_
enum op {
- ADD, SUB, MUL, DIV, MOD, EQ,
- // place holder for the end of the table
- OPEND
+ OP_SP, OP_SSP, OP_BP, OP_SBP, OP_PC, OP_RV, OP_SRV,
+ OP_IMM,
+ OP_LD8, OP_LD16, OP_LD32, OP_LD,
+ OP_ST8, OP_ST16, OP_ST32, OP_ST,
+ OP_DUP, OP_POP, OP_SWAP, OP_OVER, OP_ROT,
+ OP_ADD, OP_SUB, OP_DIV, OP_MUL, OP_MOD,
+ OP_SHR, OP_SHL, OP_SAR,
+ OP_AND, OP_OR, OP_NOT,
+ OP_BITAND, OP_BITOR, OP_XOR, OP_INVERT,
+ OP_GT, OP_LT, OP_GE, OP_LE, OP_EQ, OP_NEQ,
+ OP_JMP, OP_JZ, OP_JNZ, OP_RET, OP_CALL, OP_SYSCALL,
+ OP_FADD, OP_FSUB, OP_FMUL, OP_FDIV,
+ OP_FGE, OP_FGT, OP_FLE, OP_FLT, OP_FEQ, OP_FNEQ,
+ OP_FTI, OP_ITF,
+ OP_EXIT,
+ OP_LDARG, OP_LDVAR, OP_STARG, OP_STVAR,
+ OP_END
};
enum op str2op(const char *str);
+int isOp(const char *str);
#endif