// X^2+5*X*Y+10
int main()
{
setlocale(0, "rus");
int x, y, rez;
cout << "Введите X: "; cin >> x;
cout << "Введите Y: "; cin >> y;
_asm
{
mov eax, x;
mov ecx, y
imul ecx, eax
imul ecx, 5
mov eax, x;
imul eax, eax
add eax, ecx
add eax, 10
mov rez, eax
}
cout << "X^2+5*X*Y+10 = " << rez << endl;
system("pause");
return false;
}
2. Написать на Ассемблере программу вычисления выражения
A=X3+5*X2*Y+10*X*Y2+Y3.
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <locale.h>
using namespace std;
int main()
{
setlocale(0, "rus");
int x, y, rez=0;
cout << "Введите X: "; cin >> x;
cout << "Введите Y: "; cin >> y;
_asm
{
mov ecx, rez; // обнуляем
mov eax, x;
imul eax, eax;
mov ebx, x;
imul eax, ebx;
add ecx, eax; // x^3
mov eax, x;
imul eax, eax;
imul eax, 5;
mov ebx, y;
imul eax, ebx;
add ecx, eax; // x^3 + y*5*x^2
mov eax, x;
mov ebx, y;
imul ebx, ebx;
imul eax, ebx;
imul eax, 10;
add ecx, eax; // x^3 + y*5*x^2 + 10*x*y^2
mov eax, y;
imul eax, eax;
mov ebx, y;
imul eax, ebx;
add ecx, eax; // x^3 + y*5*x^2 + 10*x*y^2 + y^3
int main()
{
setlocale(0, "rus");
int x, y,z;
cout << "Введите X: "; cin >> x;
cout << "Введите Y: "; cin >> y;
cout << "Введите Z: "; cin >> z;
_asm
{
mov eax, x;
imul eax, eax;
mov ebx, x;
imul eax, ebx;
mov x, eax; // x^3
mov eax, y;
imul eax, eax;
mov ebx, y;
imul eax, ebx;
mov y, eax; // y^3
mov eax, z;
imul eax, eax;
mov ebx, z;
imul eax, ebx;
mov z, eax; // y^3
cout << x << "\t" << y << "\t" << z << endl;
system("pause");
return false;
}
Вывод: Мы научились писать простейшие программы на ассемблере.