After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Después de que el lenguaje ensamblador es creado, es necesario determinar cómo representar cada instrucción como 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 de uno a uno entre cada instrucción en el lenguaje ensamblador y cada código de instrucción en el conjunto de códigos de instrucciones. |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
El convertir un programa de lenguaje ensamblador a códigos de instrucciones se conoce como montaje, y la conversión de códigos de intrucciones a lenguaje ensamblador es llamado desmontaje. |
Several choices we must make at this point are: |
Muchas de las decisiones 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? |
¿De qué manera son codificados los operandos de instrucciones? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
¿Son los operandos parte de la palabra instrucción (recuerda, por palabra me refiero a 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 responder a la última pregunta, como solo hay una pequeña cantidad de instrucciones y registros en esta MV, no debería ser muy difícil codificar a todos los operandos en una sola palabra de instrucción, incluso si (en aras de simplicidad) yo fuese a utilizar una palabra de 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). |
En consecuencia, un número de 16 bits escrito en hexadecimal tiene 4 digitos, 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 palabra de máquina será el número de instrucción. |
This gives our VM the potential for having up to 16 different instructions. |
Esto da a nuestra MV el potencial para tener hasta 16 instrucciones diferentes. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
Esta es una cantidad pequeña para los estándares contemporáneos, pero es una cantidad suficiente para nuestra máquina virtual de ejemplo. |
The next three digits will be used for the operands. |
Los próximos tres dígitos serán utilizados para los operandos |
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 tres operandos de 1 dígito, dos operandos de 1 y 2 dígitos, o un solo operando de 3 dígitos. |
Having made these decisions, let us now establish the encoding. |
Habiendo tomado estas decisiones, establezcamos la codificación. |
Recall that we have 16 instruction numbers available. |
Recordemos que tenemos 16 números de instrucciones 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á la instrucción 0, y hay una razón importante para elegir al 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. |
Como el espacio vacío en la memoria de la computadora será más probablemente llenado con ceros, cualquier programa fugitivo encontrará eventualmente un 0 e intentará ejecutar esta instrucción, deteniendo el programa inmediatamente. |