que relajo! multiplicar en ensamblador

Iniciado por danielo-, 22 Noviembre 2010, 00:46 AM

0 Miembros y 1 Visitante están viendo este tema.

danielo-

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!!!

Debci

Donde deja mul el número que ha multiplicado?
Si lo sabes no tienes mas que multiplicar el valor de dicho registro nuevamente.

Saludos

Иōҳ

en eax =32bits

ax=16 bits

la verdad no se como multiplicas, sin saber donde queda el resultado <.<"
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

danielo-

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. :(

Иōҳ

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.
Eres adicto a la Ing. Inversa? -> www.noxsoft.net