as: XStormy16 Opcodes

1 
1 9.54.3 XStormy16 Pseudo-Opcodes
1 -------------------------------
1 
1 'as' implements all the standard XStormy16 opcodes.
1 
1    'as' also implements the following pseudo ops:
1 
1 '@lo()'
1      Computes the lower 16 bits of the given expression and stores it
1      into the immediate operand field of the given instruction.  For
1      example:
1 
1      'add r6, @lo(here - there)'
1 
1      computes the difference between the address of labels 'here' and
1      'there', takes the lower 16 bits of this difference and adds it to
1      register 6.
1 
1 '@hi()'
1      Computes the higher 16 bits of the given expression and stores it
1      into the immediate operand field of the given instruction.  For
1      example:
1 
1      'addc r7, @hi(here - there)'
1 
1      computes the difference between the address of labels 'here' and
1      'there', takes the upper 16 bits of this difference, shifts it down
1      16 bits and then adds it, along with the carry bit, to the value in
1      register 7.
1