MUL

MUL

de Maria Agustina Simoncelli Maneiro -
Número de respuestas: 2
Buenas! Tengo la duda general de como funciona MUL, en la cartilla dice DX.AX=AX*op1 y no entiendo la parte de DX.AX, en el parcial de febrero de 2015 lo usa como si en AX queda el resultado si no me equivoco. Agradezco su respuesta. 
En respuesta a Maria Agustina Simoncelli Maneiro

Re: MUL

de Gustavo Brown -
Agustina,
 Hay 2 variantes de la instrucción MUL, una que recibe un registro de 8 bits y otra que recibe un registro de 16 bits.
Para la variante que recibe un registro de 8 bits se realiza la multiplicación AL * r, ambos operandos de 8 bits y el resultado de 16 bits queda en el registro AX.
Para la variante que revibe un registro de 16 bits se realiza la multiplicación AX * r, ambos operandos de 16 bits y el resultado de 32 bits se guarda en dos registros, La parte alta del resultado en el registro DX y la parte baja en el registro AX.

Por ejemplo, supongamos que AL tiene el valor 0x81 y BL el valor 2, si ejecuto
  MUL BL
entonces AX queda con 0x102

Por otro lado si tengo en AX el valor 0x8123 y en BX el valor 2, si ejecuto
  MUL BX
entonces se realiza la cuenta 0x8123 * 2 que da 0x10246 donde la parte alta queda en DX y la baja en AX. O sea, DX queda con 0x1 y AX con 0x246

Saludos,
   Gustavo