3

ループを適切に機能させようとして、ちょっとした問題にぶつかっています。これが私がする必要があることです

i1 に 3 を加算し、結果を i1 に格納 i2 に 3 を乗算し、結果を i2 に格納

i1 が 100 を超えた場合、またはループの反復が 15 回を超え、i2 が少なくとも 999999 の値に達した場合に、ループを終了します。

まだ完成していませんが、ループで2つのCMPを使用することは可能ですか? これが私がこれまでに持っているものです:

        {
unsigned long i1;
unsigned long i2;
unsigned long i3;
unsigned long i4;
_asm
    {
    mov     i1, 1
    mov     i2, 1
    mov     eax, i1
    mov     ebx, i2
    mov     ecx, 3
Start:
    add     eax, ecx
    cmp     eax, 100
    jnz     Start
    jge     Done


Start2:
    imult   ebx, ecx
    cmp     ebx, 999999



Done:
    mov     i1, eax
    }
    cout << "results are "  << (unsigned long) i1 << ", "
                            << (unsigned long) i2 << ", "
                            << (unsigned long) i3 << ", "
                            << (unsigned long) i4 << endl;

}
4

1 に答える 1