繁体   English   中英

将所有寄存器 risc-V 存储在特定时间的内存中

[英]store all registers risc-V in memory of a specific time

我在一个项目中,我需要能够读取给定时刻的所有 (x0-x31) RISC-V 寄存器。 例如,我需要在循环后立即读取所有寄存器。 我尝试使用 C 代码中的asm()函数,但我不知道该怎么做。 我不知道语法。

像这样的东西可以工作:

struct regs
{
    int x0, x1, x2, x3;
};
struct regs foo() {
  struct regs r;
  __asm__(
      "sw x0,  0+%0\n\t" 
      "sw x1,  4+%0\n\t" 
      "sw x2,  8+%0\n\t" 
      "sw x3, 12+%0\n\t" 
  : "=o" (r));
  return r;
}

适当地扩展到所有寄存器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM