这是我用来循环的nasm代码,标签是上面几行,但是在运行时我得到一个无限循环。用实际数字替换[n]可以正常工作。
;read [n] above and set [i] to zero
for:
mov rax, 0
;i++
mov rcx, [i]
add rcx, 1
mov [i], rcx
mov rdi, outformat
mov rsi, [i]
mov rdx, [n]
call printf
mov eax, [i]
cmp eax, [n]
jl for
ret
这段代码打印出只有[i]正在递增而n不会改变。示例输出为:
3分之2532
当我输入3作为[n]并让[i]在每次迭代中增加1。我如何解决这个问题也适用于[n]?