The purpose of an intermediary virtual machine target is that it abstracts away details like that. It's not that registers won't be used at some point, it is about encapsulation, working at the right level of abstraction, and separating it from underlying hardware concerns.