+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre Expert
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    janvier 2005
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Â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 : 509
    Points : 1 120
    Points
    1 120

    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
    182
    Détails du profil
    Informations personnelles :
    Âge : 29

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

    Informations forums :
    Inscription : mars 2008
    Messages : 182
    Points : 261
    Points
    261

    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 Expert
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    janvier 2005
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Â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 : 509
    Points : 1 120
    Points
    1 120

    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
  •