After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Une fois le langage d'assemblage créé, il est nécessaire de déterminer comment chaque instruction sera représentée en tant que nombre. |
This establishes a one-to-one correspondence between each instruction in the assembly language and each instruction code in the set of instruction codes. |
Cela met en place d'une correspondance de un à un entre chaque instruction du langage d'assemblage et chaque code d'instruction dans le lot de codes d'instructions. |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
La conversion d'un logiciel d'un langage d'assemblage vers des codes d'instruction s'appelle l'assemblage, et la conversion de codes d'instruction vers un langage d'assemblage s'appelle le désassemblage. |
Several choices we must make at this point are: |
A cet instant, nous devons faire plusieurs choix : |
What number is used to represent each assembly language instruction? |
Quel nombre utiliser pour représenter quelle instruction du langage d'assemblage ? |
How are instruction operands encoded? |
Comment sont encodées les opérandes d'instruction ? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
Les opérandes sont-elles une partie du terme d'instruction (rappelez vous, lorsque je dite terme, je veux dire nombre), ou sont-ils des termes séparés (nombres) ? |
First, to answer the last question, since there are only small numbers of instructions and registers in this VM it should not be very difficult to encode all operands in a single instruction word, even if (for the sake of simplicity) I were to use a 16-bit instruction word. |
Commençons pas répondre à la dernière question. Comme cette VM ne contient qu'un petit nombre d'instructions et de registres, cela ne devrais pas être trop compliqué d'encoder tous les opérandes dans un seul terme d'instruction, même si (pour simplifier les choses) je venais à utiliser un terme d'instruction en 16-bit. |
Thus, a 16-bit number written in hexadecimal has 4 digits, giving us easy access to 4 information fields, each containing 16 variations (0-9 and A-F). |
Ainsi, un nombre en 16-bit écrit en hexadécimale a 4 caractères, nous donnant un accès facile à 4 champs d'information, contenant chacun 16 variation (0-9 et A-F). |
The first digit of a machine word will be the instruction number. |
Le premier caractère d'une terme d'une machine sera le nombre d'instruction. |
This gives our VM the potential for having up to 16 different instructions. |
Cela donne a notre VM le potentiel d'avoir jusqu'à 16 instructions différentes. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
C'est une petite quantité pour les standards contemporains, mais c'est suffisant pour notre machine virtuelle d'exemple. |
The next three digits will be used for the operands. |
Les 3 caractères suivants seront utilisées pour les opérandes. |
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
ceux-ci peuvent être utilisés comme 3 opérandes de 1 caractère, 2 opérandes de 1 ou 2 caractères ou 1 opérande de 3 caractères. |
Having made these decisions, let us now establish the encoding. |
Une fois ces décisions prises, passons à création de l'encodage. |
Recall that we have 16 instruction numbers available. |
Souvenez-vous que nous avons 16 nombres d'instruction disponible. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
L'instruction d'arrêt sera l'instruction 0, nous avons une raison importante de choisir 0 pour cette instruction. |
Since empty space in the computer's memory will most likely be filled with 0s, any run-away program will eventually encounter a 0 and attempt to execute this instruction, immediately halting the program. |
Comme l'espace vide dans la mémoire d'une ordinateur sera très probablement rempli de 0, un logiciel sans fin rencontrera éventuellement un 0 et tentera d'exécuter cette instruction, arrêtant immédiatement le logiciel. |