Сравнение чисел в сборке с тестом - PullRequest
0 голосов
/ 12 апреля 2020
#include <iostream>
using namespace std;
void main() {
int a, b, c, ok;
cin >> a >> b;
__asm {
    mov ebx, 0
    mov eax, a
    cdq
    mov ecx, b
    div ecx //a and b
    test edx, edx
    jnz result
    jmp is_rivno

    mov eax, a
    cdq
    mov ecx, c
    div ecx //a and c
    test edx, edx
    jnz result
    jmp is_rivno

is_rivno:
    mov ebx, 1
    jmp result
result :
    mov ok, ebx
}
if (ok > 0) { cout << "Yes" << endl; }
else { cout << "No" << endl; }
system("pause");
}

Я сравниваю a с b и c. Он работает с тестами 1 1 2 (вывод: да), 1 2 3 (вывод: нет), но не работает с тестом 1 2 1 (вывод: нет (?????????)). Почему? Как это исправить?

...