Previous: MSP430-Regs, Up: MSP430 Syntax

##### 9.25.2.4 Assembler Extensions

`@rN`
  As destination operand being treated as 0(rn)
`0(rN)`
  As source operand being treated as @rn
`jCOND +N`
  Skips next N bytes followed by jump instruction and equivalent to jCOND $+N+2

Also, there are some instructions, which cannot be found in other assemblers. These are branch instructions, which has different opcodes upon jump distance. They all got PC relative addressing mode.

`beq label`
  A polymorph instruction which is jeq label in case if jump distance within allowed range for cpu's jump instruction. If not, this unrolls into a sequence of

                  jne $+6
                  br  label

`bne label`
  A polymorph instruction which is jne label or jeq +4; br label
`blt label`
  A polymorph instruction which is jl label or jge +4; br label
`bltn label`
  A polymorph instruction which is jn label or jn +2; jmp +4; br label
`bltu label`
  A polymorph instruction which is jlo label or jhs +2; br label
`bge label`
  A polymorph instruction which is jge label or jl +4; br label
`bgeu label`
  A polymorph instruction which is jhs label or jlo +4; br label
`bgt label`
  A polymorph instruction which is jeq +2; jge label or jeq +6; jl +4; br label
`bgtu label`
  A polymorph instruction which is jeq +2; jhs label or jeq +6; jlo +4; br label
`bleu label`
  A polymorph instruction which is jeq label; jlo label or jeq +2; jhs +4; br label
`ble label`
  A polymorph instruction which is jeq label; jl label or jeq +2; jge +4; br label
`jump label`
  A polymorph instruction which is jmp label or br label