Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
MaksimXAI
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 29
1

Некорректно работает программа

14.05.2019, 20:53. Просмотров 134. Ответов 1
Метки нет (Все метки)

По заданию мне нужно найти сумму максимального и минимального элементов, но что-то не правильно работает, решите пожалуйста проблему!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    int N = 5;
    int res = 0;
    int a[] = { 2, 8, 46, 32, 1 };
    __asm 
    {
        mov     esi, a;
        mov     eax, esi; //Max
        mov     ebx, esi; //Min
        mov     ecx, N;
        dec     ecx
        add     esi, 4; //move to next array element
        mMain :
        cmp esi, eax
            jl      mSkMax
            mov     eax, esi;// Max
            mSkMax :
        cmp esi, ebx
            jg      mSkMin
            mov     ebx, esi; //Min
            mSkMin :
        add     esi, 4; //move to next array element
            loop    mMain
            add     eax, ebx; //Max + Mi
            mov res, eax;
    }
    cout << "Сумма наибольшего и наименьшего элементов:" << res;
    system("pause > null");
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2019, 20:53
Ответы с готовыми решениями:

Некорректно работает программа
Добрый вечер ! мне нужно найти произведение всех нечетных элементов массива , но почему то...

При нажатии кнопки мыши - на экране, в том месте установить символ "l"
Здравствуйте господа! У меня проблема с программой, очень нужна помощь . Программа должна...

Программа некорректно выводит увеличенное на ед первоначальное число и завершается
Пользователь вводит с клавиатуры начальное и конечное значения диапазона десятичных беззнаковых...

Некорректно работает программа
Сам код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes,...

Программа работает некорректно
Здравствуйте! Возникла проблема с программой, она работает не так как надо. Нужно из одного...

1
ФедосеевПавел
Модератор
5829 / 2856 / 1157
Регистрация: 01.02.2015
Сообщений: 9,253
Записей в блоге: 1
14.05.2019, 21:03 2
C++
12
13
14
15
16
17
18
19
20
21
22
23
24
lea esi, [a]
mov ecx, [N]
mov ebx, [esi]  //min
mov edx, ebx  //max
_for:
  lodsd
  cmp ebx, eax  //ebx=(ebx>eax? eax:ebx)
  cmovg ebx, eax
  cmp edx, eax  //edx=(edx<eax?eax:edx)
  cmovl edx, eax
loop _for
sub edx, ebx
mov [res], edx
Там ещё может понадобится в начале сохранить, а в конце восстановить все регистры кроме eax.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2019, 21:03

Некорректно работает программа
Написал программу, при работе проскакивает через три цикла for сразу на writeln. В чём может быть...

Программа работает некорректно
Помогите исправить ошибку. плиззз... Программа в гостевом каталоге не выдает ошибки.... Это как то...

Некорректно работает программа
Здравствуйте. Может, кто-то сможет помочь разобраться в чем ошибка вот в этой программе. Используя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.