Microsoft DirectX 8.0 (C++)

rn

These are the temporary registers. The temporary registers are available for use in storing intermediate results. They are read-write and a maximum of two temporary registers can appear in any single shader instruction. Shader preprocessing in the debug runtime will fail IDirect3DDevice8::CreatePixelShader on any shader that attempts to read from a temporary register that has not been written to by a previous instruction.

Note that all pixel shaders must write r0 as the final result, so the simplest decal pixel shader consists of two instructions.

ps.1.0       // DirectX8 Version.
tex   t0
mov   r0, t0