Libreria delle ProcedureGestione Tempo, Ora & Data

Entra nella Libreria GIOBE.TPU

 Delay1 

CODICE SORGENTE [3 di 4]  

    
bulletLa procedura è parzialmente scritta in linguaggio Assembly. E' probabile che il lettore, in questo momento, non sia in possesso delle conoscenze di base della programmazione a basso livello, per cui questa pagina pụ risultare incomprensibile; desidero fornirtela comunque, come stimolo per approfondire questa potente tecnica di programmazione (vedi Sezione Tutorial Assembly).
    
bulletLa tecnica con cui il ritardo è realizzato è ancora legata, per certi versi, al Timer di Sistema ma si basa ora sulla chiamata di una particolare Funzione di INT 15H BIOS, espressamente dedicata a questo servizio
bulletLa Funzione 86H di INT 15H è in grado di realizzare ritardi di straordinaria precisione, dal minimo di 976 nanosecondi.
bulletNotare l'algoritmo utilizzato per evidenziare la parte alta (NumHi) e quella bassa (NumLo) del numero esadecimale a 32 bit corrispondente al parametro "ritardo"
bulletPer saperne di più consulta la Scheda dedicata al Timer di Sistema nella Sezione Dentro il Computer.
    
Codice Sorgente   Mostra Effetto Esegui il Programma Scarica l'Esempio d'Applicazione
PROCEDURE Delay1 (ritardo:longint);  
VAR NumHi,NumLo:word;
BEGIN
 
NumHi">NumHi:=ritardo DIV 65536;   
 
NumLo:=ritardo-NumHi*65536;
  asm
    PUSH  AX
    PUSH  CX
    PUSH  DX

    MOV   CX,NumHi
  ;Prepara in CX,DX i valori corrispon-
    MOV   DX,NumLo  ;denti al  numero  desiderato passato 
                    ;in ingresso  nel parametro "ritardo"
    MOV   AH,86H
    INT   15H


    POP   DX
    POP   CX
    POP   AX             
  end
END;
    
bulletIl codice sviluppa le seguenti parti:
bulletconversione del longint decimale in un numero a 32 bit
bulletchiamata della funzione BIOS che implementa il ritardo
    
Pagina Precedente Tempo, Data & Ora Pagina Successiva Delay1 Lezioni - Vai al DownLoad dei files DOC Torna al Menu "Tempo, Data & Ora"
Esempio Sorgente Mostra
8 di 27

    

PASCAL  »

Libreria Giobe | Librerie Standard | Allegati | Applicazioni | Info | Download
PROCEDURE  »   Caratteri | Mouse | Tastiera | Tempo, Data & Ora
Box | Cornici | Cursore | Aree a Riga Intera | Aree a Schermo Totale
FUNZIONI  »   Caratteri | Mouse | Tastiera | Tempo, Data & Ora
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati