#ifndef FZL_OPCODES_H #define FZL_OPCODES_H // Available opcodes typedef enum { FZL_OPCODE_LOADCONST = 0xF00001, // Load const into T (temp) reg FZL_OPCODE_CALL_BUILTIN = 0xF00002, // Call builtin function FZL_OPCODE_PUSHNUM = 0xF00003, // Push number into stack FZL_OPCODE_ADD = 0xA00001, // Sum two numbers in arg strack FZL_OPCODE_SUB = 0xA00002, // Subract two numbers in arg stack FZL_OPCODE_MUL = 0xA00003, // Multiply two numbers in arg stack FZL_OPCODE_DIV = 0xA00004, // Divide two numbers in arg stack FZL_OPCODE_POW = 0xA00005, // Power first number in arg stack by second FZL_OPCODE_MOD = 0xA00006, // Get module of two numbers in arg stack FZL_OPCODE_NEG = 0xA00007, // Negotiate number in arg stack } fzl_opcode_t; #endif // FZL_OPCODES_H