Voila alors je dois faire un programme qui vérifie une réponse, en l'occurrence des bêtes calculs de tables de multiplications dans un temps donné (10sec) voila mon code mais le résultat n'est pas satisfaisant dans le sens ou il n'affichera jamais que le temps est écoulé et acceptera une réponse trop tardive
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 ; Affiche enonce lea dx, enonce1 mov AH, 09h int 21h ; récupère l'heure mov AH,2Ch int 21h mov mindep,CL mov secdep,DH mov AH,07h int 21h mov rep1a,AL ;récupère le premier car de la réponse mov AH,07h int 21h mov rep1b,AL ; récupère le second car de la réponse mov AH,2Ch int 21h mov minar, CL mov secar, DH mov ah,mindep mov al,secdep cmp cl,ah jne mindif sub dh,al cmp dh,10 ja timeout1 compar : cmp rep1a,51 jne bip cmp rep1b,53 jne bip lea dx,good ;signale que la réponse est bonne mov ah, 09h int 21h mov score,1 ;incrémente le score jmp eno2 bip : ;signale que la réponse est mauvaise lea dx, bad mov AH, 09h int 21h mov score,0 ; le score reste a zéro jmp eno2 mindif : ;comparaison du délai en cas de changement de minute mov ah, secdep mov al, secar sub ah,al cmp ah,50 jb timeout1 jmp compar timeout1 : ;signale que le temps est écoulé lea dx, tec mov AH, 09h int 21h jmp eno2
lorsque l'on entre la réponse (le calcul 1 est 7*5 donc je vérifie que le premier caractère est un 3 et le suivant un 5) ensuite je refais une interruption pour récupérer l'heure système, j'effectue d'abord une comparaison sur les minutes et ensuite je soustrais les sec(lors de l'affich et lors de la rentrée au clavier) ensuite il y a un ja timeout1...il n'est pas logique car en gros si 10 est plus grand que la diff de sec on signale que le temps est dépassé...je l'ai fait parce que lorsque je mettais jb timeout1 qui est pourtant un raisonnement logique, le prog m'affichait directement que le temps est écoulé....
Partager