Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_АСМ ассемблер.doc
Скачиваний:
61
Добавлен:
19.11.2019
Размер:
732.16 Кб
Скачать
  • Int 16h, функция 02h (12h). Получение статуса клавиатуры.

Для функции 02h возвращает байт флагов, описывающий состояние управляющих клавиш клавиатуры. Для функции 12h возвращает слово флагов, при этом младший байт этого слова совпадает с байтом, возвращаемым функцией 02h.

При вызове: ah = 02h (или 12h)

При возврате: Функция 02h:

al = флаги

Функция 12h:

ax = флаги

Биты флагов имеют следующие значения:

бит 0 =1 – нажат правый SHIFT

бит 1 = 1 – нажат левый SHIFT

бит 2 = 1 – нажат CTRL

бит 3 = 1 – нажат ALT

бит 4 = 1 – включен режим SCROLL LOCK

бит 5 = 1 – включен режим NUM LOCK

бит 6 = 1 – включен режим CAPS LOCK

бит 7 = 1 – включен режим INSERT

(последующие флаги возвращает только функция 12h)

бит 8 = 1 - нажат левый CTRL

бит 9 = 1 – нажат левый ALT

бит 10 =1 – нажат правый CTRL

бит 11 = 1 – нажат правый ALT

бит 12 = 1 – нажат SCROLL LOCK

бит 13 = 1 – нажат NUM LOCK

бит 14 = 1 – нажат CAPS LOCK

бит 15 = 1 – нажат SYSREG.

  • Int 1ah, функция 0h. Число тиков таймера.

Возвращает число тиков таймера с момента последнего сброса системы. Таймер тикает через каждые 55 миллисекунд, то есть примерно 18 раз в секунду (1092 раза в минуту).

При вызове: ah = 00h

При возврате: cx,dx = число тиков (в сх – старшая часть)

al = 0, если системные часы не переходили через сутки.

Конечно, вышеперечисленные функции далеко не исчерпывают весь сервис, предоставляемый DOS и BIOS. Однако, для выполнения лабораторных работ приведенных выше функций вполне (даже с избытком) достаточно.

    1. Коэффициенты пересчета для нот

Коэффициенты пересчета округлены до ближайшего целого.

МАЛАЯ ОКТАВА

до

до#

ре

ре#

ми

фа

фа#

соль

соль#

ля

ля#

си

7790

7353

6940

6551

6183

5836

5508

5199

4907

4632

4372

4127

ПЕРВАЯ ОКТАВА

до

до#

ре

ре#

ми

фа

фа#

соль

соль#

ля

ля#

си

3895

3676

3470

3275

3091

2918

2754

2599

2454

2316

2284

2063

ВТОРАЯ ОКТАВА

до

до#

ре

ре#

ми

фа

фа#

соль

соль#

ля

ля#

си

1947

1838

1735

1638

1546

1459

1377

1300

1227

1158

1093

1032

ТРЕТЬЯ ОКТАВА

до

до#

ре

ре#

ми

фа

фа#

соль

соль#

ля

ля#

си

974

919

867

819

773

729

689

650

613

579

546

516

Как правило, хорошо звучат ноты третьей октавы.