Не работает логическое ИЛИ с ассемблерной вставкой
Условие: даны 2 математические операции. Нужно записать их в ассемблерную вставку и использовать логическое ИЛИ.
- a-b+c*d/e
- 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;
}