| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Как переключать работу кусков кода с клавиатуры? |
| Автор: VictorBondarenko 18.3.2008, 14:58 |
| Уважаемые друзья! Я работаю в досе в незащищенном режиме. Модель памяти беру .model tiny Моя прога считывает код по адресу 1000h:100h и другой кусок кода по адресу 1500h:100h Эти коды никак не связаны. Мне надо чтобы я нажал клавишу "а" и заработал первый кусок кода, а затем нажал "в" и первый остановился и заработал второй кусок кода. Снова нажал "а" и заработал первый кусок кода, а второй остановился и так пока не надоест. Мне AndNot толково посоветовал, как запустить кусок кода и это работает с помощью retf . Но для необходимого чередования выполнения кода нужны какие-то прерывания от клавы. Может Int 16h ? Может кто-то подскажет хотя бы идею основанную только на функциях БИОСА, а лучше кусок кода с использованием функций БИОСА. С уважением и благодарностью за внимание, Виктор |
| Автор: Severyanin 19.3.2008, 10:18 |
| попробуй оформить эти куски кода в подпрограммы и вызывать их по нажатию клавиш, т е в основной проге опрашивать клавиатуру |
| Автор: MAKCim 19.3.2008, 11:40 | ||
| VictorBondarenko, перехватываешь обработчик прерывания от клавиатуры, подменяешь адрес возврата в стеке и передаешь управление оригинальному обработчику перехватить можно так
|