
RESULTADO CON PUNTO FLOTANTE
Publicado por Nash (1 intervención) el 18/11/2021 21:26:32
Buenas tardes, necesito saber como imprimir en pantalla un resultado con decimales.
este es el código que tengo, me hace la suma y se hace la división en 5 con el resultado de la suma, pero solo imprime el resultado correcto si es entero, pero si es con decimales no me da el resultado esperado
.data
motor1 db 0
motor2 db 0 dup(?)
motor3 db 0 dup(?)
motor4 db 0 dup(?)
motor5 db 0 dup(?)
promedio db 0
msj db "promedio de motores","$"
.code
main proc
mov ax,5
div ax
mov dx,offset msj
mov ah,09h
int 21h
printn ""
printn ""
print "Motor 1"
printn ""
printn ""
print "Valor 1: "
call scan_num
mov motor1[0],cl
mov promedio,cl
printn ""
print "Valor 2: "
call scan_num
mov motor1[1],cl
mov promedio,cl
printn ""
print "Valor 3: "
call scan_num
mov motor1[2],cl
mov promedio,cl
printn ""
print "Valor 4: "
call scan_num
mov motor1[3],cl
mov promedio,cl
printn ""
print "Valor 5: "
call scan_num
mov motor1[4],cl
mov promedio,cl
xor ax,ax
add al,motor1[0]
add al,motor1[1]
add al,motor1[2]
add al,motor1[3]
add al,motor1[4]
mov bl,5
div bl
printn ""
printn ""
print "del Promedio de operacion:"
call print_num
main endp
exit:
printn ""
print "Presione enter para salir....."
mov ah,0
int 16h
ret
define_print_string
define_print_num_uns
define_print_num
define_scan_num
este es el código que tengo, me hace la suma y se hace la división en 5 con el resultado de la suma, pero solo imprime el resultado correcto si es entero, pero si es con decimales no me da el resultado esperado
.data
motor1 db 0
motor2 db 0 dup(?)
motor3 db 0 dup(?)
motor4 db 0 dup(?)
motor5 db 0 dup(?)
promedio db 0
msj db "promedio de motores","$"
.code
main proc
mov ax,5
div ax
mov dx,offset msj
mov ah,09h
int 21h
printn ""
printn ""
print "Motor 1"
printn ""
printn ""
print "Valor 1: "
call scan_num
mov motor1[0],cl
mov promedio,cl
printn ""
print "Valor 2: "
call scan_num
mov motor1[1],cl
mov promedio,cl
printn ""
print "Valor 3: "
call scan_num
mov motor1[2],cl
mov promedio,cl
printn ""
print "Valor 4: "
call scan_num
mov motor1[3],cl
mov promedio,cl
printn ""
print "Valor 5: "
call scan_num
mov motor1[4],cl
mov promedio,cl
xor ax,ax
add al,motor1[0]
add al,motor1[1]
add al,motor1[2]
add al,motor1[3]
add al,motor1[4]
mov bl,5
div bl
printn ""
printn ""
print "del Promedio de operacion:"
call print_num
main endp
exit:
printn ""
print "Presione enter para salir....."
mov ah,0
int 16h
ret
define_print_string
define_print_num_uns
define_print_num
define_scan_num
Valora esta pregunta


0