Crearemos una computadora a la que llamaremos Simpletron. Como su nombre lo indica, es una máquina simple, pero poderosa. Simpletron sólo ejecuta programas escritos en el único lenguaje que entiende directamente: el lengaje máquina de Simpletron, o LMS.
Simpletron contiene un acumulador, un registro especial en el cual se coloca la información antes de que Simpletron la utilice en los cálculos, o que la analice de distintas maneras. Toda la información dentro de Simpletron se manipula en términos de palabras. Una palabra es un número decimal con signo de cuatro dígitos, como +3364, -1293, +0007 y -0001. Simpletron está equipada con una memoria de 100 palabras, y se hace referencia a estas palabras mediante sus números de ubicación 00, 01, ..99.
Antes de ejecutar un programa LMS debemos cargar, o colocar, el programa en la memoria. La primera instrucción de cada programa LMS se coloca siempre en la ubicación 00. El simulador empezará a ejecutarse en esta ubicación. Cada instrucción escrita en LMS ocupa una palabra de la memoria de Simpletron (y, por lo tanto, las instrucciones son números decimales de cuatro dígitos con signo). Supondremos que el signo de una instrucción LMS siempre será positivo, pero el signo de una palabra de información puede ser positivo o negativo. Cada una de las ubicaciones en la memoria de Simpletron puede contener una instrucción, un valor de datos utilizado por un programa o un área no utilizada (y, por lo tanto, indefinida) de memoria. Los primeros dos dígitos de cada instrucción LMS son el código de operación que especifica la operación a realizar.
Antes de ejecutar un programa LMS debemos cargar, o colocar, el programa en la memoria. La primera instrucción de cada programa LMS se coloca siempre en la ubicación 00. El simulador empezará a ejecutarse en esta ubicación. Cada instrucción escrita en LMS ocupa una palabra de la memoria de Simpletron (y, por lo tanto, las instrucciones son números decimales de cuatro dígitos con signo). Supondremos que el signo de una instrucción LMS siempre será positivo, pero el signo de una palabra de información puede ser positivo o negativo. Cada una de las ubicaciones en la memoria de Simpletron puede contener una instrucción, un valor de datos utilizado por un programa o un área no utilizada (y, por lo tanto, indefinida) de memoria. Los primeros dos dígitos de cada instrucción LMS son el código de operación que especifica la operación a realizar.
ASI SE EMPEZARIA EL SIMPLETRON
#include <stdio.h>
#include <stdlib.h>
#define LEE 10 //1007-1009 LEE A
#define ESCRIBE 11 //1108 LEE B
#define CARGA 20 // 2007-2008 CARGA A
#define ALMACENA 21 //2109
#define SUMA 30 //3008
#define RESTA 31 //3110
#define DIVIDE 32 //
#define MULTIPLICA 33
#define SALTA 40
#define SALTANEG 41
#define SALTACERO 42
#define ALTO 43
#define TAMANO 99
#define CERO 0
int memoria[TAMANO] = {0};
//Llamada a funciones
int validar(int acumulador);
void CargarPrograma(int[]);
void EjecutarPrograma(int[]);
void imprimir(int acumulador,int contador,int registroInstruccion,int codigoOperacion,int operando,int memoria[]);
//Programa Principal
int main(void) {
CargarPrograma(memoria);
EjecutarPrograma(memoria);
}
//Imprime las instrucciones y cargar las palabras
void CargarPrograma(int memoria[]) {
int i,instruccion;
printf("SIMPLETRON\n");
printf("INTRODUZCA LAS INSTRUCCIONES\n\n");
SI QUIERES VER EL CODIGO COMPLETO TIENES QUE DESCARGAR EL ARCHIVO....
EL ARCHIVO SE LLAMA LORENA
DESCARGA EL SIMPLETRON AQUI: SIMPLETON LORENA DESCARGA
0 Comentarios