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) ; Trabajaremos con el rango 0-65535, ; tabla1<=50h .CODE INICIO: mov ax, @data mov ds, ax mov ax, 2710h mul tabla[0h]; Multiplicamos por 10.000 (2710h) el 1er elemento de tabla. ; El resultado se guarda en DX AX mov bx, ax; Ahora vamos a mover el resultado almacenado en DXAX a BXCX. mov cx, dx mov ax, 3E8h; 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
Ir a la versión completa