as: SH64-Addressing
1
1 9.43.2.3 Addressing Modes
1 .........................
1
1 SH64 operands consist of either a register or immediate value. The
1 immediate value can be a constant or label reference (or portion of a
1 label reference), as in this example:
1
1 movi 4,r2
1 pt function, tr4
1 movi (function >> 16) & 65535,r0
1 shori function & 65535, r0
1 ld.l r0,4,r0
1
1 Instruction label references can reference labels in either SHmedia
1 or SHcompact. To differentiate between the two, labels in SHmedia
1 sections will always have the least significant bit set (i.e. they will
1 be odd), which SHcompact labels will have the least significant bit
1 reset (i.e. they will be even). If you need to reference the actual
1 address of a label, you can use the 'datalabel' modifier, as in this
1 example:
1
1 .long function
1 .long datalabel function
1
1 In that example, the first longword may or may not have the least
1 significant bit set depending on whether the label is an SHmedia label
1 or an SHcompact label. The second longword will be the actual address
1 of the label, regardless of what type of label it is.
1