小编Chr*_*ris的帖子

如何从程序中访问控制寄存器cr0,cr2,cr3?获得分段错误

我编写了一个程序,试图读取和写入控制寄存器.

程序编译很好,但是当即将执行内联汇编时,它会产生分段错误.

码:

void instructions(int val)
{
    int i;
    int value;
    for(i = 0; i < val; i++)
         __asm__("mov %cr0, %eax");
}
Run Code Online (Sandbox Code Playgroud)

我使用了GDB并逐步完成了每个装配线,并且mov %cr0,%eax正在发生分段故障.

谁知道什么是错的?

x86 inline-assembly cpu-registers

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

cpu-registers ×1

inline-assembly ×1

x86 ×1