A friend and I were talking about embedded processors and the like last night and we got on the topic of ASM and specific instruction sets - although I assume this question can be applied to x86 processors as well.
While learning about the registers in ASM, it was made apparent that all registers had a 100% unique and specific use (at least in the x86 architecture). However, when discussing some of his processors he informed me some of the chips he was using had several general purpose registers that could be used for anything and very few, if any, registers that were used by instructions specifically.
When it boils down to it, can't any register technically be used to carry out instructions? They're all the same size, what difference would it make (Stack pointer, etc. aside)?