Autor: Gabriel Pereira
Competencia: Gestión en TI.
Palabras Clave: Simuproc, assembler, código.
Palabras Clave: Simuproc, assembler, código.
Descripción:
Esta actividad tenía como finalidad probar y conocer el funcionamiento de una CPU en su nivel más bajo a través del emulador Simuproc. En este se pueden programar tareas a través de una gran variedad de instrucciones lo que nos acerca a la programación en lenguaje Ensamblador.
Son dos ejercicios los que consisten en:
1. En este se debe entregar un código de 32 bits, que realice la siguiente acción, Solicitar por teclado el diámetro de una circunferencia y calcular el área mostrando el resultado por pantalla, aparte de cumplir esto se espera que este comentada cada línea de código.
2. Este tenía como objetivo leer por teclado una cantidad de números “x” y calcular su promedio.
Códigos:
1.- Calculo de Área de una Circunferencia.
msg "ingrese ahora el diámetro de su circunferencia"
in ax,1 ; se ingresa el valor de diámetro
stf 015 ; gurda en esa posición de memoria los números ingresados
ldf 015 ; guarda en posición ax y bx los numero ingresados
divf 040 ; divide el numero de 32 bits
stf 030 ; guarda en esa posición la división
ldf 030 ; carga en ax y bn el nro contenido
mulf 030 ; multiplica el resultado de la división por dos
stf 017 ; guarda en esa posición el resultado de la multiplicación
ldf 017 ; carga en ax y bx los números contenidos
mulf 050; multiplica el resultado por la posición que guarda el PI
stf 019 ; guarda en esa posición el resultado de la multiplicación
out 1,ax ; muestra el área o resultado final
hlt ; termina el programa
#040
0100000000000000; numero de 32 bits parte uno
0000000000000000; parte dos
#050
0100000001001000; numero de 32 bits parte uno
1111010111000010; parte dos
2.- Promediar una cantidad de números.
#SimuProc 1.4.3.0
msg "ingrese la cantidad de números a promediar";
ldt ; el número es guardado en ax
sta 075; el numero también se guarda en la posición de memoria 075
mov cx,075; la posición 075 es movida a cx
cla; asigna 0 ala variable ax
msg "Ingresar un Numero" ; mensaje para ingresar números a promediar
ldt; el numero ingresado se guarda automáticamente en ax
add 080; aqui se suma a ax el número de la posición indicada
sta 080; guarda el contenido de ax en la dirección indicada
loop 005; el bucle le resta uno a cx y si es distinto de 0 vuelve a la posición
div 075; se divide x por la posición
msg "Promedio es" ; se imprimirá el promedio
eap ; comando que imprime ax
hlt ; Finaliza el programa
Conclusión:
A partir de estos ejercicios reforzamos y conocimos más de cerca el trabajo de una CPU, la cual a través de muchos procesos matemáticos puede llegar a los resultados solicitados por nosotros no necesariamente siendo numéricos.
No hay comentarios:
Publicar un comentario