; Дополнение к примеру 6.9
push es ; сохраняем содержимое es
push cs ; помещаем в стек содержимое cs
pop es ; и выталкиваем его в es
lea dx, Mousm ; пишем в dx адрес "Mousm"
mov ex, 01 ; код события "перемещение курсора"
mouse ОС ; обращаемся к драйверу мыши
pop es ; восстанавливаем содержимое es
Подведем итог всему сказанному в данном разделе. Перемещение курсора слабо зависит от действий основной задачи и его можно выполнять в режиме прерываний, поступающих от драйвера. Правда, в таком случае возникает вопрос о том, как задача узнает, что курсор перемещался, если для ее выполнения это необходимо знать. На этот случай мы использовали в примере 6.14 переменную curmp. Предполагается, что в нужные моменты времени задача проверяет значение этой переменной и узнает о факте перемещения курсора. Вы можете отказаться от этой переменной и ввести другой признак перемещения курсора, но в любом случае без анализа специального признака задача не узнает о факте перемещения курсора, поскольку оно выполняется без ее прямого участия.