@ZIK1

Как выполнить сложение, умножение и вывести на экран сравнение получившихся чисел?

Доброго времени суток, знатоки ассемблера
Впервые столкнулся с этим ЯП, и скорее всего первый и последний раз, поэтому полностью углубляться в его изучение не вижу смысла

Выполнить нужно в visual studio 2017

Нужен простенький код

// int main()
{
	int a;
	int b;
	int x, y, z;
	x = 1;
	y = 2;
	z = 3;


То есть даны числа x,y,z
Далее нужно выполнить действия:
a=x+y*z
b=(x+y)*(x+z)

После выполнения действий сравнить числа a и b и вывести на экран результат сравнения

Всё, до момента вывода на экран, нужно писать на ассемблере
Результат сравнения тоже поместить на ассемблере в какую-то новую переменную, а дальше уже с помощью с++ вывести на экран эту переменную

Заранее благодарю за помощь
  • Вопрос задан
  • 799 просмотров
Решения вопроса 1
JaxxDexx
@JaxxDexx
int main()
{
	int a;
	int b;
	int x = 1;
	int y = 2;
	int z = 3;
	__asm {
		mov eax, y
		mul z
		add eax, x
		mov a, eax
		
		mov eax, y
		mov ebx, z
		add eax, x
		add ebx, x
		mul ebx
		mov b, eax

		mov eax, a
		mov ebx, b
		cmp eax, ebx
		je equal
		jb more
		jmp less
	};
	equal:
	printf("a = b");
	return 0;

	less:
	printf("a > b");
	return 0;

	more:
	printf("a < b");
	return 0;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы