Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: danielo- en 22 Noviembre 2010, 00:46 AM

Título: que relajo! multiplicar en ensamblador
Publicado por: danielo- en 22 Noviembre 2010, 00:46 AM
Hola a todos, vengo hoy bien enojado con el lenguaje ensamblador, estoy creando un programa, pero de la multiplicación no paso, y es que llevo todo el dia peliando con esto, y esque no entienfdo como funciona, si puedieran echarme una manita con esto :
Estoy multiplicando 2 numeros que producen un desbbordamiento para el registro ax, por lo que el resultado queda guardado en dx la parte alta y en ax la parte baja, hasta aqui todo bien, pero despues como le hago para utilizar ese nummero? es decir, si el resultado lo quiero implementar para otra multiplicación, como lo indico?
tengo:
Código (asm) [Seleccionar]

mov ax,10000
mov bx,7
mul bx
;ok, aora el resultado lo quiero multiplicar nuevamente,
;como hago esto??


como se hace esto? no tengo idea, xfa ayuda!!!
Título: Re: que relajo! multiplicar en ensamblador
Publicado por: Debci en 22 Noviembre 2010, 16:32 PM
Donde deja mul el número que ha multiplicado?
Si lo sabes no tienes mas que multiplicar el valor de dicho registro nuevamente.

Saludos
Título: Re: que relajo! multiplicar en ensamblador
Publicado por: Иōҳ en 22 Noviembre 2010, 19:40 PM
en eax =32bits

ax=16 bits

la verdad no se como multiplicas, sin saber donde queda el resultado <.<"
Título: Re: que relajo! multiplicar en ensamblador
Publicado por: danielo- en 23 Noviembre 2010, 07:51 AM
lo que pasa es que uso tasm, que solo maneja registros de 16 bits :(
y si se donde queda el resultado, queda en ax parte alta y dx parte baja, pero ya despues no se como usar ese numero que se a quedado dividido en 2 registros. :(
Título: Re: que relajo! multiplicar en ensamblador
Publicado por: Иōҳ en 23 Noviembre 2010, 19:20 PM
dependiendo del resultado

dx:ax

si ocupa 16 bits o menos, en ax, si ocupa mas de 16bits pone lo que alcanza en ax y lo restante en dx.

usa un debugger, es la mejor manera de que aprendas.