#define HLT (0x00 << 4) #define LOD (0x01 << 4) #define STO (0x02 << 4) #define ADD (0x03 << 4) #define MUL (0x04 << 4) // user defined #define DIV (0x05 << 4) // user defined #define LSP (0x06 << 4) #define CLR (0x07 << 4) #define COM (0x08 << 4) #define JZE (0x09 << 4) #define JNEG (0x0A << 4) #define JMP (0x0B << 4) #define OUT (0x0C << 4) #define CALL (0x0D << 4) #define RET (0x0E << 4) #define NOP (0x0F << 4) // Pseudo Ops #ifdef ORIGINAL_PSEUDO #define ORG 1 #define EQU 2 #define DC 3 #define DS 4 #define END 5 #endif #define ORG 0x10 #define EQU 0x11 #define DC 0x12 #define DS 0x13 #define END 0x14 #define ONE_BYTE 1 // 1 byte instruction length #define MODE0_LENGTH 3 // 3 byte instruction length #define MODE1_LENGTH 2 // 2 byte instruction length #define NO_MODE_LENGTH 3 // used for OUT instruction