Sei sulla pagina 1di 6

SimuProc Races

cuadradas



Estudiante: Jorge Fco. Ancan M.
Profesor: Alejandro Mellado


Introduccin

Las personas comnmente que utilizan los
computadores, nunca se han preguntado como hace el
computador para resolver un simple suma de la
calculadora, o mas aun cualquier tipo de aplicacin o
funcin que esta realice, solo sabe que puede hacer
mltiples tareas. Pero conocer en profundidad como
la CPU y memoria realizan los procesos, a
continuacin veremos un muy simple programa que
calcula la raz cuadrada, pero no ser en los lenguajes
de programacin convencionales, ser en cdigo
ensamblador en el software SimuProc, para asi poder
entender de mejor manera los pasos que realiza una
computadora para realizar este simple problema.


Algoritmo

double raiz(double x)
{
double r = x, t = 0;

while (t != r)
{

t = r;

r = (x/r + r)/2;
}
return r;
}
Con este algoritmo se plantea como calcular la raz cuadrada
de un nmero cuales quiera, que no sea negativo.
Se utilizara SimuProc para programar nuestro ejercicio en
cdigo ensamblador.


Cdigo
MSG "Ingrese el numero al cual le desea"
IN ax,1 ; Ingreso el numero
STF 080 ; Lo guardo en la direccin 080
STF 082 ; variable a
LDF 084 ; variable b
SUBF 082 ; le resto a
JEQ 00F ; salto si es verdadero, si no comienza el while
LDF 082 ; cargo a
STF 084 ; cambio valores b=a
LDF 080 ; cargo x
DIVF 082 ; x / a
ADDF 082 ; + a
DIVF 086 ; / 2
STF 082 ; se almacena en la variable a
JMP 004 ; finalizo el ciclo, salto a la dir 4
MSG ' La raiz cuadrada de su numero es : '
LDF 082
OUT 1,ax ; muestro el resultado en pantalla
HLT ; termino

#084
0000000000000000 ; valor 0 en 32bits asignado a b
0000000000000000
0100000000000000 ; valor 2 en 32bits
0000000000000000

Qu hace la CPU al procesar toda esta
informacin?
As lo muestra en programa.

Primero lee en PC la prxima direccin a ejecutar que es 000
Enva al Mar la prxima direccin de mem a leer
Lleva al MDR el contenido de dicha direccin de memoria
Le entrega al IR el dato para que lo decodifique e incremento el PC
Escribe en pantalla un mensaje
Lee en PC la prxima direccin a ejecutar : 001
Enva al MAR la prxima direccin de mem a leer
Lleva al MDR el contenido de dicha direccin de memoria
Le entrega al IR el dato para que lo decodifique e incremento el PC
Lee un valor flotante positivo o negativo. Para luego llevarlo a bx y ax
El puerto 1 retorno 0000000000000 lo escribir en ax
Lee en PC la prxima direccin a ejecutar : 002
Enva al mar la prxima direccin de mem a leer
Lleva a MDR el contenido de dicha direccin de memoria
Le entrega a IR el dato para que lo decodifique e incremento el PC

Esto se repite 2 veces, creando un bucle que sigue las manillas de un
reloj.



Ejemplo:
Si quisiramos calcular la raz cuadrada de 25 con
nuestro programa, lo nico que tenemos que hacer es
introducir en nmero en la ventana emergente, como
muestra la figura 1.


Figura 1.

Despus de que el SimoProc, simule la ejecucin del
programa como si fuera una CPU trabajando,
obtendremos la siguiente ventana emergente
presentada en la figura.

Figura 2

Finalmente se obtiene el resultado como muestra la
figura nmero 3.

Figura 3. Muestra el resultado que como nuestro
numero era 25, su raz cuadrada es 5.

Qu quiere decir Double y While?

Cuando nos referimos al comando Double estamos
especificando qu tipos de datos vamos a trabajar,(enteros o
flotantes) en este caso, es tipo FLOAT, la funcin de este es
que guarda el dato de 32 bits en 2 casillas, de 16 y 16 bits.

Y cuando hablamos del comando While nos referimos a un
bucle de programacin, el cual en espaol quiere decir
Mientras sirve como condicin para un cdigo.



Conclusin
En el presente informe se demostr la CPU realiza
operaciones matemticas, de una forma fcil y rpida,
utilizando los comandos correspondientes, dando as el
resultado esperado.
Se trabaj con bucles porque era lo ms lgico para el
problema planteado, los nmeros resultantes podran ser
superiores a 16 bits por creo el doble uso de casillas en el
cdigo, los saltos en cdigo ensamblador son muy tiles.
Se sostiene que se aprendi bastante sobre el
funcionamiento de la mquina y lenguaje ensamblador.

Potrebbero piacerti anche