Un simulador de procesador es un programa que nos permite escribir instrucciones en lenguaje
de bajo nivel (maquina,ensamblador) en el cual podemos observar el proceso interno de ejecucion
del programa atraves de cada ciclo de procesador.
El clico del procesador consta:
1)Ciclo Fetch:
-Va al PC(Program Counter:contiene la proxima direccion de memoria a ejecutar)
-Va a la direccion que apunta el pc
-Hace IR = MEM[PC](IR:Instruccion Registrer donde decodifica e interpreta la instruccion y sus parametros)
-Incrementa PC
2)Ciclo de ejecucion:
-Si se tiene que ir a memoria
-Va memoria
-Ejecuta instruccion
-Almacena resultados
El simulador oficial de la asociacion de cazadores es SimuProc, un simulador hipotetico el cual
posee una gran variedad de instrucciones para realizar pruebas.Incluye soporte para numeros
de punto flotante y enteros,Tambien un coversor de bases que soporta de la 2 a la 36.
Algunos ejemplos de su set de instrucciones:
XX - INSTRUC[parametro] XX: es el codigo de la instruccion
INSTRUC: es la instruccion
[parametros] si es que tiene mas de
uno[parametro1,paramtro,....,parametron]
01 - LDA[men] --->Cargue en AX el contenido de la dirección de Memoria especificada.
02 - STA[men] --->Guarde el contenido de AX en la dirección de Memoria especificada.
03 - XAB --->Intercambia valores de registros AX y BX(no necesita parametros)
04 - CLA --->Hace AX = 0
05 - PUSH[registro]--->Envia el valor del registros a la pila
06 - POP [registro]--->Trae de la pila el ultimo valor llevado por push y lo almacena en el registro.
07 - INC [destino ]--->Incrementa en 1 el destino especificado, el parámetro puede ser una dirección de memoria o un registro.
08 - DEC [destino ]--->Decremento en 1 el destino especificado, Si el destino queda = 0, se vuelve Z = 1
09 - MOV [dest,org]--->Copia el valor almacenado en el origen al destino. El destino y/o origen pueden ser registros o direcciones de memoria o combinación de estos.
10 - AND [dest,org]--->Y lógico, hace un Y lógico entre todos los bits de los dos operándos escribiendo el resultado en el destino. Los parámetros pueden ser direcciones de memoria o Registros.
12 - NOT [destino ]--->NO lógico, invierte los bits del operando formando el complemento del primero.
13 - OR [dest,org]--->O inclusive lógico, todo bit activo en cualquiera de los operándoos será activado en el destino. La siguiente regla aplica.
Acontinuacion una vista del programa:
Programa que busca numeros primos hasta n
Suscribirse a:
Comentarios de la entrada
(
Atom
)
Buenas noche me gustaria ver un ejercicio que ingrese tres numeros y haga la suma, resta, multiplicacion y divicion y muestre cual es el menor y el mayor
ResponderBorrar