Previous: , Up: MSP430 Syntax   [Contents][Index]


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


Previous: , Up: MSP430 Syntax   [Contents][Index]