Code:
Name Type Range Versions
cn Constant register -1 to +1 All versions
rn Temporary register -MaxPixelShaderValue to +MaxPixelShaderValue All versions
tn Texture register -MaxPixelShaderValue to +MaxPixelShaderValue 1_1 to 1_3
tn Texture register -MaxTextureRepeat to +MaxTextureRepeat 1_4
vn Color register 1_4
For pixel shader version 1_1 to 1_3, MaxTextureRepeat must be a minimum of one. For 1_4, MaxTextureRepeat must be a minimum of eight.
That means texture registers need to be [-8, +8], so FP16 is needed for that, while temporary registers can be [-2, +2] (FX12).