ISA et assembleur

Quelle relation entre langage assembleur et langage machine est correcte ?

  1. ALes instructions assembleur sont converties par l'assembleur en instructions machine de façon quasi biunivoque
  2. BL'assembleur est commun à tous les types de CPU et s'exécute tel quel sur n'importe quel CPU
  3. CLe langage machine est un interpréteur qui exécute l'assembleur ligne par ligne
Afficher la réponse et l'explication

Réponse : A. Les instructions assembleur sont converties par l'assembleur en instructions machine de façon quasi biunivoque

Le langage assembleur écrit les instructions machine avec des symboles lisibles (mnémoniques) comme « add a0, a0, a1 », que l'assembleur convertit en séquences de bits. La correspondance avec les instructions étant quasi biunivoque, une ISA différente implique un assembleur différent. Toutefois, les pseudo-instructions comme « li » ou « mv » sont remplacées par l'assembleur par une ou plusieurs instructions réelles. La traduction des étiquettes en adresses relève aussi de l'assembleur.

S'entraîner sur ce thème Retour au thème

Autres questions sur ISA et assembleur

  1. Par quelle instruction l'assembleur remplace-t-il réellement la pseudo-instruction RISC-V « nop » (ne rien faire) ?
  2. Quelle est la différence correcte entre les instructions RISC-V « add » et « addi » ?
  3. Après l'exécution du code RISC-V ci-dessus, quelle est la valeur du registre a2 ?
  4. Quel est le fonctionnement correct de l'instruction RISC-V « lw t0, 8(sp) » ?
  5. Dans l'instruction de branchement conditionnel RISC-V « beq a0, a1, label », comment l'adresse de la cible label est-elle représentée ?