2014-10-04 118 views
0

任何人都可以幫助我瞭解此代碼如何影響寄存器ctl0中的值(不考慮保留位)。這裏是代碼操作控制寄存器

rdctl r6,ctl0 
andi r6, r6, 0x0006 
wrctl ctl0, r6 
+2

什麼你難道不明白這個代碼?這非常簡單。 – duskwuff 2014-10-04 21:50:45

+0

我不明白這個問題。答案是:ctl0中的值是r6和0x0006的值? – CLearner 2014-10-04 21:58:02

+0

你認爲這是禮儀嗎? – CLearner 2014-10-04 22:40:44

回答

0

等效的C僞代碼將是:

r6 = ctl0;   // rdctl r6, ctl0 
r6 = r6 & 0x0006; // andi r6, r6, 0x0006 
ctl0 = r6;   // wrctl ctl0, r6 

所以,換句話說,

ctl0 = ctl0 & 0x0006; 
+0

任何人都可以告訴我如何撤銷此操作?如何獲得ctlo的原始價值? – CLearner 2014-10-06 00:22:56