Выпуск № 1227 от 14.06.2009, 23:05
Администратор рассылки: Лысков Игорь Витальевич, Младший модератор
В рассылке: подписчиков - 424, экспертов - 60
В номере: вопросов - 1, ответов - 1
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 169212: Здравствуйте! Дело в том, что мне надо сделать программу, которая будет работать с одномерным массивом и находить максимальный элемент и выводить его номер. Причем, каждая ячейка массива должна иметь размер 2 байта. У меня все получилось, только п...
Вопрос № 169212:
Здравствуйте! Дело в том, что мне надо сделать программу, которая будет работать с одномерным массивом и находить максимальный элемент и выводить его номер. Причем, каждая ячейка массива должна иметь размер 2 байта. У меня все получилось, только программа работает с байтом, а не двумя. У меня вопрос: почему моя программа работает с моим массивом как будто у него каждая ячейка разрядностью байт, а не 2? Это выражается в том, что если ввести число, большее, чем 255, то получается неверный результат. Причем,
номер элемента, если он больший, пишет правильно. Вот такая путаница. Только одна просьбочка: не пишите свою программу с нуля, поправьте лучше мою. Я использую компилятор MASM. Программа в приложении. Большое спасибо за помощь!
Макро move_cursor
вызывает, в свою очередь, макро video_state, а вот оно портит регистр bh (заносит в него номер страницы видеопамяти) !!! А в BX у нас лежало максимальное значение... Исправить можно двумя способами: 1) поменять местами две строки (регистр ax не портится):
Код:
m4: mov ax,bx move_cursor 0,0
2) исправить макро move_cursor:
Код:
move_cursor macro x,y local ok,vs push ax push dx push bx ;... pop
bx pop dx pop ax endm
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.