Programación General > ASM (Ensamblador)

 Usando Mul

(1/1)

tirengarfio:
Saludos,

viendo como se va ejecutando paso a paso este codigo de aqui abajo con CV, me he dado cuenta que tras ejecutar la linea "mul tabla[1h]"   el resultado es:

DX: 0023
AX: 2800


¿El resultado no deberia de ser este?:

DX:0000
AX:2328

¿Que estoy haciendo mal?



--- Código: Text --- DOSSEG  .MODEL SMALL  .STACK 100h  .DATA   tabla   DW 5h DUP (2h, 9h, 3h, 7h, 1h)  &#59; Trabajaremos con el rango 0-65535,           &#59; tabla1<=50h    .CODE  INICIO:   mov ax, @data  mov ds, ax       mov ax, 2710h       mul tabla[0h]&#59; Multiplicamos por 10.000 (2710h) el 1er elemento de tabla.    &#59; El resultado se guarda en DX AX     mov bx, ax&#59; Ahora vamos a mover el resultado almacenado en DXAX a BXCX.   mov cx, dx              mov ax, 3E8h&#59; Multiplicamos por 1.000 (3E8h) el 2º elemento de tabla.     mul tabla[1h]        FIN:   mov ah, 4ch  int 21h  end INICIO 

Un saludo

Eternal Idol:
Si usas tabla[1h] entonces toma el segundo y tercer byte (siendo en este caso 0900h) y lo que en realidad queres es tabla[2h] (siendo en este caso 0009h).

Navegación

[0] Índice de Mensajes

Ir a la versión completa