Previous: MSP430-Regs, Up: MSP430 Syntax



9.24.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