Mrnightmare
Messages postés1Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 6 juin 2009
-
6 juin 2009 à 16:54
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 2014
-
13 août 2009 à 15:11
Bonjour, je code un programme sensé faire timer selon cet énoncé :
Ecrire un programme qui réalise une minuterie. le temps a décompter est entré au clavier. Un bip sonore annonce l'écoulement du temps imparti
Voici ou j'en suis arrivé, le code compile et linke correctement, le problème réside dans la boucle GETSEC, de laquelle je ne parviens pas a sortir alors que logiquement je devrais en sortir chaque fois que les secondes changent.
mais a l'utilisation, je passe toujours par JMP GETSEC , le JNE ne semble pas se produire ..
voici la partie du code qui ne fonctionne pas correctement :
TOP:
MOV AH,2Ch ;fonction dos qui reporte le temps actuel
INT 21
MOV BH,DH ; DH possede la seconde de départ , on la stocke dans bh
GETSEC: ; boucle jusqu'a ce que la seconde actuelle ne soit pas égale a la valeur stockée dans bh
MOV AH,2Ch ;rappel de la fonction , dh prend a chaque fois la valeur des secondes actuelles
INT 21
CMP DH,BH ; comparaison qui permet de sortir de la boucle entre seconde actuelle et celle stockée dans bh , des que la seconde actuelle change, je passe par le JNZ
JNE PRINTA ;jump si pas égal vers affichage
JMP GETSEC ;sinon jump en boucle vers début de getsec
Merci pour toute aide que vous pouvez me fournir !