[英]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.