gpt4 book ai didi

c - 在 PowerPc 上解码这个程序集内联代码片段

转载 作者:太空狗 更新时间:2023-10-29 16:06:53 26 4
gpt4 key购买 nike

我有以下来自 PowerPc 内核源代码的代码片段

#define SPRN_IVOR32     0x210   /* Interrupt Vector Offset Register 32 */

unsigned long ivor[3];
ivor[0] = mfspr(SPRN_IVOR32);

#define __stringify_1(x) #x
#define __stringify(x) __stringify_1(x)

#define mfspr(rn) ({unsigned long rval; \
asm volatile("mfspr %0," __stringify(rn) \
: "=r" (rval)); rval; })

此外,上面的练习是关于在 PowerPc 中模拟 MSR 寄存器的位吗?

谁能帮我弄清楚我们到底在做什么?

最佳答案

mfspr 宏生成一个 asm 指令 mfspr 将给定的专用寄存器读入编译器选择的寄存器,然后分配给 rval 因此成为表达式的返回值。

正如评论所说,SPRN_IVOR32中断 vector 偏移寄存器 32,因此其内容被提取到 ivor[0]

关于c - 在 PowerPc 上解码这个程序集内联代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25606196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com