分段故障简单的nasm程序

时间:2018-02-14 11:07:39

标签: assembly nasm

我刚刚开始学习linux 64bit程序集,并试图真正理解lea和mov之间的差异。 但是在创建测试文件时,我遇到了一个分段错误,我只是不明白为什么。问题出现在示例代码中的# file_object = storage.open(file[0].file.path, mode='rb') file_object = storage.open(file[0].file.name, mode='rb') 。但当我用mov r10,[rax]更改mov r10,[rax]的位置时,我会在执行lea时遇到错误。

我的节目:

lea r11,[rax]

1 个答案:

答案 0 :(得分:2)

您对内存位置16(0x10)的期望是什么?

您的代码是

mov rax,16
mov r10,[rax]

表示您尝试将内存地址RAX中的64位值加载到R10。地址16通常不会映射到您的程序空间。