You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

x86-64架构下NASM分页开关代码触发系统重置的原因排查

x86-64架构下修改CR0寄存器控制分页触发系统重置的问题

我正在基于x86-64架构开发操作系统,尝试通过修改CR0寄存器的第31位来禁用和启用分页,但代码触发了系统重置(可能是三重故障)。

相关代码如下:

; Disable paging
mov rax, cr0
and rax, ~0x80000000
mov cr0, rax

; Enable paging
mov rax, cr0
or rax, 0x80000000
mov cr0, rax

NASM编译时给出以下警告:

warning: signed dword immediate exceeds bounds [-w+number-overflow]
warning: dword data exceeds bounds [-w+number-overflow]

看起来NASM将64位立即数当作32位处理,我不确定x86-64中and r64, imm64是否为有效指令。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:24:52