Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LR_4

.txt
Скачиваний:
7
Добавлен:
01.11.2022
Размер:
5 Кб
Скачать
/ ConsoleApplication11.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//

#include "pch.h"
#include <iostream>

using namespace std;

int main()
{
setlocale(0, "");
short a, b, c, d;

std::cout << "Введите первое число (число а): ";
cin >> a;
std::cout << "Введите второе число (число b): ";
cin >> b;
std::cout << "Введите третье число (число c): ";
cin >> c;
std::cout << "Введите четвёртое число (число d): ";
cin >> d;

_asm {
mov ax, b
cmp ax, c
jl label1
add ax, c
jmp label2
label1:
sub ax, c
label2:
mov a, ax
}

cout << "1. a = " << a << endl;

_asm {
mov ax, b
cmp ax, c
jl label1
add ax, c
jmp label2
label1:

}

/*

//a+b
short sum = a + b;
std::cout << "Сумма чисел a и b (C++) = " << sum << endl;

short sumAsm;

__asm {
mov ax, a
add ax, b
mov sumAsm, ax
}
std::cout << "Сумма чисел a и b (Asm) = " << sumAsm << endl;


//a-b
short sub = a - b;
std::cout << "Разность чисел a и b (C++) = " << sub << endl;

short subAsm;

__asm {
mov ax, a
sub ax, b
mov subAsm, ax
}
std::cout << "Разность чисел a и b (Asm) = " << subAsm << endl;

//a+b-c
short sum1 = a + b;
short sub1 = sum1 - c;

short sum1Asm;
short sub1Asm;

__asm {
mov ax, a
add ax, b
mov sum1Asm, ax
sub ax, c
mov sub1Asm, ax;
}

std::cout << "Результат a+b-c (C++) = " << sub1 << endl;
std::cout << "Результат a+b-c (Asm) = " << sub1Asm << endl;

//(a+b)*(c+a)
short mul = (a + b)*(c + a);
short mulAsm;

__asm {
mov ax, a
mov bx, c
add ax, b
add bx, a
mul bx
mov mulAsm, ax;
}

std::cout << "Результат (a+b)*(c+a) (C++) = " << mul << std::endl;
std::cout << "Результат (a+b)*(c+a) (Asm) = " << mulAsm << std::endl;

//(a+b+c)*(c-a+b)
short mul1 = (a + b + c) * (c - a + b);
short mul1Asm;

__asm {
mov ax, a
add ax, b
add ax, c
mov bx, c
sub bx, a
add bx, b
mul bx
mov mul1Asm, ax;
}
std::cout << "Результат (a+b+c)*(c-a+b) (C++) = " << mul1 << std::endl;
std::cout << "Результат (a+b+c)*(c-a+b) (Asm) = " << mul1Asm << std::endl;

//(a+b)*c4
short mul2 = (a + b) * pow(c, 4);
short mul2Asm;

__asm {
mov ax, c
mov bx, ax
mul bx
mul bx
mul bx
mov cx, a
add cx, b
mul cx
mov mul2Asm, ax;
}
std::cout << "Результат (a+b)*c4 (C++) = " << mul2 << endl;
std::cout << "Результат (a+b)*c4 (Asm) = " << mul2Asm << endl;

//((a+b)*c-(d+c)*b)*a
short mul3 = ((a + b)*c - (d + c)*b)*a;
short mul3Asm;

__asm {
mov ax, a
add ax, b
mul c
mov bx, ax
mov ax, d
add ax, c
mul b
mov cx, ax
sub bx, cx
mov ax, bx
mul a
mov mul3Asm, ax;
}
std::cout << "Результат ((a+b)*c-(d+c)*b)*a (C++) = " << mul3 << std::endl;
std::cout << "Результат ((a+b)*c-(d+c)*b)*a (Asm) = " << mul3Asm << std::endl;

//(((a-c)*b+d)*a-c)*b

short mul4 = (((a - c)*b + d)*a - c)*b;
short mul4Asm;

__asm {
mov ax, a
sub ax, c
mul b
add ax, d
mul a
sub ax, c
mul b
mov mul4Asm, ax;
}
std::cout << "Результат (((a-c)*b+d)*a-c)*b (C++) = " << mul4 << std::endl;
std::cout << "Результат (((a-c)*b+d)*a-c)*b (Asm) = " << mul4Asm << std::endl;

//a and b
short OperAND = a & b;
std::cout << "Результат a and b (C++) = " << OperAND << endl;

short OperANDAsm;

__asm {
mov ax, a
mov bx, b
and ax, bx
mov OperANDAsm, ax
}
std::cout << "Результат a and b (Asm) = " << OperANDAsm << endl;


//a or b
short OperOR = a | b;
std::cout << "Результат a or b (C++) = " << OperOR << endl;

short OperORAsm;

__asm {
mov ax, a
mov bx, b
or ax, bx
mov OperORAsm, ax
}
std::cout << "Результат a or b (Asm) = " << OperORAsm << endl;

//a not b
short OperNOT = ~a;
std::cout << "Результат not a (C++) = " << OperNOT << endl;

short OperNOTAsm;

__asm {
mov ax, a
not ax
mov OperNOTAsm, ax
}
std::cout << "Результат not a (Asm) = " << OperNOTAsm << endl;

//a xor b
short OperXOR = a ^ b;
std::cout << "Результат a xor b (C++) = " << OperXOR << endl;

short OperXORAsm;

__asm {
mov ax, a
mov bx, b
xor ax, bx
mov OperXORAsm, ax
}
std::cout << "Результат a xor b (Asm) = " << OperXORAsm << endl;

*/


return 0;
}

Соседние файлы в предмете Аппаратные средства вычислительной техники