C/Visual C - intérprete(en que estoy mal en este código )

 
Vista:

intérprete(en que estoy mal en este código )

Publicado por Alma (2 intervenciones) el 24/09/2002 17:05:50
Me urge mejorar este código no he logrado estender bien el planteamiento y notengo mucho tiempo a qui va el problema a ver que opinan (si es posible prueben el código para ver que se le podría modificar)
INTERPRETE

El CPU ejecuta cada instrucción en una serie de pasaos que a grandes rasgos los pasos son:
1.- Buscar la siguiente instrucción de memoria y colocarla en el registro de instrucciones .
2.- Modificar el contador de programa, de modo que apunte a la siguiente. instrucción .
3.- Determinar el tipo de instrucción que se trajo.
4.- Si la instrucción utiliza una determinada instrucción de palabra determinar donde está.
5.- Buscar la palabra si es necesario y colocarla en un registro de la CPU.
6.-Ejecutar la instrucción.
7.-Volver al paso y comienza a a ejecutar la instrucción.
Esto es un ciclo de búsqueda_decodificación_ejecucion. Partiendo de esto es fácil armar
el pseudocódigo que tendríamos en C de la siguiente manera:

Interprete();
{
PC=dir_inicio_programa
while(haya_mas_instr && bit_ejecucion)
{
instr=memoria[PC];
PC=PC+1;
tipo_instr=obten_tipo_instr(instr );
pos_datos=encontrar_datos(inst,tipo_instr);
1*-1 si instr_no_requiere_datos+;
if(pos_datos>=0)
datos=memoria(pos_datos)
ejecutar
}
}
Para implementar el programa es necesario tener en cuenta lo siguiente:
Primero: tenemos una tabla donde al realizar la búsqueda podemos definir los datos.
PC instr tipo_instr pos_datos Datos
101 ADD 2 [X],[Y] X,Y
102 INC 1 [X] X
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder