| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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] А то очень долго и много про него писать. С наилучшими пожеланями, Вячеслав. |