After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Despues de crear el lenguaje ensamblador, es necesario determinar como representar cada instruccion como 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. |
Esto establece una correspondencia uno a uno entre cada instruccion en lenguaje ensamblador y cada codigo de instruccion en el conjunto de codigos de instruccion. |
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 de un programa de lenguaje ensamblador a codigos de instrucciones se denomina ensamblaje, y la conversion de codigos de instrucciones nuevamente a lenguaje ensamblador se denomina desensamblado. |
Several choices we must make at this point are: |
Varias elecciones que debemos hacer en este punto son: |
What number is used to represent each assembly language instruction? |
¿Que numero se usa para representar cada instruccion en lenguaje ensamblador? |
How are instruction operands encoded? |
¿Como se codifican los operandos de instruccion? |
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 de instruccion (recuerde, por palabra quiero decir numero), o son palabras separadas (numeros)? |
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 ultima pregunta, dado que solo hay una pequeña cantidad de instrucciones y registros en esta maquina virtual, no deberia ser muy dificil codificar todos los operandos en una sola palabra de instruccion, incluso si (en aras de la simplicidad) tuviera que usar una palabra de instruccion 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). |
Asi, un numero de 16 bits escrito en hexadecimal tiene 4 digitos, los que nos da facil acceso a 4 campos de informacion, cada uno con 16 variaciones (0-9 y AF). |
The first digit of a machine word will be the instruction number. |
El primer digito de una palabra de maquina sera el numero de instruccion- |
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 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 estandares contemporaneos, pero es suficiente para nuestra maquina virtual de ejemplo. |
The next three digits will be used for the operands. |
Los siguientes tres digitos se utilizaran 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 usarse como tres operandos de 1 digito, dos operandos de 1 y 2 digitos o un solo operando de 3 digitos. |
Having made these decisions, let us now establish the encoding. |
Habiendo tomado estas decisiones, establezcamos ahora la codificacion. |
Recall that we have 16 instruction numbers available. |
Recuerde que tenemos 16 numeros de instrucciones disponibles. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
La instruccion de detencion sera la instruccion 0 y hay una razon importante para elegir 0 para esta instruccion. |
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 el espacio vacio en la memoria de la computadora probablemente se llene con 0, cualquier programa que se escape eventualmente encontrara un 0 e intentara ejecutar esta instruccion, deteniendo inmediatamente el programa. |