Previous: MSP430-Regs, Up: MSP430 Syntax

##### 8.22.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`'