I tried below code, but failed to read the correct value from r11 following below reference of http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472f/Cihfhjhg.html
volatile int top_fp;
__asm
{
mov top_fp, r11
}
r11's value is 0x20009DCC top_fp's value is 0x00000004
[update] Solution, we have to use embedded assembler:
__asm int getRegisterR11()
{
mov r0,r11
BX LR //return, must not omitted!!!
}