lioneldou
-
21 août 2011 à 17:12
zipe31
Messages postés36402Date d'inscriptiondimanche 7 novembre 2010StatutContributeurDernière intervention27 janvier 2021
-
21 août 2011 à 17:21
Bonjour, j'ai une exercice en assembleur a rendre dans 2 jours et j'ai trouvé le code.mais j'ai besoin d'explications(commentaires) de ces lignes de codes. voici l'ennoncé de lexo.
Écrire un programme d'entrainement aux tables de multiplication:
-le programme propose un calcul et attend la réponse dans un temps limité.
-il signale si la réponse est bonne ou mauvaise.
-il propose 10 calculs consécutifs et affiche le score.
-après 5 calculs corrects, le temps d'attente est diminué.
voici le code (assembleur) que j'ai et je que voudrai bien que vous commentez les différents lignes de codes.
.Model SMALL ;64 Ko pour les données, 64 Ko pour le programme
.Stack 128 ;Réserver 128 octets pour la pile
txt1 DB 10,13,"----------Entrainement aux tables de multiplication----------",10,13,10,13,"$"
txt2 DB " ","$"
txt3 DB " * ","$"
txt4 DB " = ","$"
txt5 DB 10,13,"Temps limite depasse => reponse invalide",10,13,10,13,"$"
txt6 DB 10,13,"Resultat : ","$"
txt7 DB "/10 ",10,13,10,13,"$"
true DB 10,13," Bonne reponse",10,13,10,13,"$"
false DB 10,13," Mauvaise reponse",10,13,10,13,"$"
nbreChiffre DB 3 ;nombre maximum de caractères incluant la touche "ENTER" du clavier
nbreCarLu DB ? ;nombre de caractères lentrés sans la touche "ENTER" du clavier
carEntre DB 3 DUP(?) ;caractères entrés
minute DB ?
seconde DB ?
secondeDep DB ?
tempsLimite DB ?
tmpseconde DB ?
varTmp1 DW ?
varTmp2 DB ?
nbre1 DB ?
nbre2 DB ?
resultat DW ?
valDiv DB 10
varInc DB 0
repTrouve DB 0
;-- Codes du programme -----------------------------------------------------------;
.Code
mov ax,0003H ;Permet d'effacer l'écran
int 10H
mov ax,@Data ;Adresse du segment de données dans Ax
mov ds,ax ;Puis dans Ds
mov es,ax
LEA dx,txt1
mov ah,09h
int 21h
do:
call genererNbre
mov ah,02ch ;On récupère l'heure du système
int 21h
mov seconde,DH
mov minute,CL
MOV AH,0AH ;Lecture des chiffres encodés au clavier
LEA DX,nbreChiffre
int 21h
mov AH,02ch ;On récupère l'heure du système
int 21h
cmp CL,minute
ja msgTimer
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.