La Web del Programador: Comunidad de Programadores
 
    Pregunta:  54905 - MULTIPLICAR UN REGISTRO DE 32 BITS POR UNO DE 16
Autor:  raquel hernandez
hola!!pos lo que pone el titulo.soy nueva en ensamblador y odavia no controlo mucho,pero se que debo hacer este programa sin hacer uso de los registros eax(32 BITS) tengo que arreglamerlas con los de 16.pero por mas k lo intento no veo la luz.podeis echarme una mano??
gracias!!

  Respuesta:  pablo jorquera tapia
Prueba con compiladores como el AS o el GAS (GNU Assembler) para x86, o el NASM. O si no, con una version no muy vieja de TASM para DOS o Win32.

  Respuesta:  pablo jorquera tapia
No no, espera, ¿ dije "usar un compilador de 32 bits"? lo que queria decir es que uses instrucciones como MUL o IMUL. no creo que puedas hacer una instruccion como MUL EAX, EBX, pretendendo ser EAX * EBX. Tiene que ser la instruccion destino sola (MUL EAX). Ahora si, como mencione puede ser culpa de un compilador antiguo como los diseñados para DOS de 16 bits, tendrias que buscar uno mas nuevo que pueda usar registros de 32 bits del 386.