Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Как найти максимум
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

Guest



Новичок

Здраствуйте, не могли бы вы мне помочь. У меня есть текст процедуры, которая ищет минимум. Что в ней нужно переделать, чтобы искать максимум. Честное слово самому не разобраться. Пробовал менять команды JA, JNE но не помогло.

doFindMin - процедура поиска минимума

doFindMinproc near;Начало описания процедуры
pushsi;Сохраняем si в стеке
pushcx;Сохраняем cx в стеке
pushbx;Сохраняем bx в стеке

movbx,8001h;Начальный минимум
xorax,ax
cld;Сбрасываем флаг направления (вперёд)
@@lNext:;Начало цикла по эл-там матрицы
lodsb;al = следующему эл-ту матрицы
cmpax,0
jl@@lSkip
cmpax,bx;Сравниваем al с текущим минимумом
ja@@lSkip
movbx,ax
     
@@lSkip:
loop@@lNext;Конец цикла (cx=cx-1; cx<>0?=>@@lNext)

cmpbx,-1
clc
jne@@lExit
stc
@@lExit:
movax,bx
popbx;Восстанавливаем bx из стека
popcx;Восстанавливаем cx из стека
popsi;Восстанавливаем si из стека
ret;Выходим из процедуры
doFindMinendp;Конец описания процедуры


Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 янв. 2006 22:28 | IP
Guest



Новичок

mov bx,0 // нач максимум
xor ax,ax  //ax:=0
cld       //clear direction flag
Next:
lodsb //al:=DS:[SI]
cmp ax,0 //хм.. хотя прокатит
jl Skip // если первый элемент <0, то выход
cmp ax,bx //сравним с максимумом
jb Skip // если меньше - продолжим
mov bx,ax //сохраним новый максимум
Skip:
loop Next // декремент cx, если cx!=0, то продолжим

cmp bx,-1 //сравним bx и -1 (зачем??)
clc //очистим флаг переноса (зачем????)
jne Exit // если bx не был равен -1, то флаг переноса оставим сброшенным
stc //в противном случае - поставим флаг
Exit:
mov ax,bx //занесем в ax для возврата максимума
Воаля!

Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 янв. 2006 23:21 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com