0
的MSR寄存器使用OVPSim我希望在(模擬)的內容偷看MSR註冊如想看看是在Microblaze的
register int x asm("r19");
asm("mfs r19, msr");
printf("R19 contains %i\n", x);
這給了錯誤:
Compiling application.c
/tmp/ccbSgUEu.s: Assembler messages:
/tmp/ccbSgUEu.s:59: Error: register expected, but saw 'msr'
/tmp/ccbSgUEu.s:59: Fatal error: invalid value for special purpose register
make: *** [application.o] Error 1
雖然使用此代碼:
register int x asm("r19");
asm("mfs r19, 1 ");
printf("R19 contains %i\n", x);
給我:
/tmp/ccWZKjxi.s: Assembler messages:
/tmp/ccWZKjxi.s:59: Error: register expected, but saw '1'
/tmp/ccWZKjxi.s:59: Fatal error: invalid value for special purpose register
make: *** [application.o] Error 1
和Xilinx文檔中實際給出的例子(閱讀PC)的:
mfs r2 0
也沒有 - 那麼什麼是應該做的正確方法?
注:我使用的是CROSS工具,例如 讓-C的HelloWorld/CROSS = MicroBlaze的