Need to be clearer. I cannot interfere with the customers' routines. Therefore, I can't 'break' in and print out register contents. So how do I say, "OK, Printf: print out what's at this address. " I tried passing R1 to PrintF. Unless I call is an unsigned integer, it doesn't help. And then it thinks it's a VARIABLE named R1, not the specific register. I tried @R1. Nothing there either. Is there a special symbol that says, "Look, this is an internal register. I want you to print the contents of it: e.g., #R1, *R1, %R1. Thanks, I need specifics.
None of the users who have been "ganging-up" on you are Keil employees. Just wanted to point that out, since I wouldn't want to malign their reputation in this whole discourse. Also, while I appreciate that you've been "throwing code" for quite some time, it's clear that said code thrown was not written in C. People need to ask legitimate questions about what you're doing when you talk about using printf() without yet telling us whether something's connected to a serial port and if so, what. Otherwise, printf might not do anything at all, even if my pointer example was the code you were looking for.