MSG '1 = SUMA' MSG '2 = RESTA' MSG '3 = MULTIPLICACIN' MSG '4 = DIVISIN' MSG LDT 'INGRESE SELECCIN'; Capturamos por teclado el numero acorde a operacion. CMP 80 ;Comparamos con el # preestablecido en memoria 80, que es 1. JEQ 40 ;Si son iguales salte a la memoria 40 ejecute a partir de hay. ; de lo contrario ... CMP 81 ;Comparamos con el numero preestablecido en memoria 81, que es 1. JEQ 50 ;Si son iguales salte a la memoria 50 ejecute a partir de hay. ; de lo contrario ... CMP 82 ;Comparamos con el numero preestablecido en memoria 82, que es 1. JEQ 60 ;Si son iguales salte a la memoria 60 ejecute a partir de hay. ; de lo contrario ... CMP 83 ;Comparamos con el numero preestablecido en memoria 83, que es 1. JEQ 70 ;Si son iguales salte a la memoria 70 ejecute a partir de hay. ; de lo contrario ... MSG 'ERROR DE DIGITACION INTENTELO DE NUEVO';Imprima mensaje de errror JMP 0 ;Salta incondicionalmente y presenta nuevamente el menu seleccion, ;MENU DE SUMA #40 MSG 'SUMA' MSG 'Ingrese numero' IN AX,1 ; Lee de puerto 1 el teclado y permite que sean numeros flotantes) ; esta instruccion remplaza a LTD. STF 2A ; Almaceno el numero de 32 bits en 2A y 2B, en 2A quedan los ;16 bits mas significativos y en 1B los 16 menos significativos. MSG 'Ingrese numero' IN AX,1 ; Capturamos segundo numero y queda en AX. ADDF 2A ; Sumamos a AX el numero guardado en 2A. MSG 'RESULTADO' OUT 1,AX ; Imprimimos en pantalla el resultado a travez del pto 1. HLT ; Termina programa. ;MENU DE RESTA #50 MSG 'RESTA' MSG 'Ingrese numero' IN AX,1 STF 2A MSG 'Ingrese numero' IN AX,1 STF 2C ; Almaceno el numero de 32 bits en 2C y 2D, LDF 2A ; Cargo en AX la memoria 2A. SUBF 2C ; Resta a AX el valor de 2C MSG 'RESULTADO' OUT 1,AX HLT ;MENU DE MULTIPLICACION #60 MSG 'MULTIPLICACION' MSG 'Ingrese numero' IN AX,1 STF 2A
MSG 'Ingrese numero'
IN AX,1 MULF 2A ; Multiplicacion de AX por lo que hay en 2A. MSG 'RESULTADO' OUT 1,AX HLT ;MENU DE DIVISION #70 MSG 'DIVISION' MSG 'Ingrese numero' IN AX,1 STF 2A MSG 'Ingrese numero' IN AX,1 STF 2C LDF 2A DIVF 2C ; Division de AX por lo que hay en 2A. MSG 'RESULTADO' OUT 1,AX HLT ; DEFINIMOS VALORES A MEMORIA #80 0000000000000001 ; Asignamos 0000000000000010 ; Asignamos 0000000000000011 ; Asignamos 0000000000000100 ; Asignamos