| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Libreria GIOBE.ASM | 
| Raccolta di Procedure ASM | 
      Delay 1/3 [28 di 54]  | 
 
  | 
|            | 
      
| Genera un ritardo programmabile, multiplo di 54,925493 ms, in funzione del numero passato in ingresso. | |
| Il ritardo minimo di circa 55 ms può costituire una limitazione: in certe applicazioni può effettivamente risultare troppo grande; in compenso i ritardi generati sono precisi, affidabili e soprattutto portabili (cioè completamente svincolati dalla velocità del processore e consumabili in modo uguale su tutti i computer), anche con i più moderni sistemi operativi (Windows 2000/NT/XP). | 
| 
         
  | 
      
| Sulla base di questa Procedura ho reso disponibili anche le Del_100, Del_1000, Del_1500 e Del_2000, pronte a consumare rispettivamente 0,1s, 1s, 1,5s e 2s; la Procedura DelMicro assicura, inoltre, ritardi dell'ordine del µs e del ms. | 
| 
     
  | 
  
| La Procedura si chiama in questo modo: | 
| 
         
  | 
      
  | 
  
In
                ingresso bisogna predisporre:
  | 
| 
     
  | 
  
| La seguente Area di Testo mostra il Modulo varie07 utilizzato per inserire la Procedura nella Libreria Giobe.ASM/LIB: | 
| 
         
  | 
      
| 
       Delay / varie07  | 
      
    NB:           se il testo contenuto nell'Area
        ti 
      sembra strano (cioè se contiene caratteri inconsueti) non hai ancora installato il font Giobe.TTF : clicca qui!!  | 
    
| 
         
  | 
      
L'analisi del codice (puoi scorrerlo con la 
  barra laterale) 
  mette in evidenza la tecnica utilizzata per garantire il ritardo con 
  esattezza:
  | 
| 
         
  | 
      
| 
           | 
          I problemi legati alle procedure di ritardo sono concreti e pressanti: in ogni caso sembrano ora tutti risolti, con il ricorso al Timer di Sistema, un componente di vitale importanza per il funzionamento del Computer. Ad essi ho dedicato la pagina seguente. | 
| 
         
  | 
      
| La nostra Procedura, a partire da un dato a 16 bit (praticamente affidato al registro CX), è in grado di generare tempi di ritardo da un minimo di 54,925493 ms ad un massimo di 216*54,925493ms = 65536*54,925493ms = 3599597ms, pari a 3600s, cioè circa 60 minuti, cioè 1 ora! | 
| 
         
  | 
      
| Su questa base è possibile compilare la Tabella dei valori con i quali è possibile caricare il registro CX: | 
| ritardo | Delay | ritardo | Delay | ritardo | Delay | ||
| 1 | 55 ms | 16 | 879 ms | 920 | 50 s | ||
| 2 | 110 ms | 17 | 934 ms | 1092 | 1 m | ||
| 3 | 164 ms | 18 | 1 s | 2294 | 2 m | ||
| 4 | 219 ms | 27 | 1,5 s | 3277 | 3 m | ||
| 5 | 274 ms | 36 | 2 s | 4370 | 4 m | ||
| 6 | 329 ms | 45 | 2,5 s | 5462 | 5 m | ||
| 7 | 384 ms | 54 | 3 s | 6554 | 6 m | ||
| 8 | 439 ms | 63 | 3,5 s | 7647 | 7 m | ||
| 9 | 494 ms | 73 | 4 s | 9831 | 9 m | ||
| 10 | 549 ms | 82 | 4,5 s | 10964 | 10 m | ||
| 11 | 604 ms | 91 | 5 s | 21848 | 20 m | ||
| 12 | 659 ms | 182 | 10 s | 32771 | 30 m | ||
| 13 | 714 ms | 364 | 20 s | 43695 | 40 m | ||
| 14 | 769 ms | 546 | 30 s | 54619 | 50 m | ||
| 15 | 824 ms | 728 | 40 s | 65536 | 1 h | 
  | 
| 
      
       |  
    Libreria GiobeASM | 
      
       | 
    Delay 1/3 | 
    
    ![]()  | 
    
    ![]()  | 
    
    ![]()  | 
 ||
| 28 di 54 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |