its not the coding that is better or worse, it just takes better advantage of new machines.

i have forgotten much, but not because i actually KNEW much, more because i tend to forget a lot. i still give it a try.

the basic difference between the different bit rates is the size of the machine code chunks the processor can operate at a given cycle. 64 bits is double the size as 32 bits, there you go. using the "same" instructions, more data can be moved, and more instructions can be run by the processor in the same time.

32 bits are 4 bytes of data, commonly referred to as a word. a 64 bit machine can / (could) process double the amount of data at any cycle, if the assembly code fits the machine. for example, a s390 move command takes 6 bytes or one and a half word. so on a 32bit machine it will take 2 cycles to execute, on a 64bit machine its only one cycle.

i heard users of itanium machines complain that 32 bit software runs slower on the new machines, than on old ones. i guess the reason is the software has to be assembled for and designed specifically for a 64bit machine. assembly is fast but there are thousands of possibilities to screw this advantage

to see with precision which specific instructions are (dis)advantageous for processors, take a look at a good instruction reference, as in assembly like nowhere else you can see a lot from the machine code a instruction generates.