Не работает логическое ИЛИ с ассемблерной вставкой

Условие: даны 2 математические операции. Нужно записать их в ассемблерную вставку и использовать логическое ИЛИ.

  1. a-b+c*d/e
  2. a/b+c-d*e Код сделал, но он работает он как И. Что не так?
using namespace std;
int main()
{
    setlocale(0, "Russian");
    int a, b, c, d, e, y;
    cout << "Введите a,b,c,d,e" << endl;
    cin >> a >> b >> c >> d >> e;
    _asm {
        mov eax, a
        mov ebx, b
        cmp ebx, eax
        jg m1
        jmp m3

        m3 : mov eax, d //2 код a/b+c-d*e
        imul e
        mov ebx, eax
        mov eax, a
        idiv b
        add eax, c
        sub eax, ebx
        mov y, eax
        jmp m25

        m2 : mov eax, c // 1 код a-b+c*d/e
        imul d
        idiv e
        mov ebx, eax
        mov eax, a
        sub eax, b
        add eax, ebx
        mov y, eax
        jmp m25

        m1 : mov ecx, c
        mov edx, d
        cmp ecx, edx
        jle m2

        m25 : mov y, eax
    }
    cout << "Result =" << y << endl;
    system("pause");
    return 0;
}

Ответы (0 шт):