After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Luego que el lenguaje ensamblador es creado, es necesario determinar cómo representar cada instrucción como un 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. |
Esto establece una correspondencia uno a uno entre cada instrucción en el lenguaje ensamblador y cada instrucción de código en el conjunto de instrucciones de código. |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
Convertir un programa desde lenguaje ensamblador a instrucciones de código se conoce como ensamblar, y la conversion desde instrucciones de código hacia lenguaje ensamblador se conoce como des-ensamblar. |
Several choices we must make at this point are: |
Algunas alternativas que debemos tomar en este punto son: |
What number is used to represent each assembly language instruction? |
Qué número es utilizado para representar cada instrucción en lenguaje ensamblador? |
How are instruction operands encoded? |
Cómo son codificados los operadores de instrucción? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
Son los operadores parte de la instrucción (recuerde, por palabra queremos decir número), o son palabras separadas (números)? |
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. |
Primero, para contestar la última pregunta, como sólo existen un pequeño número de instrucciones y registros en esta VM, no debería ser muy difícil codificar todos los operadores en una única instrucción, incluso si (por el bien de la simplicidad) yo fuera a usar una instrucción 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). |
Entonces, un número de 16 bits escrito en hexadecimal tiene 4 dígitos, dándonos fácil acceso a 4 campos de información, cada uno conteniendo 16 variaciones (0-9 y A-F). |
The first digit of a machine word will be the instruction number. |
El primer dígito de una instrucción sería el número de la instrucción. |
This gives our VM the potential for having up to 16 different instructions. |
Esto le da a nuestra VM el potencial de tener hasta 16 diferentes instrucciones. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
Esto es una cantidad pequeña para los estándares contemporáneos, pero es suficiente para nuestra máquina virtual de ejemplo. |
The next three digits will be used for the operands. |
Los siguientes tres dígitos serán utilizados para los operadores. |
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
Estos pueden ser utilizados como 3 operadores de 1 dígito, 2 operadores de 1 y 2 dígitos, o un sólo operador de 3 dígitos. |
Having made these decisions, let us now establish the encoding. |
Habiendo tomado estas decisiones, permítanos entonces establecer la codificación. |
Recall that we have 16 instruction numbers available. |
Recuerde que tenemos 16 números de instrucción disponibles. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
La instrucción de alto sería la instrucción 0, y existe una razón importante para seleccionar 0 para esta instrucción. |
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. |
Dado que los espacios vacíos en la memoria de la computadora son más comunmente llenados con 0s, cualquier programa extraviado podría eventualmente encontrar un 0 e intentar ejecutar esta instrucción, deteniendo inmediatamente el programa. |