Какое прерывание вы могли бы перехватить из DOS, чтобы получить часы реального времени?Какое прерывание вы бы подключили из DOS, чтобы получить часы реального времени
ответ
Часы реального времени не могут генерировать прерывания. Это было (возможно, еще) в сочетании с CMOS-RAM, потому что он был забуферирован батареей. Доступ к нему возможен только через порты 0x70 и 0x71.
Вы можете, однако, перехватить прерывание PIT (программируемый таймер прерывания). Это прерывание 0x08 (например, аппаратное IRQ0). Насколько я помню, прерывание было настроено с помощью dos для вызова около 27 раз в секунду. Вы можете запрограммировать его и на другие частоты, но это немного испортит дош-часы (порт 0x40 и 0x43).
Это тот, но это 18 и бит раз в секунду. – pjc50 2009-05-21 13:02:34
Вот полный список из них, не уверен, что именно вы ищете. http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte2dm8.htm
От: http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte1at0.htm
Читайте на Intel 8259 семейства контроллеров Programmable Interrupt. В соответствии с этим это прерывания 8 (ведущий) и 112 (ведомый). Вот очень технический документ на 8259A: http://pdos.csail.mit.edu/6.828/2008/readings/hardware/8259A.pdf
http://www.control.com/thread/1026238869 имеет информацию об этом. Hook int 08h (не забудьте переписать его); который называется каждые 55 миллисекунд.
Могу ли я задать вопрос, почему вы хотите это сделать? Выполнение DOS-программирования в наши дни довольно странно :-) – 2008-09-17 17:37:20