After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Dopo aver creato il linguaggio assembly, è necessario definire come rappresentare ogni istruzione con un numero. |
This establishes a one-to-one correspondence between each instruction in the assembly language and each instruction code in the set of instruction codes. |
Facendo ciò si stabilisce una corrispondenza biunivoca fra le istruzioni in linguaggio assembly e il codice istruzione corrispondente nell'insieme di istruzioni. |
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 conversione di un programma da linguaggio assembly a linguaggio macchina si chiama assembling, mentre il procedimento inverso si chiama disassembling. |
Several choices we must make at this point are: |
A questo punto, è necessario effettuare alcune scelte: |
What number is used to represent each assembly language instruction? |
Quale numero utilizzare per rappresentare ognuna delle istruzioni nel linguaggio assembly? |
How are instruction operands encoded? |
Come sono codificati gli operandi delle istruzioni? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
Gli operandi fanno parte della word (si ricordi che per word si intende il numero), o sono word (numeri) separate? |
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. |
Prima di tutto, in risposta alla seconda domanda, dato che in questa macchina virtuale (VM) ci sono poche istruzioni e registri, codificare tutti gli operandi in una singola word non dovrebbe essere complicato; anche se, per semplicità, si decidesse di utilizzarne una a 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). |
Quindi, poiché un numero a 16 bit in forma esadecimale è composto da quattro cifre, si hanno a disposizione quattro campi di informazione, ognuno dei quali può contenere una delle 16 variabili (0-9 e A-F). |
The first digit of a machine word will be the instruction number. |
La prima cifra di una word rappresenta il numero dell'istruzione. |
This gives our VM the potential for having up to 16 different instructions. |
Questo dà alla VM la possibilità di gestire fino a 16 istruzioni differenti. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
È una quantità inferiore allo standard odierno, ma per la nostra VM può essere ritenuto sufficiente. |
The next three digits will be used for the operands. |
Le tre cifre successive verranno utilizzate per gli operandi. |
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
È possibile definire tre operandi a una cifra, due operandi a una e due cifre, oppure un singolo operando a tre cifre. |
Having made these decisions, let us now establish the encoding. |
Una volta effettuate queste scelte, è possibile definire la codifica. |
Recall that we have 16 instruction numbers available. |
Va ricordato che sono disponibili 16 numeri istruzione. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
All'istruzione HALT viene dato il numero 0 per un motivo molto importante. |
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. |
Poiché tutto lo spazio libero nella memoria del computer sarà probabilmente occupato da zeri, qualsiasi programma con un tempo di esecuzione eccessivo finirà per incontrarne uno e tenterà di eseguire questa istruzione, arrestandosi immediatamente. |