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