| 24 | <h2>Relocations</h2> |
| 25 | <p>A CLRX assembler handles relocations to scratch symbol (<code>.scratchsym</code> pseudo-op). |
| 26 | These relocations can be applied to places that accepts |
| 27 | 32-bit literal immediates. Only two types of relocations is allowed:</p> |
| 28 | <ul> |
| 29 | <li><code>place</code>, <code>place&0xffffffff</code>, <code>place%0x10000000</code>, <code>place%%0x10000000</code> - |
| 30 | low 32 bits of value</li> |
| 31 | <li><code>place>>32</code>, <code>place/0x100000000</code>, <code>place//0x100000000</code> - high 32 bits of value</li> |
| 32 | </ul> |
| 33 | <p>The <code>place</code> indicates an expression with scratch symbol. Additional offsets |
| 34 | are not accepted (only same scratch symbol).</p> |
| 35 | <p>Examples:</p> |
| 36 | <p><code>s_mov_b32 s13, scratchsym>>32 |
| 37 | s_mov_b32 s12, scratchsym&0xffffffff</code></p> |