Un probleme en architectures des ordinnateurs
Fermé
meriama_s
Messages postés
99
Date d'inscription
jeudi 13 octobre 2005
Statut
Membre
Dernière intervention
20 août 2008
-
21 janv. 2006 à 15:55
Aghaster Messages postés 26 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 27 janvier 2007 - 23 janv. 2006 à 02:57
Aghaster Messages postés 26 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 27 janvier 2007 - 23 janv. 2006 à 02:57
A voir également:
- Sonia vient de créer son studio d'architecture à bruxelles
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Logiciel architecture gratuit - Télécharger - Architecture & Déco
- Créer un compte instagram sur google - Guide
1 réponse
Aghaster
Messages postés
26
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
27 janvier 2007
25
23 janv. 2006 à 02:57
23 janv. 2006 à 02:57
Ça fait un certain temps que j'ai fait de l'assembleur, mais je vais quand meme t'aider
Mov ax , [0008] // Initialise ax à 8h
Add al , FF // Ajoute FFh dans le low nibble du registre ax.
// 8h + FF = 107h.
// ax = 107h
// ah = 1h
// al = 7h
Cmp al , 00 // compare 0h avec 7h
Jne 0003 // Jump if not equal, on saute.
En combien de boucles fait ce programme? Répète lopération plusieurs fois:
107h + FFh = 206h
Est-ce que tu vois ce qui se passe? à chaque fois le lower nibble de ax (al) décrémente de 1.
C'est donc à la fin de la 8e boucle que al égalera 0, que cmp al, 00 sera retournera vrai. Je ne me rappelle plus quel flag cmp set, mais jne (jump if not equal) en tient compte et il ne sautera pas car al sera égal à 0h. J'espère avoir éclairé ta lanterne!
-Aghaster
www.planetcpp.info
Mov ax , [0008] // Initialise ax à 8h
Add al , FF // Ajoute FFh dans le low nibble du registre ax.
// 8h + FF = 107h.
// ax = 107h
// ah = 1h
// al = 7h
Cmp al , 00 // compare 0h avec 7h
Jne 0003 // Jump if not equal, on saute.
En combien de boucles fait ce programme? Répète lopération plusieurs fois:
107h + FFh = 206h
Est-ce que tu vois ce qui se passe? à chaque fois le lower nibble de ax (al) décrémente de 1.
C'est donc à la fin de la 8e boucle que al égalera 0, que cmp al, 00 sera retournera vrai. Je ne me rappelle plus quel flag cmp set, mais jne (jump if not equal) en tient compte et il ne sautera pas car al sera égal à 0h. J'espère avoir éclairé ta lanterne!
-Aghaster
www.planetcpp.info