Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > !!!!!!!!!!!!ПОМОГИТЕ&#


Автор: АНТОН 4.5.2002, 22:38
Подскажите на какие регистры ссылается программа при проверки времени на компе!!!!!
ОТВЕТТЕ ПОЖАЙЛУСТА!!

Автор: SlavaS 5.5.2002, 05:13
Привожу описание микросхемы таймера. (i8253)

Он имеет 3 канала (порты 40H-42H). Нулевой канал замкнут на контроллере прерываний  и является источником аппаратного прерывания от таймера, которое возникает 18,2 раза в секунду. 1 канал связан с DMA, 2-й с динамиком.

Все каналы таймера одинаковы:
-регистр ввода-вывода (8 бит),
-регистр- защёлка (16 бит),
-регистр- счётчик (16 бит).

Регистры связаны след. образом.
В регистр ввода- вывода извне помещается некоторое значение (источником может быть системное прерывание либо программа пользователя). Каждый регистр ввода- вывода имеет адрес в адесном пространстве ввода- вывода (номер порта). Регистр ввода-вывода канала 0- это 40h, 1-41h, 2-42h. Помещаемые в него значения немедленно попадают в регистр- защёлку (регистр- фиксатор), где значение сохраняется до тех пор, пока в регистр ввода- вывода не будет записано новое значене. Для согласовыния регистров по разрядности существует регистр управления (порт 43h), который является частью механизма управления всей микросхемой таймера. Он содержит слово состояния, с помощью которого производятся выбор канала, задание режма работы канала и тип операции передачи значения в канал.
Структура слова состояния:
бит 0: тип константы пересчёта (значения, загружаемого извне в регистр- защёлку). 0-двоичное число, 1- BCD (двочно- десятичное число).
биты 1-3: режим работы микросхемы таймера. Всего их шесть. Обычно используется третий- 011;
 биты 4-5: определяют тип операции. 00-передать значение счётчика в регистр-задвижку (т.е. возможна не только операция записи значения в канал, но и извлечения значения регистра-счётчка из него). 10- записать в регистр только старший байт, 01- только младший байт, 11- сначала старший, а затем младший.
 биты 6-7: номер программируемого канала.

Вроде всё... А! На каналы таймера подаются импульсы от микросхемы системных часов, которые, по сути, представляют собой генератор импульсов с частотой 1,19 МГц.

При считывании времени через прерывание (irq 0) оно обновляется 18,2 раза в секунду.  Я понимаю, тебе надо чаще...

Если есть какие-то вопросы, интересует контроллер прерываний и его регистры, пиши-
[email protected]

А то очень долго и много про него писать.

С наилучшими пожеланями, Вячеслав.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)