Domanda

Quale interruzione collegheresti dal DOS per ottenere l'orologio in tempo reale?

È stato utile?

Soluzione

L'orologio in tempo reale non può generare interruzioni.Era (forse lo è ancora) accoppiato al cmos-ram perché tamponato dalla batteria.È possibile accedervi solo tramite le porte 0x70 e 0x71.

È comunque possibile agganciare l'interrupt del PIT (programmable interrupt timer).Questo è l'interrupt 0x08 (ad es.IRQ0 dell'hardware).Per quanto ricordo, l'interruzione era configurata da dos per essere chiamata circa 27 volte al secondo.Puoi programmarlo anche su altre frequenze, ma questo rovinerà un po' il dos-clock (porte 0x40 e 0x43).

Altri suggerimenti

http://www.control.com/thread/1026238869 ha alcune informazioni a riguardo.Hook int 08h (non dimenticare di rispedirlo);che viene chiamato ogni 55 millisecondi.

Leggi su Intel8259 famiglia di controllori ad interruzione programmabili.Di conseguenza si tratta degli interrupt 8 (master) e 112 (slave).Ecco un documento molto tecnico sull'8259A: http://pdos.csail.mit.edu/6.828/2008/readings/hardware/8259A.pdf

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top