"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора

OR AL,10000000B ;устанавливаем бит 7
OUT 61H,AL ;заменяем байт
IN AL,60H ;получаем установку переключат.
AND AL,11000000B ;выделяем старшие 2 бита
MOV CL,6 ;подготовка к сдвигу AL вправо
SHR AL,CL ;сдвигаем 2 бита в начало
ADD AL,49 ;добавляем 1, чтобы считать с 1
;и 48 для перевода в ASCII
MOV DL,AL ;помещаем результат в DL
MOV AL,61H ;должны восстановить порт B
AND AL,01111111B ;сбрасываем бит 7
OUT 61H,AL ;возвращаем байт

;---печать числа накопителей
MOV AH,2 ;функция 2 прерывания 21H
INT 21H ;печатаем число из DL

;---печать второй половины сообщения
POP AX ;берем номер функции со стека
MOV DX,OFFSET MESSAGE2
INT 21H ;выводим строку
INT 20H ;завершение программы

CSEG ENDS
END START


.h1 Глава 2. Таймеры и звук.
=============================


.h2 Раздел 1. Установка и чтение таймера.
-----------------------------------------

Все IBM PC используют микросхему таймера 8253 (или 8254) для
согласования импульсов от микросхемы системных часов. Число цик-
лов системных часов преобразуется в один импульс, а последова-
тельность этих импульсов подсчитывается для определения времени,
или они могут быть посланы на громкоговоритель компьютера для
генерации звука определенной частоты. Микросхема 8253 имеет три
идентичных независимых канала, каждый из которых может программи-
роваться.
Микросхема 8253 работает независимо от процессора. Процессор
программирует микросхему и затем обращается к другим делам. Таким
образом 8253 действует как часы реального времени - она считает
свои импульсы независимо от того, что происходит в компьютере.
Однако, максимальный программируемый интервал составляет прибли-
зительно 1/12 секунды. Для подсчета интервалов времени в часы и
минуты нужны какие-то другие средства. Именно по этой причине
импульсы от нулевого канала микросхемы таймера накапливаются в