#### 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`’