/* operands types */ enum optype { NONE, /* no operand */ JBSR, /* jbsr pseudo op */ PCREL, /* PC relative (branch offset) */ BADDR, /* Branch address (sign extended absolute address) */ D, /* 16 bit displacement */ DS, /* 14 bit displacement (double word) */ SI, /* signed 16 bit immediate */ UI, /* unsigned 16 bit immediate */ HI, /* high 16 bit immediate (with truncation) */ GREG, /* general register */ G0REG, /* general register r1-r31 or 0 */ FREG, /* float register */ VREG, /* vector register */ SGREG, /* segment register */ SPREG, /* special register (or 10 bit number, 5 bit halves reversed) */ BCND, /* branch condition opcode */ CRF, /* condition register field */ CRFONLY, /* condition register field only no expression allowed */ sh, /* 6 bit number (0 - 63) (sh field, split and reversed) */ mb, /* 6 bit number (0 - 63) (mb field, mb5 || mb0:4 reversed) */ NUM, /* number */ SNUM, /* signed number */ NUM0, /* number (where 1<