Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre émérite
    Avatar de Forthman
    Homme Profil pro François
    conception mécanique
    Inscrit en
    janvier 2005
    Messages
    493
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 39
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2005
    Messages : 493
    Points : 953
    Points
    953

    Par défaut Fonctionnement INT 21h fonction 2Ch

    Bonjour à tous,

    J'utilise la fonction 2Ch de l'interruption DOS 21h pour calculer la durée d'exécution
    d'un programme. Cette fonction renvoie l'heure au 100ème de seconde. Or, l'horloge système
    n'est pas assez précise (valeur à la seconde).

    Quelqu'un pourrait-il me dire comment s'y prend DOS pour avoir une telle précision ? Car j'ai bien pensé à utiliser le TIMER0 mais ce dernier ne 'bat' qu'à 18.2Hz

    Ou alors il faut paramétrer le TIMER2 en compteur et aller le lire avec l'IRQ8 déclenchée
    par le TIMER0 ? ...pfff... compliqué tout ça !

  2. #2
    Membre confirmé
    passe le balais et l'aspirateur
    Inscrit en
    mars 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : mars 2008
    Messages : 177
    Points : 225
    Points
    225

    Par défaut

    on peut aussi reprogrammer le timer0

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    cli                         ;programme le temporisateur
    mov dx,43h                  
    mov al,36h                  ;paramˆtres de comptage
    out dx,al
    jmp $+2
    mov dx,40h                 ;diviseur de fr‚quence de l'irq 0 (LSB en premier)
    mov ax,2983                ;1193200/f  ;11932: t=10ms  100Hz
    out dx,al                               ;5966: t=5ms    200Hz
    jmp $+2                                 ;2983: t=2.5ms  400Hz
    mov al,ah                  ;puis le MSB
    out dx,al
    sti

  3. #3
    Membre émérite
    Avatar de Forthman
    Homme Profil pro François
    conception mécanique
    Inscrit en
    janvier 2005
    Messages
    493
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 39
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2005
    Messages : 493
    Points : 953
    Points
    953

    Par défaut

    Exact ! j'avais fait ça à une époque pour contrôler un jeu de limières

    Mais il faut que la nouvelle interruption n'appelle l'ancienne que 18.2 fois par seconde
    comme à l'origine... j'avais du oublier 2 ou 3 trucs car ça me modifiait l'heure du DOS
    (mais pas la RTC)

    merci en tout cas

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •