Crazy News
#3
01 января 1997 |
|
Программирование - Ещё раз о преррываниях.
********** ЕЩЕ РАЗ О ПРЕРЫВАНИЯХ **********
(КАК НЕ НАРУШАТЬ ИНФОРМАЦИОННОЕ РАВНОВЕСИЕ)
ПОЧТИ ВСЕ ВРЕМЯ MW И ВСЕ MW - ПРИЛОЖЕНИЯ
РАБОТАЮТ В РЕЖИМЕ ПРЕРЫВАНИЙ 2 (IM 2). ЧТОБ
ЕГО УСТАНОВИТЬ НЕ НАДО ПРИЛАГАТЬ КАКИХ-ЛИБО
ОСОБЫХ УСИЛИЙ , НАДО ЛИШЬ ВЫЗВАТЬ ПОДПРОГ-
РАММУ INITZ , КОТОРАЯ УСТАНОВИТ СТАНДАРТНЫЙ
ОБРАБОТЧИК IM 2 ( MW-ОБРАБОТЧИК ) , НАХОДЯ-
ЩИЙCЯ ПО АДРЕСУ #Е99В . НЕОБХОДИМО ВЫЗЫВАТЬ
ЭТОТ ОБРАБОТЧИК 50 РАЗ В СЕКУНДУ ( ИМЕННО
ЭТО И ДЕЛАЕТ РЕЖИМ ПРЕРЫВАНИЯ 2 ) , ЧТОБ
НОРМАЛЬНО РАБОТАЛА MЫЩЬ ( КУРСОР,ТО ЕСТЬ ).
КРОМЕ ТОГО В РЕЖИМЕ 2 МОЖНО БЕЗ ОПАCЕ-
НИЙ ИСПОЛЬЗОВАТЬ РЕГИСТР IY В СВОИХ ЦЕЛЯХ ,
В MWL IY ИСПОЛЬЗУЕТСЯ КАК ОПИСАТЕЛЬ ОКНА И
ДЛЯ ДРУГИХ ЦЕЛЕЙ ( ХОТЯ MWL САМА И НЕ ОБРА-
ЩАЕТCЯ К ПОДПРОГРАММАМ ПЗУ , КОТОРЫЕ ДЛЯ
АДРЕСАЦИИ К СИСТЕМНЫМ ПЕРЕМЕННЫМ ПЗУ ИСПО-
ЛЬЗУЮТ РЕГИСТР IY , ВАМ МОЖЕТ ПОНАДОБИТЬСЯ
ТАКОЕ ОБРАЩЕНИЕ. В ТАКОМ СЛУЧАЕ НЕ ЗАБЫВАЙ-
ТЕ УСТАНОВИТЬ - LD IY,#5C3A ! ) .
НИ В КОЕМ СЛУЧАЕ НЕ РАБОТАЙТЕ C ДИСКОМ В
РЕЖИМЕ IM 2 ( ХОТЯ , DRIVER И DRIVER+ ВЫ
МОЖЕТЕ ИСПОЛЬЗОВАТЬ И ВО 2 РЕЖИМЕ ПРЕРЫВА-
НИЙ , Т.К. ОНИ ОЧЕНЬ ГРАМОТНО НАПИСАНЫ ГОС-
ПОДИНОM ЛАРЧЕНКО , И НЕМНОГО ДОПОЛНЕНЫ
МНОЙ ) , Т.К. ПРИ РАБОТЕ C ДИСКОМ НЕОБХОДИ-
МО ПЕРЕКЛЮЧАТЬСЯ НА 0 РЕЖИМ ПРЕРЫВАНИЙ .
ПРИМЕР :
...ПРОГРАММА... DISK LD HL,30000
............... LD DE,0
LD IY,#5C3A LD ВС,#0805
IM 0 CALL 15635
CALL DISK RET
CALL INITZ
ПРИМЕЧАНИЕ : В БОЛЕЕ ПОЗДНИХ ВЕРСИЯХ MW
( К СОЖАЛЕНИЮ НЕ В ПЕРВОЙ , НО СКОРЕЕ ВСЕГО
УЖЕ СО ВТОРОЙ ! ) ЭТО ДОСАДНОЕ НЕУДОБСТВО ,
ВЫЗВАННОЕ АРХИТЕКТУРОЙ TR-DOS ) БУДЕТ УСТ-
РАНЕНО , И C ДИСКОМ МОЖНО БУДЕТ РАБОТАТЬ ,
НЕ ИЗМЕНЯЯ РЕЖИМА ПРЕРЫВАНИЙ . :)
ДА , КСТАТИ : ПРИ ВЫХОДЕ В БЕЙСИК ТАК ЖЕ
НЕОБХОДИМО УСТАНАВЛИВАТЬ РЕЖИМ IM 0 , НО ОБ
ЭТОМ В СЛЕДУЮЩЕЙ ГЛАВЕ ...
Другие статьи номера:
Micro Windows - и c чем его едят. Карта памяти в MW v1.1 и MW v2.1 |
Программирование - Где писать программы. |
Программирование - Ещё раз о преррываниях. |
Программирование - Как правильно выйти в бейсик. |
Продолжение следует |
Похожие статьи:
В этот день... 9 октября