标签: assembly
我正在尝试启动自己开发的内核。我已成功将处理器转换为长模式,但QEMU会在以下指令中报告三重故障:
movq %rax, ___stack_chk_guard(%rip)
为什么movq导致三重错误? (请发布任何和所有理论。如果不适用或我需要更多信息,我会回复评论。)
movq
答案 0 :(得分:0)
我可以想到以下几种可能性:
地址未正确对齐(movq可能需要64位对齐,这取决于您的处理器设置)
地址无法访问,但我想您知道数据存在(特别是因为您正在使用%rip)