Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Оснащения врачебно-сестринской бригады.
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Коэффициенты пересчета округлены до ближайшего целого.
| МАЛАЯ ОКТАВА | |||||||||||
| до | до# | ре | ре# | ми | фа | фа# | соль | соль# | ля | ля# | си |
| ПЕРВАЯ ОКТАВА | |||||||||||
| до | до# | ре | ре# | ми | фа | фа# | соль | соль# | ля | ля# | си |
| ВТОРАЯ ОКТАВА | |||||||||||
| до | до# | ре | ре# | ми | фа | фа# | соль | соль# | ля | ля# | си |
| ТРЕТЬЯ ОКТАВА | |||||||||||
| до | до# | ре | ре# | ми | фа | фа# | соль | соль# | ля | ля# | си |
Как правило, хорошо звучат ноты третьей октавы.
Значение цветов в байте атрибута
| Значение | Бит яркости | Цвет |
| черный | ||
| синий | ||
| зеленый | ||
| голубой | ||
| красный | ||
| пурпурный | ||
| коричневый | ||
| светло-серый | ||
| темно-серый | ||
| светло-синий | ||
| светло-зеленый | ||
| светло-голубой | ||
| светло-красный | ||
| светло-пурпурный | ||
| желтый | ||
| белый |
Буфер клавиатуры.
Буфером клавиатуры называются 32 байта памяти, расположенные в области переменных BIOS, начиная с адреса 0041eh и заканчивая адресом 0043ch. Буфер может накапливать до 15 нажатий клавиш, при этом для каждой клавиши в буфере отводится слово, младший байт которого содержит ASCII, а старший – СКЭН коды нажатой клавиши.
Буфер клавиатуры называется кольцевым, поскольку представляет собой циклическую очередь, реализующую процедуру FIFO (первый пришел – первый ушел). Это означает, что в буфере нет определенной ячейки памяти, с которой начинается его заполнение. Зато имеются понятия «голова буфера» и «хвост буфера». Головой буфера считается слово, в которое занесены коды первой нажатой клавиши, а хвостом – слово за ячейкой, в которой находятся коды последней нажатой клавишей (смотри рис 5.1)
| 0041eh | голова | хвост | 0043ch | ||||||
| свободна | свободны | код | код | код | свободна | свободны | свободна |
рис 5.1.
. Для того, чтобы с буфером можно было работать в памяти выделены еще 2 слова с адресами 0041ah и 0041ch. В первой из них храниться смещение ячейки, являющейся в настоящий момент головой буфера, относительно адреса 00400h. Принято говорить, что в ячейке 0041ah хранится указатель головы буфера. Соответственно, в ячейке 0041ch хранится указатель хвоста. Например, мы последовательно нажали две клавиши, коды которых попали в буфер, который до этого был пуст. При этом код первой клавиши попал я ячейку 00432h, а код второй – в ячейку 00434h. Тогда указатель головы (содержимое ячейки 0041ah) будет равен 32h, а указатель хвоста (содержимое ячейки 0041ch) – 36h.
Когда мы нажимаем клавишу на клавиатуре, обработчик 9 прерывания заносит ее код в буфер по адресу, на который указывает указатель хвоста, а затем прибавляет к указателю хвоста двойку. Таким образом, указатель хвоста всегда указывает на первую свободную ячейку буфера. Когда адресное пространство, отведенное под буфер, заканчивается указатель хвоста устанавливается на начало буфера (двойка в этом случае не прибавляется) и ввод клавиш может быть продолжен. Например, пусть указатель хвоста равен 3ch (установлен на последнее слово буферной области). Тогда при нажатии клавиши ее код попадет в ячейку 0043ch, а в указатель хвоста будет записано новое значение 1eh (установлен на первое слово буферной области). Именно из-за такой организации буфер и называется кольцевым.
Когда программа считывает код клавиши из буфера, этот код берется из ячейки, на которую установлен указатель головы, после чего к этому указателю надо прибавить двойку (или записать в него 1eh, если буферная область кончилась).
При вводе клавиши буфер может оказаться заполнен, при этом вводимый символ игнорируется и выдается гудок на встроенный динамик. Буфер является полным, когда указатель хвоста на 2 меньше чем указатель головы. Исключением является ситуация, когда указатель головы установлен на начало буфера (равен 1eh). В этом случае буфер полон, если указатель хвоста установлен на конец буфера (равен 3ch).
Буфер считается пустым, если указатель головы равен указателю хвоста. Таким образом, чтобы очистить буфер можно, например, взять информацию из указателя хвоста и записать ее в указатель головы.
Два байта, расположенные в ячейках памяти 00417h и 00418h называются байтами состояния клавиатуры. Они имеют следующий формат:
Байт 417h бит 0 = 1 – нажат правый Shift
бит 1 = 1 – нажат левый Shift
бит 2 = 1 – нажат Ctrl (любой)
бит 3 = 1 – нажат Alt (любой)
бит 4 = 1 – включен ScrollLock
бит 5 = 1 – включен NumLock
бит 6 = 1 – включен CapsLock
бит 7 = 1 – включен режим Ins
Байт 418h бит 0 = 1 – нажат левый Ctrl
бит 1 = 1 – нажат левый Alt
бит 2 = 1 – нажат SysReg
бит 3 = 1 – установлен режим «ПАУЗА»
бит 4 = 1 – нажат ScrollLock
бит 5 = 1 – нажат NumLock
бит 6 = 1 – нажат CapsLock
бит 7 = 1 – нажат Ins
ЛИТЕРАТУРА
1. Финогенов К.Г. Самоучитель по системным функциям MS – DOS. М.: Радио и связь, Энтроп, 1995. 382 с.
2. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. М.: Финансы и статистика, 1992. 544 с.
3. ROM BIOS. Справочное руководство. СПб.: Программпродукт, 1992. 160 с.
СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ.. 3
2. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ ИЛИ АЗЫ, КОТОРЫЕ НЕОБХОДИМО ЗНАТЬ! 5
2.1. Ассемблер, что это такое?. 5
2.2. Как писать ассемблерную программу, и какие программы нужны для ее последующей трансляции. 5
2.3. Системы счисления. 6
2.4. Оперативная память. 8
2.5. Стек. 8
2.6. Сегментация памяти. 11
2.7. Программная модель процессора. 14
2.8. Система команд. 16
2.9 Выделение памяти под переменные и массивы.. 23
2.10 EXE и COM программы.. 25
2.11 Трансляция ассемблерной программы.. 28
3. ПРИМЕРЫ ПРОГРАММИРОВАНИЯ НА АССЕМБЛЕРЕ. 32
3.1. Наша первая программа. 32
3.2. Работа с клавиатурой и экраном. 35
3.3 Работа с гибкими дисками. 46
3.4. Перехват прерываний и создание резидентных программ.. 56
3.5. Работа со звуком. 71
4. Отладка программ. 74
5. ПРИЛОЖЕНИЯ.. 77
5.1. Сервисные прерывания DOS. 77
5.2. Сервисные прерывания BIOS. 80
5.3 Коэффициенты пересчета для нот. 84
5.4. Значение цветов в байте атрибута. 85
5.4 Буфер клавиатуры. 85
6. ЛИТЕРАТУРА.. 87
7. СОДЕРЖАНИЕ.. 88
|
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!