Я, вроде как стал понимать, что если я присвою значение al, потом присвою значение cl
напишу mul cl, то я смогу присвоить ax перемножение al и cl (ax=al*cl)
Но почему-то мне пишет ошибки: operand size conflict, illegal number of operands когда я присваиваю al число, введенное с клавиатуры, а потом его умножаю на 5
Нужно решить уравнение, с помощью ассемблера: Х= 5А + 2В*C – B / 4 + 131
Вот мой код:
#include <iostream>
using namespace std;
int main()
{
short a, b, c, x;
cout << "a = "; cin >> a;
cout << "b = "; cin >> b;
cout << "c = "; cin >> c;
_asm {
mov al,a
mul al,5
mov bx,ax
mov cl,b
shl cl,1
mov al,c
mul cl
mov cx,b
idiv cx,4
add bx,ax
sub bx,cx
add bx,131
mov x,bx
}
cout <<"x="<< x<<endl;
}
И я не знаю, почему не получается, что я делаю не так?