> What happens when version 2 of the hardware appears, and moves the bit to a different register?
You adapt your code for that platform. I don't know why developers today have such a love affair with unnecessary abstraction. Abstract when you need to; never before.
The same thing when a new OS release break some API call.
No, but it's not as solid as it sounds. What happens when version 2 of the hardware appears, and moves the bit to a different register?