A programmable pixel shader is made up of a set of instructions that operate on pixel data. Registers transfer data in and out of the ALU. Additional control can be applied to modify the instruction, the results, or what data gets written out.
Shaders have restrictions for maximum instuction counts. Total Instruction slots: 96 (64 arithmetic and 32 texture).
The number of texture samplers available is 16.