Какое прерывание вы бы перехватили из DOS, чтобы получить часы реального времени?
Вопрос
Какое прерывание вы бы перехватили из DOS, чтобы получить часы реального времени?
Решение
Часы реального времени не могут генерировать прерывания.Он был (возможно, до сих пор) связан с cmos-ram, поскольку буферизировался батареей.Доступ к нему возможен только через порты 0x70 и 0x71.
Однако вы можете подключить прерывание PIT (программируемый таймер прерывания).Это прерывание 0x08 (например.аппаратное IRQ0).Насколько я помню, DOS настроил прерывание на вызов примерно 27 раз в секунду.Вы также можете запрограммировать его на другие частоты, но это немного испортит тактовую частоту (порты 0x40 и 0x43).
Другие советы
http://www.control.com/thread/1026238869 есть некоторая информация по этому поводу.Перехватите int 08h (не забудьте его переотправить);это вызывается каждые 55 миллисекунд.
Прочтите о Интел 8259 семейство программируемых контроллеров прерываний.Согласно этому, это прерывания 8 (главное) и 112 (подчиненное).Вот очень технический документ по 8259A: http://pdos.csail.mit.edu/6.828/2008/readings/hardware/8259A.pdf
Вот их полный список, не знаю, что именно вы ищете.http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte2dm8.htm
От:http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte1at0.htm