Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Exercices architecture PC »

Articles similaires

  • Comment les cours préparatoires sont-ils essentiels à la réussite en architecture ?
  • Exercice PHP : Utilisation des instructions
  • Exercices architecture processeur (CPU) et mémoire
  • Comment coder pour les débutants
  • Quels sont les meilleurs éditeurs EDI / IDE pour votre code Python ?
  • Exercice sur les éléments de base d’un ordinateur
  • Exercice VB: Parcour de tableau à une seule dimension
  • Excel : calculer le nombre de jours entre deux dates
  • Exercice VB: sommation
  • Quels sont les meilleurs logiciels de gestion de planning de formation ?
  • Tutoriel Python : définir et calculer la moyenne
  • Quels sont les avantages des écoles de commerce post-bac ?

Documents similaires

  • Application Excel calculatrice de montant TVA

  • Support de cours Algorithme les Boucles

  • Cours avance maintenance ordinateur

  • Application Excel de comptabilité sur l’amortissement linéaire

  • Application Excel calculateur les dosages de la réalisation des recettes

  • Serie d’exercices avec corriges en economie : croissance et developpement economique

  • Cours maintenance pc le système d’exploitation

  • Modèle de CV infirmier sur Word

Exercices Architecture de l'ordinateur ( instructions assembleur machine )

Participez au vote ☆☆☆☆☆★★★★★

Travaillez calmement, il est normal que vous ne répondiez pas à certaines questions. Huit questions bien traitées rapportent beaucoup plus de points que douze questions maltraitées !

On considère des entiers codés sur 16 bits et interprétés comme des entiers relatifs (codés en complément à deux) ; dans tout l'exercice on utilise 4 chiffres hexadécimaux pour écrire ces entiers.{sidebar id=1}

M N P Q R
ba4e fe3d 6190 3cc6 89f0
  1. Parmi ces cinq entiers quels sont ceux qui sont négatifs ?
  2. Classer ces entiers du plus petit au plus grand, par exemple :

    M < P < R < N < Q

    (mais cette réponse tirée au hasard n'est probablement pas la bonne). Justifier la réponse sur la copie.

  3. Calculer M + N : effectuer l'addition directement en hexadécimal sur la copie — une réponse brute ne rapportera aucun point. Y a-t-il débordement (overflow) ?
  4. Calculer -N et M - N ; comme dans la question précédente le détail des calculs doit figurer sur la copie.

Voici ci-contre le texte du programme de démonstration fourni avec le simulateur Y86, dont on a malencontreusement effacé les commentaires (sauf le dernier).

  1. Que se passerait-il lors de l'exécution du programme si par malheur on avait oublié l'instruction jmp Main d'adresse 0x00c ?
  2. Quels sont les paramètres de la fonction Sum ? Expliquer quelle est la partie du code qui permet de répondre à cette question.
  3. Expliquer les trois instructions consécutives d'adresses 0x03e, 0x044 et 0x04a ; en déduire le rôle des trois registres %eax, %ecx, et %edx pendant l'exécution de la fonction Sum.
  4. Expliquer les sept instructions qui composent la boucle — adresses 0x057 à 0x06f. Attention : les réponses qui paraphrasent le code (on ajoute %esi à %eax, etc.) ne rapportent aucun point ; il faut rédiger clairement, en choisissant correctement les noms des variables manipulées par le programme. En déduire ce que calcule la fonction Sum.
  5. Où se trouve le résultat calculé par la fonction Sum ? Quelle est sa valeur (en hexadécimal) ?
  6. Si ce code avait été produit par un compilateur quelle aurait été la déclaration (en langage C) de la fonction Sum ?
  7. Expliquer le rôle des deux instructions d'adresses 0x03a et 0x03c au début de la fonction Sum. Expliquer de même le rôle des deux instructions d'adresses 0x074 et 0x076 en fin de fonction.
  8. Expliquer le rôle des deux instructions d'adresses 0x050 et 0x052. Donner une instruction qui remplacerait avantageusement (pourquoi ?) l'instruction qui les précède (adresse 0x04a).
  9. Décrypter le code machine 50250c000000 (instruction d'adresse 0x044). Conseil : examiner le code machine des instructions similaires et expliquer en détail sur la copie comment raisonner pour retrouver le code-opération et la numérotation (exotique) des registres .                       {sidebar id=2}

5

Ecrire en langage d'assemblage Y86 une fonction cmp telle que l'appel call cmp permette de comparer les deux registres %eax et %ecx sans les modifier.

call cmp jl boucle

Par exemple le code ci-contre doit déclencher un saut vers l'instruction d'étiquette boucle si le contenu du registre %eax est strictement inférieur au contenu du registre %ecx. Les valeurs de tous les registres doivent être identiques avant et après exécution de ce fragment de code.

Plus d exercices en architectures des ordinateurs ( assembleur,fonction,registre ) dans la categorie parente .

{sidebar id=5}

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02