Предмет: Информатика,
автор: gevork1234
Написать на C++
задания с ассемблерным вставками.
1.Даны целые числа k, l. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.(Операции с целыми числами)
2.Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.(ветвления(числа считать целыми))
Ответы
Автор ответа:
0
Писал прямо тут, могут быть ошибки, а также я давно не программировал на С++
1)
#include <iostream>
using namespace std;
int main()
{
int k, l;
cin >> k;
cin >> l;
if (k != l) {
if (k > l) {l = k;}
if (l > k) {k = l;}
}
if (k == l) {
k = 0;
l = 0;
}
cout << k << l << endl;
}
1)
#include <iostream>
using namespace std;
int main()
{
int k, l;
cin >> k;
cin >> l;
if (k != l) {
if (k > l) {l = k;}
if (l > k) {k = l;}
}
if (k == l) {
k = 0;
l = 0;
}
cout << k << l << endl;
}
Автор ответа:
0
Читайте внимательней задание. Я попросил написать с ассамблерными вставками. Т.е. вот так #include <iostream>
int main()
{
setlocale(LC_ALL, "Russian");
int k, l;
std::cout << "Введите k и l через пробел: ";
std::cin >> k >> l;
_asm
{
mov eax, k ; eax = k
mov ebx, l ; ebx = l
cmp eax, ebx ; сравниваем eax и ebx
JG M1 ; если eax > ebx, то переход на метку М1
JL M2 ; если eax < ebx, то переход на метку М2
; если числа равны
mov k, 0
mov l, 0
JMP END; переход на метку END
int main()
{
setlocale(LC_ALL, "Russian");
int k, l;
std::cout << "Введите k и l через пробел: ";
std::cin >> k >> l;
_asm
{
mov eax, k ; eax = k
mov ebx, l ; ebx = l
cmp eax, ebx ; сравниваем eax и ebx
JG M1 ; если eax > ebx, то переход на метку М1
JL M2 ; если eax < ebx, то переход на метку М2
; если числа равны
mov k, 0
mov l, 0
JMP END; переход на метку END
Автор ответа:
0
но все равно спасибо.
Похожие вопросы
Предмет: Химия,
автор: bikikop02
Предмет: Алгебра,
автор: suhorebrovamaria3
Предмет: Геометрия,
автор: watersVnV
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: Fakror1988