Fix disassembler.

Ops were processed in the wrong order, and the 'b' op needed to not be
processed at all for special instructions (opcode=0).  Also, only the
'a' op gets short immediates -1..0x1e.