|
@@ -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
|
|
|
|