组装je不工作/劣质1退出

时间:2016-06-20 17:08:07

标签: assembly 64-bit flags

我正在使用汇编进行任务,我在代码中遇到了一个问题。

    .data
s:    string"-2"
      .text
      .global main

main: mov $s, %rax
      mov 0(%rax), %rbx

      cmp %0x2d, %bl
      je neg
      mov $1, %rcx
      ret

neg: mov 1(%rax), %rcx
     ret

当我到达'je neg'时,我得到消息:Inferior 1(进程4302)退出代码055.我很确定我的cmp工作正常,因为当我将je改为jne时它继续到下一个线。有谁知道我的错误是什么以及如何解决它?我只想检测减号然后通过将其他所有内容移到另一个寄存器来“删除”它。

谢谢!

0 个答案:

没有答案