After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Após a criação da linguagem em assembly, é necessário determinar como representar cada instrução como um número. |
This establishes a one-to-one correspondence between each instruction in the assembly language and each instruction code in the set of instruction codes. |
Assim, se estabelece uma relação de um-para-um, entre cada instrução em linguagem assembly e cada código de instrução, no conjunto de códigos de instrução. |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
A conversão de um programa, de linguagem assembly, para códigos de instrução, denomina-se assembling (montagem) e a conversão, de códigos de instrução, de volta para linguagem assembly, designa-se disassembling (desmontagem). |
Several choices we must make at this point are: |
Várias opções que devemos tomar, neste momento, são: |
What number is used to represent each assembly language instruction? |
Que número é utilizado para representar cada uma das instruções em linguagem assembly? |
How are instruction operands encoded? |
Como são codificados os operandos de instrução? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
Os operandos fazem parte da palavra de instrução (lembrando que, por "palavra", me refiro ao número), ou são palavras (números) distintos? |
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. |
Em primeiro lugar, respondendo à última questão, como apenas existem pequenos números de instruções e registos nesta máquina virtual (MV), não deverá ser muito árduo codificar todos os operandos numa única palavra de instrução, mesmo que (para efeitos de simplicidade), eu utilizasse uma palavra de instrução de 16-bits. |
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). |
Daí, um número de 16-bits escrito em hexadecimal contém 4 dígitos, dando-nos acesso fácil a 4 campos de informação, cada um contendo 16 variações (0-9 e A-F). |
The first digit of a machine word will be the instruction number. |
O primeiro dígito de uma palavra máquina será o número de instrução. |
This gives our VM the potential for having up to 16 different instructions. |
Is dá à nossa MV o potencial para possuir até 16 instruções diferentes. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
Esta é uma quantidade pequena, pelos padrões contemporâneos, mas é bastante, para a nossa máquina virtual de exemplo. |
The next three digits will be used for the operands. |
Os três dígitos seguintes serão utilizados para os operandos. |
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
Estes podem ser usados como três operandos de 1 digito, dois operandos de 1 e 2 dígitos, ou um único operando de 3 dígitos. |
Having made these decisions, let us now establish the encoding. |
Tomadas estas decisões, estabeleçamos a codificação. |
Recall that we have 16 instruction numbers available. |
Lembrando que temos 16 números de instrução disponíveis. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
A instrução de paragem será a instrução 0 e há uma razão importante para a escolha do 0 para esta instrução. |
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. |
Como espaços vazios, na memória do computador, serão, mais provavelmente, preenchidos com 0s, qualquer programa em mau funcionamento encontrará, eventualmente, um 0 e tentará executar essa instrução, interrompendo, de imediato, a sua execução. |