movq导致三重故障

时间:2014-01-10 20:49:27

标签: assembly

我正在尝试启动自己开发的内核。我已成功将处理器转换为长模式,但QEMU会在以下指令中报告三重故障:

movq %rax, ___stack_chk_guard(%rip)

为什么movq导致三重错误? (请发布任何和所有理论。如果不适用或我需要更多信息,我会回复评论。)

1 个答案:

答案 0 :(得分:0)

我可以想到以下几种可能性:

  1. 地址未正确对齐(movq可能需要64位对齐,这取决于您的处理器设置)

  2. 地址无法访问,但我想您知道数据存在(特别是因为您正在使用%rip)