Найти сумму положительных элементов массива A = {a [i]}, что удовлетворяют условию: b <= a [i] <= d. Написал код но не могу понять почему оно не работает :
#include "pch.h"
#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
SetConsoleOutputCP(1251);
const int N = 10;
float a[N], s = 0, b = 4, c = 15;
cout << "Введіть елементи масива: " << endl;
for (int i = 0; i < N; i++)
cin >> a[i];
_asm {
mov ecx, N; внесення кылькості ітерацій цикла
lea ebx, a; внесення в ebx адреса масива а
m1 : ; мітка циклу
finit; очищення регістрів співпроцесора
fld dword ptr[ebx]; внесення вибраного елемента масива в st(0)
fcom b;
jl m2;
fcom c;
jg m2;
ftst; порівняння даного елемента з 0
fstsw AX; збереження значень регістра SR в ax
sahf; завантаження флагів SF, ZF, AF, PF, CF
JPE m2; перехід по мітці якщо число вище або дорівнює 0
fld s; st(1) = s
fld dword ptr[ebx]; внесення вибраного елемента масива в st(0)
fadd st(0), st(1);
fst s; s = st(0)
m2:; мітка переходу
add ebx, 4; перехід до наступного елемента масива
loop m1; цикл
}
float S = 0;
for (int i = 0; i < N; i++) {
if (a[i] > 0) { S = S + a[i]; }
}
cout << "Добуток усіх додатних елементів масиву, обрахована за допомогою FPU: " << s << endl;
cout << "Добуток усіх додатних елементів масиву, обрахована за допомогою C++: " << S << endl;
system("pause");
}
Подскажите пожалуйста как сделать чтобы оно работало .
__asm {
lea ebx, a - 4
mov ecx, N
fldz
fld b
fld c
L1: fld dword ptr[4 * ecx + ebx]
fcomi st(0), st(2)
jb L2
fcomi st(0), st(1)
ja L2
fadd st(3), st(0)
L2: fstp st(0)
loop L1
fstp st(0)
fstp st(0)
fstp s
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как сделать запуск программы из CLion в стандартную консоль OS, а не в встроенную в CLion?
Нужно сделать общим для нескольких процессов массив структурРешил сделать так: один из процессов выделяет общий блок памяти с помощью shmget,...
Видел множество вариантов: инстанциация, инстанцирование, инстанцианирование и тп
Хочу запустить свой сервис, написанный на спринге, в докер-контейнереСервис работает с RethinkDB, который уже запущен в контейнере