Architecture et µprocesseur
Ssarko
-
nicocorico Messages postés 846 Statut Membre -
nicocorico Messages postés 846 Statut Membre -
Bonjour,
aider moi a resoudre cet exercice:
ecrire un programmz qui permet d'ajouter la valeur 20 au contenu de la case memoire 200H et faire l'addition des octets contenus en 1OOH et mettre les resultats en 102H
aider moi a resoudre cet exercice:
ecrire un programmz qui permet d'ajouter la valeur 20 au contenu de la case memoire 200H et faire l'addition des octets contenus en 1OOH et mettre les resultats en 102H
5 réponses
-
Si tu n'apprends pas la base la plus simple, et je pèse mes mots, tu n'apprendras jamais rien : montre d'abord ce que tu as fait !
Le chêne aussi était un gland, avant d'être un chêne -
-
Pas tout à fait, tu disais dans l'énonçé que c'est à l'offset 200h qu'il faut ajouter 20
// Les valeurs entre crochets sont des adresses : Mov bl,[20h] // tu lis la valeur de l'octet à l'offset 20h Add [20h],bl // Et tu ajoute la valeur lue à la même position Il faut donc faire : Mov bl ,20 // On charge 20 dans bl Add [200h],bl // Et on ajoute à 200h Ou tu peux faire : Add byte ptr [200h], 20 // Ajoute 20 à 200h Ensuite le code est correct, mais tu oublies de mettre le résultat à l'adresse 102h : Mov bl,[100h] Add bl,[101h] Mov [102h],bl
Le chêne aussi était un gland, avant d'être un chêne -
merci, j'ai encore un autre exercice ce code est-il correcte??
ecrire un programme ki permet de trouver le plus grand(puis le plus petit) de deux nombres en 40H et 41H et mettre le resultat en 42H!!
j'ai pensé a le resoudre de cette maniere
Mov dh,[40h]
Mov bh,[41h]
Sub dh,bh
Mov [42h],dh -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
En faisant la soustraction, tu récupères la différence entre les 2 et non pas le plus grand des 2, donc le résultat est bien là, mais ne correspond pas à ce qui est demandé...
Mov DL,[40h] // On privilégie la partie basse des registres Cmp DL,[41h] // Compare à la valeur en [41h] Ja @Ok; // Saut si DL est supérieur Mov DL,[41h] // Sinon on charge la 2ème valeur @Ok: Mov [42h],DL // Place la plus grande en [42h]