x86_64程序集分段尝试添加值时出错

时间:2017-03-24 20:44:31

标签: assembly segmentation-fault

我在使用addq指令后立即收到分段错误错误;在我实现指令之前,代码很好。

.data
insn_count:
    .long 0
str:
    .string "test"

bubble_sort:
.LFB2:
 addq $3,insn_count
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -24(%rbp)
movl %esi, -28(%rbp)
movl $0, -4(%rbp)
jmp .L2

这是我的代码的示例部分。我似乎无法确定问题所在;有人可以帮忙吗?我也尝试使用.long指令定义insn_count但我仍然得到相同的错误。

1 个答案:

答案 0 :(得分:0)

我不熟悉这种汇编语法,但似乎“addq $ 3,insn_count”试图将insn_count的地址加3而不是它的值。因此,您可能会出现分段错误。