![]() |
|
![]() ![]() ![]() |
|
EASports |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
Вот блин думал-думал, хотел уж даже сделать переход в другую процедуру, там всё обработать... Блин, вот я не допёр-то. Конечно, просто флаг поставить. Пасиба огромное.
![]() |
|||
|
||||
EASports |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
Чё-т у меня ну никак не получается вызвать прерывание из прерывания. Уж даже пытался повесить вывод строки на таймер, ну ни в какую. Вот код таймера, что не так, программа постоянно вместо нужной строки выводит какую-то ерунду и вылетает.
|
|||
|
||||
dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
есть такое страшное слово - нереентерабельность. кратко суть: int21 использует при работе некий кусок данных - хранит там, грубо, свое состояние. теперь ситуация: программа вызывает функцию, например, чтения строки/символа - т.е. выполнение "циклится" внутри 21h. приходит прерывание таймера, в котором ты пытаешься вывести строку посредством вызова 21h - получается вложенный вызов: находясь в обработчике 21h(чтение строки), опять вызывается обработчик 21h(вывод). те самые данные "накрываются" - системе каюк. борьба с нереентерабельностью заключается в вывешивании флагов и опросах спец.флагов доса... к нашим баранам: зачем тебе вообще таймер в твоей задаче? пробила меня ностальгия, так что вот тебе "пирожок"(разгрызешь, надеюсь, сам): ![]()
ps. мысли о какой-либо оптимизации меня не посещали, поэтому тут уж сами... ![]() |
||||
|
|||||
EASports |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
Рулез. Спасибо. Сначала не обратил внимания на эту прогу, не разобрался что называется. Но сегодня из-за безвыходности зашёл, скачал, откомпилил, разобрался и на её основе написал курсач.
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |