![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
Написала обработчик который должен при нажатии клавиши w выдать ее сканкод на экран:
Код:
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
скорей всего не настроен регистр DS. при выполнении команды div d
обращение происходит к случайному сегменту нужно либо писать div cs: d, либо в начале обработчика сделать Код:
Последний раз редактировалось alexcoder; 03.12.2009 в 19:41. Причина: задолбали смайлики!!! |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
Написала все равно падает
Код:
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#4 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
int 21h нельзя пользоваться, когда запрещены прерывания(а во время обработки int 9 они запрещены). Попробуйте пользоваться ф-цией 0eh int 10h.
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
а так код правильный?
Код:
Единственное, что ограничивает полет мысли программиста-компилятор
Последний раз редактировалось Sparky; 03.12.2009 в 20:39. |
![]() |
![]() |
![]() |
#6 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Ну... после метки met: там творится с dx, что-то непонятное мне.
Вообще вылет резидента может быть только при делении, вызове прерываний и при выходе (неправильная работа с push pop). Из-за остального, что приходит мне на ум программа может либо зависать, либо просто неправильно работать. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
а вот теперь посотри отредактировала. Убрала метки, или я не правильно поняла твой пост до этого?
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
вот теперь появилась реакция, при нажатии обычных клавиш все ок, а при нажатии w
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#9 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]() Цитата:
Насчет того, который теперь. Это уже, видимо, из-за неправильной работы с push pop ![]() Вначале резидента ax теперь не сохраняется, а при выходе его выталкивают. Да и деление и прочую арифметику ес-но нужно вернуть. |
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
арифметика использовалась для вывода кода символа, а теперь вроде за это отвечает 10 прерывание? тогда получается она не нужна
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработчик вектора прерывания | Festovec | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 07.04.2010 10:05 |
Создание резидентной программы (обработчик прерывания). | Петруха | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 23.03.2009 16:31 |
Прерывания на портах | ForzaJuve | Win Api | 3 | 16.02.2009 18:40 |
Прерывания | Kn793 | Общие вопросы Delphi | 3 | 10.01.2009 18:43 |
прерывания | sergei64_89 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 22.04.2008 13:37 |