Certain pseudo opcodes are permitted. They are for branch instructions. They expand to the shortest branch instruction that reaches the target. Generally these mnemonics are made by substituting j for b at the start of a DEC mnemonic. This feature is included both for compatibility and to help compilers. If you do not need this feature, avoid these opcodes. Here are the mnemonics, and the code they can expand into.
Jsb is already an instruction mnemonic, so we chose jbsb.
bsbb …
bsbw …
jsb …
Unconditional branch.
brb …
brw …
jmp …
COND may be any one of the conditional branches neq, nequ, eql, eqlu, gtr, geq, lss, gtru, lequ, vc, vs, gequ, cc, lssu, cs. COND may also be one of the bit tests bs, bc, bss, bcs, bsc, bcc, bssi, bcci, lbs, lbc. NOTCOND is the opposite condition to COND.
bCOND …
bNOTCOND foo ; brw … ; foo:
bNOTCOND foo ; jmp … ; foo:
X may be one of b d f g h l w.
OPCODE …
OPCODE …, foo ; brb bar ; foo: jmp … ; bar: |
YYY may be one of lss leq.
ZZZ may be one of geq gtr.
OPCODE …
OPCODE …, foo ; brb bar ; foo: brw destination ; bar: |
OPCODE …, foo ; brb bar ; foo: jmp destination ; bar: |
OPCODE …
OPCODE …, foo ; brb bar ; foo: brw destination ; bar: |
OPCODE …, foo ; brb bar ; foo: jmp destination ; bar: |