That's why they invented HLSL shaders ^^
Well I can only ask what your mul instruction is supposed to do because what I can recall from the average asm register is that mul is defined like this:
Code:
 
mul r0,r0,r1



But that offcourse depends from which you use as a parameter. Is the first parameter a row or a column vector and visa versa with the second one. But it also seems you use an older syntax of assembly shader then I'm used too so maybe you could ask it or wait untill some user how are really familiar with this give their vision

Cheers

Frazzle


Antec® Case
Intel® X58 Chipset
Intel® i7 975 Quad Core
8 GB RAM DDR3
SSD OCZ®-VERTEX2 3.5 x4 ; HD 600 GB
NVIDIA® GeForce GTX 295 Memory 1795GB