操纵控制寄存器

时间:2014-10-04 21:49:32

标签: c assembly nios

任何人都可以帮助我解释这段代码如何影响寄存器ctl0中的值(忽略保留位)。这是代码

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

1 个答案:

答案 0 :(得分:0)

等效C伪代码将是:

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

所以,换句话说,

ctl0 = ctl0 & 0x0006;