Manual+de+Usuario

=Manual de Usuario= = =

[[image:L_Intel-C8086-pbs.jpg width="267" height="180" align="left" caption="Intel 8086"]]
Para crear el programa se utilizó el ambiente de desarrollo Delphi. Aquí se simuló el funcionamiento de la Intel 8086.

La memoria de la Intel tiene una palabra de 16 bits. Todos los registros son de 16 bits y necesita 20 bits para direccionar la memoria

Los registros se dividen en 2 tipos:
 * Visibles (de propósito general): Incluye 4 registros de 16 bits de propósito general (AX, BX, CX, DX). Estos registros pueden ser utilizados en operaciones lógicas y aritméticas, y como almacenamiento temporal. El byte menos y más significativo de cada registro puede ser direccionado directamente.
 * No Visibles: 12 registros adicionales que son los que se utilizan para funcionar. Por ejemplo: hay un registro de banderas de 16 bits, el registro apuntador (IR), un apuntador de pila (SP) y otros.

Todos los registros utilizados por la Intel 8086 son de 16 bits. Los tipos de datos utilizados son ASII. Y los tipos de instrucción son: de movimiento, de operación y de control.

Las instrucciones implementadas en el programa son:
 * orig
 * ask
 * mov
 * inc
 * jz
 * jc
 * jnc
 * add
 * jmp
 * sub
 * ret
 * int
 * cmp
 * jl
 * msg

También posee 7 modos de direccionamiento que son:
 * Modo Registro: el operando es un registro. Ej: add ax, bx
 * Modo Inmediato: el operando es una constante. Ej: add ax, 5
 * Modo Directo: el operando es una dirección efectiva (implicita). Ej: add ax, ¨[100
 * Modo Registro Indirecto: similar al anterior pero la direccion efectiva esta contenida en un registro (BX, BP, SI, DI). Ej: add ax, [bx
 * Modo Relativo Base: la dirección efectiva se encuentra sumando un desplazamiento BX o BP. Ej: add ax, [bp + 100
 * Modo Indexado Directo: igual al anterior usando SI o DI. Ej: operaciones de cadena: movsb
 * Modo Indexado a Base: combinación de los dos anteriores. La dirección efectiva se calcula sumando un registro base, un registro indice y, opcionalmente, un desplazamiento. Ej: add ax, [ax + si + 100

= =

Procedimiento para utilizar el programa

 * 1) Ejecutar el software Delphi
 * 2) Abrir el programa desde la ubicación donde esta guardado el proyecto.
 * 3) Se ejecuta el programa desde la opcion Run de Delphi.
 * 4) Correr el editor
 * 5) Cargar el programa de prueba
 * 6) Grabar el programa prueba con .obj
 * 7) Correr virtual
 * 8) Abrir el programa prueba.obj
 * 9) Correr el programa desde el boton "Play"

home