【问题标题】:Manipulating the Control register操作控制寄存器
【发布时间】:2014-10-04 21:49:32
【问题描述】:

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

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

【问题讨论】:

  • 这段代码你有什么不明白的地方?这很简单。
  • 我不太清楚这个问题。答案是:ctl0 中的值是 r6 和 0x0006 的和?
  • 你认为这是仪式吗?
  • 你告诉我们 - 你有控制器的用户手册。
  • 我真的不确定答案,我有用户手册但真的找不到答案

标签: c assembly nios


【解决方案1】:

等效的 C 伪代码是:

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

也就是说,

ctl0 = ctl0 & 0x0006;

【讨论】:

  • 谁能告诉我如何撤消这个操作?如何获取ctlo的原始值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
相关资源
最近更新 更多