#define PUSHIMM 0x00 #define PUSHVAR 0x01 #define POP 0x02 #define MKCONST 0x03 #define INCVAR 0x04 #define DECVAR 0x05 #define WRITE_STR 0x06 #define REPEAT 0x07 #define JUMP 0x08 #define SUBCALL 0x09 #define SUBRET 0x0A #define IF 0x0B #define DELAY 0x0C #define LOGVAR 0x0D #define QUIT 0x0E #define LOGASCII 0x0F #define NEG 0x10 #define POW 0x11 #define MULT 0x12 #define DIV 0x13 #define MOD 0x14 #define ADD 0x15 #define SUB 0x16 #define EQ 0x17 #define NEQ 0x18 #define LEQ 0x19 #define GEQ 0x1A #define LT 0x1B #define GT 0x1C #define LOGNOT 0x1D #define LOGAND 0x1E #define LOGOR 0x1F #define BITAND 0x20 #define BITOR 0x21 #define BITXOR 0x22 #define BITCOMP 0x23 #define LSH 0x24 #define RSH 0x25 #define SQRT 0x26 #define DECL_CONST 0x27 #define SENDKEY 0x28 #define DFL_DELAY 0x29 #define STR_DELAY 0x2A #define TYPE_DEC 0x2B #define TYPE_STR 0x2C #define ADD_CHAR 0x2D #define NEWLINE 0x2E #define READ_VAR 0x2F #define MKSPECIAL 0x30 /* new opcodes here, be sure to update compile.c, vm.c, and emitc.c */ #define LINEMARK 0xFF