![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Bios INT 16h
Функция 00h - чтение символа с клавиатуры. Вход: АН: 00h Выход: АН - скан код AL - ASCII-символ Функция 01h - чтение статуса клавиатуры. Вход: АН: 01h Выход: АН - скан-код AL - ASCII-символ флаг Z: если 0, то в буфере есть символ, если 1 - нет символа. Функция 02h - Флаги, возвращаемые клавиатурой. Вход: АН: 02h Выход:AL - байт статуса клавиатуры: бит 0 - нажат правый Shift; бит 1 - нажат левый Shift; бит 2 - нажата клавиша Ctrl; бит 3 - нажата клавиша Alt; бит 4 - Scroll Lock в положении ON; бит 5 - Num Lock в положении ON; бит 6 - Caps Lock в положении ON; бит 7 - Insert в положении ON. Скан-коды Давайте теперь поговорим о такой вещи как скан-коды. Если вы считаете, что при нажатии клавиши А обработчик клавиатуры также получает код символа А, то вы ошибаетесь. К сожалению, это не так. Обработчику посылается скан-код. Более того, он посылается дважды — при нажатии и отпускании клавиши. В видеоиграх нас будут интересовать не столько ASCII-коды, сколько нажатия клавиш A, S, Пробел, которые обычно отвечают за маневры, стрельбу и т. д. Таким образом, нам надо знать, как получить именно скан-коды. И это все, что требуется. В таблице 3.2 перечислены скан-коды клавиш.
Таблица 3.2. Таблица скан-кодов.
Если вы внимательно изучали таблицу, то должны, были заметить, что клавиши; имеющие двухсимвольную кодировку, обладают, тем не менее, только одним скан-кодом. Это происходит потому, что каждый скан-код может быть дополнен информацией о статусе клавиш. Кроме того, благодаря таблице 3.2, мы теперь сами можем по скан-коду определять код ASCII. Статус клавиш Мы должны иметь возможность определять: § Была ли нажата какая-нибудь клавиша; § Какая была нажата клавиша; § Статус клавиши Shift. Статус клавиш — это просто битовый вектор (последовательность), содержащий информацию о клавишах Shift, Alt, Ctrl и других. Эта последовательность находится в памяти по адресам 417h и 418h. Мы не будем читать эти ячейки напрямую, а воспользуемся BIOS и Си. Листинг 3.4 содержит код, позволяющий получить статус клавиш. Date: 2015-09-18; view: 498; Нарушение авторских прав |