/* Note: The distribution of the numbers is HIGHLY significant */
#define O_INC     0x1      /* (i) */
#define O_DEC     0x2      /* (d) */

#define O_MUL     0x3      /* * */
#define O_DIV     0x4      /* / */
#define O_MOD     0x5      /* \ */

#define O_AND     0x6      /* & */
#define O_EOR     0x7      /* ^ */
#define O_OR      0x8      /* ! */

#define O_BOR     0x9      /* .OR  */
#define O_BAND    0xA      /* .AND */
#define O_BNOT    0xB      /* .NOT */

#define O_EQ      0xC      /* = */ 
#define O_LT      0xD      /* < */
#define O_GT      0xE      /* > */
#define O_GEQ     0xF      /* >= */
#define O_NEQ     0x10     /* <> */
#define O_LEQ     0x11     /* <= */

#define O_MIN     0x12      /* - (u) */

#define O_MSB     0x18     /* > (m) */
#define O_LSB     0x19     /* < (l) */
#define is_lsbmsb( x)   (((x) & O_MSB) == O_MSB)

#define O_ADD     0x20     /* + */
#define O_SUB     0x21     /* - */
#define is_addsub( x)   ((x) & O_ADD) 

#define O_ZEROP   0x40     /* dito for zeropage */
#define O_PCREL   0x80     /* type flag for expressions that are pc rel. */

#define O_BITS    0x3F
