【发布时间】:2011-12-01 17:54:50
【问题描述】:
我会在每次迭代中递减 RAX。如果 RAX 为零,程序应该改变流程。
# AT&T syntax
start_calc_factorial:
decq %rax
cmpq $0, %rax
je quit_calc_factorial
mulq %rcx
jmp start_calc_factorial
但是,程序永远不会终止。调试器告诉我RAX 的值为0xa0257c7238581842(它可能下溢,但不应该因为je 指令)。 RAX的初始值为7。
可能是什么问题?
【问题讨论】:
标签: assembly x86-64 decrement cmp