SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: Carlos Corona en Miércoles 12 de Noviembre de 2003, 02:01
-
Hola, necesito algo de ayuda, pues requiero hacer una calculadora en asm que reciba 4 dígitos desde el teclado y tenga las opciones de suma, resta, multiplicación y division... y el resultado mostrarlo en decimal....
alguien me puede ayudar?
-
En anteriores ocasiones se trato el tema de "calculadora en asm"; puedes ver lo que ya se hizo, si los viste y por lo que dices, entoces te pregunto ¿de que tamaño seran los digitos a ser procesados(los cuatro digitos)?
-
Pues sucede que no me expliqué bien... la calculadora pide dos datos, pero cada uno debe tener 4 dígitos... ese es el problema, y no lo sería tanto de no ser porque debe ser programada en Dos, bajo el Macro ensamblador (MASM)....
....
Hay acaso alguien que pueda hecharme una mano?
-
Bueno en assembler como en otros manejan los siguinetes tipos de datos:
Byte 8bits
word 16bits
dword 32bits
y demas, entoces si son numeros pueden ser enteros flotantes etc, supongo que trabajas con enteros y si son numeros de 4 digitos una word bastara entoces los principales problemas estaran en la division(divides un numero grande entre uno pequeño) y en la multiplicacion(entre 2 numeros grandes), bien entoces empecemos por lo facil suma y resta
(¿el usuatio debe ingresar los numeros? para el ingrso de numeros existen muchos programitas en anteriores "mensajes", no recuedo si hay para numeros de 4 digitos)
no sera tan dificil:
;;;****************
;;;;;SUMA
mov ax,num1
add ax,num2;; listo
;;RESTA
mov ax,num1
sub ax,num2;; listo
;(para mostrar numaros tambien ya ;habia ;programas hechos en este foro;[hay uno que muestra todo el ;numero que esta en AX])
int 20h ;fin
num1 dw 0
num2 dw 0
;;*****************
para no complicarse en la division y multiplicacion(aunque con 4 digitos, par al multiplicasion sera suficiente el resultado en DX:AX) con numeros conbinados que molesten.
;;**************************
;;;Multiplicacion:
mov ax,num1
mov bx,num2
mul bx
;;resultado en DX:AX
;;Division
mov ax,num1
mov bx,num2
xor dx,dx
div bx
;;resultado en AX
;;residuo en DX
;;*************************
y eso seria basicamente y resumidamente.
-
DOY MIL GRACIAS POR LA AYUDA QUE ME HAN PRESTADO, ME HA SERVIDO DE MUCHO!!! ^_^ !!
-
"..no hay de queso no mas de papa..."