Most assembly programs make use of the 4 general purpose registers eax ebx ecx edx but I find that quite often I need to use more than 4 registers to accomplish my task easily without having to push and pop from the stack to much. Since my program has no intentions of using the FPU or MMX registers for floating point calculations or their "intended use", is it considered acceptable to use these extra registers in your program?
Eg. using xmm0 for a loop increment counter freeing up the ecx register to do other things.