#define MOV(dst, src) dst = src; #define SL(dst) dst <<= 1; #define SR(dst) dst >>= 1; #define SWAP(dst) dst = (dst<<4 | dst>>4); //XXX: only for ACC! #define AND(dst, src) dst &= src; //xxx: overloaded for acc/mem/imm #define OR(dst, src) dst |= src; #define CLEAR(dst) dst = 0; #define ADD(dst, src) dst += src; //xxx: overloaded for acc/mem/imm