Unidad 1: Paso 2 - Desarrollar el software de Microprocesadores.
Presentado a: DANISH PADILLA
Entregado por: Jonatan patiño romero
Código: 1035414443
Grupo: 309696_21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA Abril de 2019 Medellín INSTRUCCIONES SOPORTADAS POR SIMUPROC
Simuproc tiene una cantidad suficiente de instrucciones que bien
implementadas pueden conformar un sin número de distintos programas para diseñar y ejecutar en este software.
A continuación, se presentan algunos de ellos:
LDA [mem]: Carga en AX el contenido de la dirección de Memoria indicada.
STA [mem]: Guarda el valor de AX en la dirección de Memoria indicada. XAB: Intercambia los valores de los registros AX y BX CLA: Borra el valor de AX y lo deja en 0 PUSH [registro]: Envía el valor del registro especificado a la pila. POP [registro]: Trae de la Pila el último Valor llevado por PUSH y lo almacena en el registro indicado. INC [dest]: Incrementa en 1 el destino indicado. DEC [dest]: Decremento en 1 el destino indicado. MOV [dest,orig]: Copia el valor almacenado en el origen al destino indicado. AND [dest,orig]: Hace un Y lógico entre todos los bits de los dos operándos escribiendo el resultado en el destino. NOT [destino]: Invierte los bits del operando formando el complemento del primero. OR [dest,orig]: O lógico, todo bit activo en cualquiera de los operándos será activado en el destino. XOR [dest,orig]: O exclusivo, realiza un O exclusivo entre los operándoos y almacena el resultado en destino. ROL [dest,veces]:Rota los bits a la izquierda las veces especificadas en decimal, los bits que salen por la izquierda re-entran por la Derecha. ROR [dest,veces]: Rota los bits a la derecha las veces especificadas en decimal, los Bits que salen por la derecha re-entran por la izquierda. El Carry Flag guarda el ultimo bit rotado. SHL [dest,veces]: Desplaza los bits a la izquierda el numero de veces especificado en decimal, agregando ceros a la derecha. SHR [dest,veces]: Desplaza los bits a la Derecha el número de veces especificado en decimal, agregando ceros a la izquierda. ADD [mem]: Suma a AX el contenido de la dirección de memoria. SUB [mem]: Restar: a AX - el contenido de la dirección de memoria. MUL [mem]: Multiplicar a AX por el contenido de la dirección de memoria. DIV [mem]: Divide a AX por el contenido de la dirección de memoria. CLN: Limpia el Negative Flag. Y lo pone en 0. CLC: Limpia el Carry Flag y lo pone en 0. STC: Pone el Carry Flag.en 1. CMC: Complementa o invierte el Carry Flag LOOP [mem]: Decrementa CX y salta a la Pos de memoria si CX no es cero. JMP [mem]: Salto incondicional a la dirección indicada. JEQ [mem]: Saltar si la operación anterior dio un cero. CMP [mem]: Compara AX con [mem], si AX es mayor, Z=0 N=0, si es igual Z=1 N=0, si es menor Z=0 N=1 JME [mem]: Saltar si el resultado de la última operación dio un negativo. JMA [mem]: Saltar si el resultado de la última operación es un número positivo. JC [mem]: Saltar si el Carry Flag esta activado. JNC [mem]: Saltar si el Carry Flag no esta activado. JO [mem]: Saltar si el Overflow Flag esta Activado. JNO [mem]: Saltar si el Overflow Flag no esta activado. JNE [mem]: Saltar si la operación anterior es distinta a cero. LDT: Lee un valor del Teclado y lo lleva al registro AX. EAP: Escribe en Pantalla el contenido del registro AX. MSG: Muestra un mensaje en pantalla. LDB [mem]: La instrucción carga en AX el contenido de memoria almacenado en [mem] + BX STB [mem]: Guarda el contenido de AX en la dirección [mem] + BX LDF [mem]: Carga en BX y AX un numero de 32 bits (IEEE) que esta almacenado en la dir [mem] y mem+102A 0100001011001000 (Los dígitos mas significativos) STF [mem]: Guarda en [mem] y mem+1 el contenido de BX y AX. ADDF [mem]: Suma números de 32 bits, en BX y AX queda el resultado de la suma de estos. SUBF [mem]: Resta el número de 32 bits. MULF [mem]: Multiplicación para números de 32 bits. DIVF [mem]: Division para números de 32 bits ITOF: Conversión de Entero a Real: FTOI: Conversión de Real a Entero: IN: Lleva al Registro el valor retornado por el puerto especificado. OUT: Escribe en el puerto especificado, el valor del registro. NOP: Esta operación no hace nada, es util para cuando se modifica la memoria para parchar código y desactivar instrucciones. HLT: Todo Programa lleva esta instrucción para indicarle al simulador que el programa ha terminado su ejecución. Paso 2 - Desarrollar el software de Microprocesadores 5. Realizar un programa que identifique las calificaciones de 10 estudiantes y muestre la probabilidad de aprobación y reprobación, como también los que no ingresaron con notas inferiores a 1.0, junto con la cantidad de estudiantes que aprobaron y perdieron, tengan en cuenta que la nota aprobatoria es de 3.0 (Aparte del menú, ingresar los datos de los valores por medio de teclado)