Nombre: Cristián Elpidio Veramendi Materia: Lógica Digital PROGRAMA: MENU DE DIFERENTES OPERACIONES ARIMETICAS #SimuProc 1.4.3.0 MOV 69,61 MSG '0 NUMERO FLOTANTE ' MSG '1_INTRODUSCA DATOS' ;Muestro el mensaje en Pantalla MSG '2_SUMA' MSG '3_RESTA' MSG '4_MULTIPLICACION' MSG '5_DIVIDA' MSG '6_COMPARACION' MSG '7-EXIT ' MSG LDT 'INTRODUSCA SU OPCION' ;USUARIO EN AX CMP 67 ;COMPARANDO EL VALOR DEL USUARIO JMA 68 JEQ 70 CMP 66 ;COMPARA JEQ 72 CMP 65 ;DIVIDE JEQ 110 CMP 64 ;MULTIPLICA JEQ 120 CMP 63 ;RESTA JEQ 130 CMP 62 ;SUMA JEQ 140 CMP 61 ;INTRODUCE VALORES JEQ 150 CMP 60 JEQ 170 JME 68 HLT #60 0 1 10 11 100 101 110 111
MSG 'SOLO INTRODUSCA VALORES DEL MENU' JMP 1 #70 MSG 'ADIOS' HLT MOV AX,69 CMP 62 JMA 08F JEQ 08F JME 80 #80 MSG 'INTRODUSCA VALORES' JMP 1 MSG 'HAY DESBORDAMIENTO' JMP 1 #08F MOV AX,100 CMP 101 JEQ 09B ; JME 98 EAP ; EAP 'ES MAYOR QUE EL SEGUNDO' JMP 1 MSG MOV AX,101 EAP 'EL SEGUNDO ES MAYOR QUE EL PRIMERO' MSG JMP 1 MSG 'LOS 2 NUMEROS SON IGUALES' JMP 1 #110 MOV AX,69 CMP 52 JMA 115 JEQ 115 JME 80 #115
;DIVIDE
MOV AX,100 DIV 101 EAP 'LA DIVICION ES:' JMP 1 #120 MOV AX,69 ;MULTIPLICA CMP 62 JMA 125 JEQ 125 JME 80 #125 MOV AX,100 MUL 101 JO 72 EAP 'LA MULTIPLICACION ES' JMP 1 ;#100 ;A PRIMER VALOR ;B SEGUNDO VALOR #130 MOV AX,69 CMP 62 JMA 135 JEQ 135 JME 80
;RESTA
#135 MOV AX,100 SUB 101 EAP 'LA RESTA ES' JMP 1 #140 MOV AX,69 CMP 62 JMA 145 JEQ 145
;SUMA
JME 80 #145 MOV AX,100 ADD 101 EAP 'LA SUMA ES' JMP 1 #150 LDT 'INTRODUSCA 1ER DATO' MOV 100,AX LDT 'INTRODUSCA 2DO DATO' MOV 101,AX INC 69 JMP 1 #170 MSG 'Entre el primer numero..(puede ser negativo)' IN AX,1 STF 1A MSG 'Entre el sgdo numero:' IN AX,1 STF 1C MSG 'Suma:' ADDF 1A OUT 1,AX LDF 1A SUBF 1C MSG 'Resta:' OUT 1,AX LDF 1A MULF 1C MSG 'Mult:' OUT 1,AX LDF 1A DIVF 1C MSG 'Div:' OUT 1,AX JMP 1 HLT