There are 34 different versions of the MOV mnemonic. All of them use different kinds and sizes of operands. There are 8 general purpose registers. The MOV mnemonic takes two operands, so there are about 8*34*2 = 544 combinations. You might think I'm forgetting the immediate values: that will decrease the amount of possibilities. Yes, but I'm not mentioning the abilities to do [eax], [eax+2] and [4*eax+ebx] either. Anyway, I've seen people trying to convert assembly to machine code before