-1

我正在尝试做我正在制作循环的任务,现在我正坚持为进位标志计数器纠正循环。这是要求:

“将值 1 放入寄存器 eax 并左移直到设置进位标志,保持一个计数器记录移位完成的次数。”

所以我不明白这是怎么做到的。到目前为止,我所做的一切都以负数结束。关于我做错了什么的任何提示?

        mov     eax, 1
 Loop3:
        shl     eax, 1
        cmp     eax, 0
        jnz     Loop3
        mov     eax, counter
4

1 回答 1

2

你应该做的是以下事情:

    mov eax, 1
    mov ecx, 0
Loop3:
    inc ecx
    shl eax, 1
    jnc Loop3
    mov counter, ecx
于 2013-10-01T05:35:26.840 回答