Хостинг портала RFpro.ru: Московский хостер Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64 РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты данной рассылки Номер выпуска: | 1383 | Дата выхода: | 19.11.2010, 06:00 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 225 / 66 | Вопросов / ответов: | 1 / 1 | Вопрос № 180731: Добрый день уважаемые эксперты! написал программу на Ассемблере, но что то не то выдает)) прошу помощи у вас! код программы в приложении! нужно выполнить вот такие действия: Ввода пароля ( с помощью ф.0 int 16h, ф.3Fh,7,8 int 21h) и п... Вопрос № 180731: Добрый день уважаемые эксперты! написал программу на Ассемблере, но что то не то выдает)) прошу помощи у вас! код программы в приложении! нужно выполнить вот такие действия: Ввода пароля ( с помощью ф.0 int 16h, ф.3Fh,7,8 int 21h) и проверки его; Организацовать управление программой с помошью управляющей клавиши, например F1. Заранее огромное спасибо! Отправлен: 14.11.2010, 05:31 Вопрос задал: Андреев Дмитрий Фёдорович (Посетитель) Всего ответов: 1 Страница вопроса » Отвечает Абаянцев Юрий Леонидович aka Ayl (Профессионал) : Здравствуйте, Андреев Дмитрий Фёдорович!
Ошибок несколько. 1. Нет выхода из программы, в связи с чем ваш вариант приводит к аварийному завершению при работе в Windows (и к непредсказуемым последствием в чистом DOS'е). Для завершения программы нужно выполнить вызов функции 4ch прерывания 21h.
2. Команда cmps сравнивает 2 строки, расположенные по адресам: 1-я - DS:SI; 2-я - ES:DI. Перед началом выполнения программы сегментные регистры DS и ES установлены на сегмент PSP. Регистр DS вы переустанавливаете, а вот ES - нет. Поэтому сравнение строк производится неправильно.
3. Ну и логическая ошибка, связанная с неучетом длины правильного пароля. В результате правильными в вашем варианте признавались любые пароли, которые содержали в начале сочетание символов 'dima' и пароли 'd', 'di' и 'dim'. Исправлено добавлением проверки на длину правильного пароля.
В Приложении - исправленный вариант. Приложение: Ответ отправил: Абаянцев Юрий Леонидович aka Ayl (Профессионал) Ответ отправлен: 15.11.2010, 11:45 Номер ответа: 264063 Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"? | Отправить SMS #thank 264063 на номер 1151 (Россия) | Еще номера » | Оценить выпуск » Нам очень важно Ваше мнение об этом выпуске рассылки! Скажите "спасибо" эксперту, который помог Вам! Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА на короткий номер 1151 (Россия) Номер ответа и конкретный текст СМС указан внизу каждого ответа. Полный список номеров » * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов) ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются. *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании. |
Комментариев нет:
Отправить комментарий