|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Inscription : mai 2012 Messages : 12 ![]() |
Citation:
-qu'est ce programme fait? -combien de boucles fait il? -par quoi peut on remplacer les deux derniers instructions? si on fera les hypotheses simplificatrices suivantes: le cpu met le mm temps ti pour executer chaque instruction ;un accés à la mémoire principale (mp) necessiteTmp;les codes et operandes des instructions sont au depart en MP,et chaqueinstruction necessite un seul accés en MP pour lire code et operande .une instruction comme mov cx,10 prend Ti+Tmp,et une instruction comme ADD,AX,SOMME le tempsTi+Tmp+Tmp. 5-calculer le temps d'execution de ce programme en fonction de Ti et Tmp. svp repondez moi ,parce ce que vraiement le cours que le professeur nous a donné n'a aucune relation avec ça(il est toujours encore d'expliquer le mode de fonctionnement de microproce 8086 et non pas la langage elle mm) et pourtant il nous a demandé de travailler l'exercice .i'ai vu beaucoup de cours sur le net mais c'est vraiement difficile de comprendre tout seul. |
|
|
|
00
|
|
|
#2 | ||||
![]() ![]() Chercheur d'emploi Inscription : septembre 2007 Messages : 4 614 ![]() |
Bonsoir,
Citation:
Citation:
http://www.iut-arles.up.univ-mrs.fr/...Archi/asm.html Tu y trouveras une description brève de chaque instruction. Ensuite, c'est plus facile si on met les bonnes indentations à ton programme : Code :
Cette étiquette est un symbole défini par le compilateur qui prend automatiquement pour valeur l'adresse mémoire où se trouve l'instruction qui la suit. C'est donc un point de repère qui permet de faire un saut à cette adresse ou d'y lire une donnée. « JNE » signifie Jump if Not Equal et fait partie de la collection de sauts conditionnels que tu trouveras sur la même page : http://www.iut-arles.up.univ-mrs.fr/...i/asm.html#jcc En assembleur, pour vérifier une condition, on fait un test ou une opération quelconque, lesquels mettent automatiquement un certain nombre de flags à jour, comme le bit Z (indicateur de zéro) qui se met automatiquement à 1 si le résultat de la dernière opération est nul. Parallèlement, tu disposes d'un jeu donné de sauts conditionnels, lesquels effectuent effectivement le saut si les flags en question ont la bonne valeur. En particulier, pour vérifier si deux nombres sont égaux ou pas, on soustrait l'un à l'autre et on regarde si le résultat est nul ou pas. Donc les mnémoniques « JNE » (Jump if Not Equal) et « JNZ » (Jump if Not Zero) sont équivalents, sont traduits par le même code-opération en mémoire et effectuent le saut si le bit Z vaut 0, indiquant ainsi que la dernière valeur obtenue n'est PAS nulle. « DEC » signifie Decrement et retire une unité à son opérande. Comme cette instruction est ici immédiatement suivie d'un JNZ, on comprend que le saut aura lieu si CX n'est pas nul, et qu'il s'agit donc d'une boucle. Fort de ces informations, utilise la table derrière le lien que je t'ai fourni pour voir à quoi sert chacune des instructions de ton programme. De là, tu devrais réussir à comprendre à quoi il sert. |
||||
|
|
20
|
Copyright © 2000-2013 - www.developpez.com