as.info: VAX-branch

Go forward to VAX-operands
Go backward to VAX-opcodes
Go up to Vax-Dependent
Go to the top op as

VAX Branch Improvement

   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.
`jbsb'
     `Jsb' is already an instruction mnemonic, so we chose `jbsb'.
    (byte displacement)
          `bsbb ...'
    (word displacement)
          `bsbw ...'
    (long displacement)
          `jsb ...'
`jbr'
`jr'
     Unconditional branch.
    (byte displacement)
          `brb ...'
    (word displacement)
          `brw ...'
    (long displacement)
          `jmp ...'
`jCOND'
     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.
    (byte displacement)
          `bCOND ...'
    (word displacement)
          `bNOTCOND foo ; brw ... ; foo:'
    (long displacement)
          `bNOTCOND foo ; jmp ... ; foo:'
`jacbX'
     X may be one of `b d f g h l w'.
    (word displacement)
          `OPCODE ...'
    (long displacement)
               OPCODE ..., foo ;
               brb bar ;
               foo: jmp ... ;
               bar:
`jaobYYY'
     YYY may be one of `lss leq'.
`jsobZZZ'
     ZZZ may be one of `geq gtr'.
    (byte displacement)
          `OPCODE ...'
    (word displacement)
               OPCODE ..., foo ;
               brb bar ;
               foo: brw DESTINATION ;
               bar:
    (long displacement)
               OPCODE ..., foo ;
               brb bar ;
               foo: jmp DESTINATION ;
               bar:
`aobleq'
`aoblss'
`sobgeq'
`sobgtr'
    (byte displacement)
          `OPCODE ...'
    (word displacement)
               OPCODE ..., foo ;
               brb bar ;
               foo: brw DESTINATION ;
               bar:
    (long displacement)
               OPCODE ..., foo ;
               brb bar ;
               foo: jmp DESTINATION ;
               bar: