Sezione |
Indirizzi Base
Registri Interni
|
Libreria GIOBE.ASM |
Raccolta di Procedure ASM |
Delay 3/3 - Dettaglio sull'Algoritmo ASM [30 di 54] |
1° dicembre 2003 |
Procedure di ritardo - Descrizione dell'algoritmo |
Come la procedura di ritardo sfrutta le caratteristiche del Timer di Sistema |
|
Nella pagina precedente abbiamo imparato che il Timer di Sistema controlla ogni evento temporale del nostro computer, scandendone la vita a suon di Tick di sistema, con frequenza di 18,2064819 Hz, cioè generando un fronte attivo ogni 54,925493 ms |
|
Il geniale progettista delle magiche Procedure del Bios ha previsto un intero pacchetto di Funzioni dedicate al controllo dell'Orologio in Tempo Reale, raccogliendole nella libreria INT 1AH e destinando ad esso anche numerose locazioni di sistema, nell'Area di comunicazione Bios. |
|
In particolare le 4
variabili di sistema da
0000:046CH a
0000:046FH contengono il numero corrente (a 32 bit) dei
Ticks prodotti nell'arco della giornata;
vediamo alcuni valori assunti da questa doubleword nell'arco della giornata:
|
|
Dunque, al termine della giornata, poco prima delle 24:00:00, il valore corrente dei Ticks di sistema sarà 18 volte più grande, 001800AFH =1573039 e, all'arrivo del Tick successivo dovrebbe portarsi al valore , 001800B0H =1573040, ma in realtà il contenuto delle variabili si riazzera e tutto ricomincia da capo. |
|
La Procedura Delay e le sue derivate Del_100, Del_1000, Del_1500 e Del_2000 utilizzano questa risorsa per generare ritardi svincolati dalla velocità del processore, precisi, affidabili e portabili. |
|
La possibilità di consumare tempo (comunque
multiplo di circa 55 ms) è legata alla
lettura delle 4
variabili, affidata alla
Funzione 00H dell'INT 1AH
Bios:
|
|
|
La parte iterativa del flow-chart è piuttosto intuitiva:
|
|
La procedura Delay è particolarmente curata ed è in grado di prevedere anche un evento piuttosto improbabile ma possibile, data la sua natura, legata alla lettura del tempo corrente: il suo utilizzo a cavallo di un giorno che muore e uno che nasce... |
|
[**] Nella premessa ho
sottolineato che subito dopo la mezzanotte
il contatore passa dal valore 001800AFH
a 00000000H;
si rende indispensabile, quindi, un supplemento
d'indagine: in questo caso:
|
|
Libreria GiobeASM | Delay 3/3 - Dettaglio sull'Algoritmo ASM | |||||||
30 di 54 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|