Глобальные переменные программы: old9 — адрес старого обработчика прерывания 9h; F3_code — скан-код клавиши «F3», которая входит в комбинацию «горячих» клавиш; key3_code — скан-код клавиши «3», которая будет блокироваться/разблокироваться при каждом нажатии «горячей» комбинации клавиш; f — флаг, который при каждом нажатии «горячей» комбинации клавиш переключается из состояния 0 в 1 или из 1 в 0 (состояние 1 означает, что клавиша «3» заблокирована);rr и sr — переменные, которые используются для задания значений регистров общего назначения и сегментных регистров соответственно при вызове прерывания.
В главной программе использует символьный массив string для проверки работы программы.
Переменные процедуры обработки прерывания 9h:
u c — переменная, которая используется для подтверждения приема из клавиатуры, в случае, если была нажата клавиша «3», а флаг f показывал, что эта клавиша заблокирована;
u x,y — переменные, которые используются для сохранения координат курсора на экране в момент вызова процедуры обработки прерывания;
u byte17 — байт флага состояния клавиатуры в области данных BIOS по адресу 0040:0017;
u byte18 — байт флага состояния клавиатуры в области данных BIOS по адресу 0040:0018;
u mask — маска, которая используется для определения нажатия клавиши левый Shift (в этом случае бит 1 в byte17 установлен в 1);
u mask17 — маска, которая используется для определения нажатия клавиши Сtrl (в этом случае бит 2 в byte17 установлен в 1);
u mask18 — маска, которая используется для определения нажатия клавиши левый Сtrl(в этом случае бит 0 в byte18 установлен в 1);