• Domingo 22 de Diciembre de 2024, 13:06

Autor Tema:  Usando Mul  (Leído 1615 veces)

tirengarfio

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Usando Mul
« en: Miércoles 12 de Marzo de 2008, 20:14 »
0
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
  1.  
  2. DOSSEG
  3.   .MODEL SMALL
  4.   .STACK 100h
  5.   .DATA
  6.  
  7.  
  8.  
  9. tabla   DW 5h DUP (2h, 9h, 3h, 7h, 1h)  &#59; Trabajaremos con el rango 0-65535,
  10.           &#59; tabla1<=50h
  11.  
  12.  
  13.   .CODE
  14.  
  15.  
  16. INICIO:
  17.  
  18.   mov ax, @data
  19.   mov ds, ax
  20.  
  21.  
  22.  
  23.   mov ax, 2710h    
  24.  
  25.   mul tabla[0h]&#59; Multiplicamos por 10.000 (2710h) el 1er elemento de tabla.
  26.     &#59; El resultado se guarda en DX AX
  27.  
  28.  
  29.   mov bx, ax&#59; Ahora vamos a mover el resultado almacenado en DXAX a BXCX.
  30.   mov cx, dx  
  31.  
  32.  
  33.    
  34.  
  35.  
  36.   mov ax, 3E8h&#59; Multiplicamos por 1.000 (3E8h) el 2º elemento de tabla.  
  37.  
  38.   mul tabla[1h]    
  39.  
  40.  
  41.  
  42. FIN:
  43.  
  44.   mov ah, 4ch
  45.   int 21h
  46.   end INICIO
  47.  


Un saludo

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Usando Mul
« Respuesta #1 en: Sábado 15 de Marzo de 2008, 13:33 »
0
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).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.