You meant to say 64 bit programs only run on 64 bit CPU with a 64 bit operating system.
That'll teach me to be a wise guy! And to read my posts more carefully before clicking "Post".
A 32 bit program will run in:
a 32 bit operating system (which will run on a 32 or a 64 bit processor)
a 64 bit operating system (which will only run on a 64 bit processor)
A 64 bit program will only run in:
a 64 bit operating system (which will only run on a 64 bit processor)
I think I've got that right?