Сейчас на форуме: tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Как переключать с помощью клавиатуры работу кусков кода
Посл.ответ Сообщение

Ранг: 4.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 марта 2008 20:53
· Личное сообщение · #1

Уважаемые друзья!

Я работаю в досе в незащищенном режиме.
Модель памяти беру
.model tiny
Моя прога считывает код по адресу 1000h:100h
и другой кусок кода по адресу 1500h:100h
Эти коды никак не связаны.

Мне надо чтобы я нажал клавишу "а" и заработал первый кусок кода,
а затем нажал "в" и первый остановился и заработал второй кусок кода.
Снова нажал "а" и заработал первый кусок кода, а второй остановился и
так пока не надоест.

Запускаю кусок кода с помощью retf и это работает
. Но для необходимого чередования выполнения кода
нужны какие-то прерывания от клавы. Может Int 16h ?

Может кто-то подскажет хотя бы идею основанную только на функциях БИОСА,
а лучше кусок кода с использованием функций БИОСА.

С уважением и благодарностью за внимание,
Виктор




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 19 марта 2008 08:49
· Личное сообщение · #2

В досе тебе нужно сделать TSR и перехватить прерывание. Потом смотришь на функцию в AH и фильтруешь. Когда увидишь то что тебе надо просто выполни код, и потом iret.

www.ctyme.com/intr/int.htm


 eXeL@B —› Программирование —› Как переключать с помощью клавиатуры работу кусков кода
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати