If you're going down into registers, you're obviously debugging the wrong way.
You don't need printf's if you write directly to your screen which is easy to do.
I don't know what you mean by this. If you don't have f.ex. printf available you have to come up with something else.
>You don't need printf's if you write directly to your screen which is easy to do.
What if the hardware you're debugging doesn't have a screen?