Programación General > ASM (Ensamblador)
[problema] division en TASM
(1/1)
Samus428:
buenas , tengo un problemita con una división ojala me puedan dar una mano con este problema , llevo varios días sin poder dar solución , tengo una aplicación en TASM q debe hallar el multiplo de 3 en una serie de números , el problema radica es que cunado hago la división el programa se me paraliza y no tengo la mas mínima idea porque , aquí dejo el código por si alguien me puede dar una mano , Gracias
--- Código: ASM --- .model small.stack 1000h.data positivos db ' $'negativos db ' $' msj1 db 13,10,'Tirame un numero: ','$'msj2 db 13,10,'ES MULTIPLO DE 3 : ','$'msj3 db 13,10,'NO ES MULTIPLO DE 3 : ','$'var1 db ?cont db 0 .code.startup call limpiamov ah,09hlea dx, msj1 ;desplegar numero 1:int 21h call leer ;lee primer numerosub al,30h ;restar 30h para obtener el numeromov var1,al ;lo guardo en var1mov ah,09h mov cl,almov cont,1 ciclo: ;push cont mov al ,cont mov bl,3 div bl ; aqui es donde me pone problemas , si comento esta linea el programa corre cmp ah,'0' je multiplo jne nomult multiplo : mov ah,09h lea dx, msj2 ;desplegar numero 2: int 21h mov dl,cont ;mover al a dl para imprimir add dl,30h ;sumar 30 para obtener caracter mov ah,02h ;imprimir caracter int 21h inc cont nomult: mov ah,09h lea dx, msj3 ;desplegar numero 2: int 21h mov dl,cont ;mover al a dl para imprimir add dl,30h ;sumar 30 para obtener caracter mov ah,02h ;imprimir caracter int 21h inc cont ;pop c loop ciclo .exit limpia proc nearmov ah,00hmov al,03hint 10hretlimpia endp leer proc nearmov ah,01h;leer caracter desde el tecladoint 21h;lee primer caracterretleer endp end
cualquier ayuda se agradece !
Navegación
Ir a la versión completa