• Jueves 28 de Marzo de 2024, 21:54

Autor Tema:  Operaciones Aritmeticas  (Leído 2555 veces)

Snowhite66

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Operaciones Aritmeticas
« en: Jueves 13 de Diciembre de 2012, 16:27 »
0
Hola;
Busco hacer el siguiente programa; (x^2 +y)-z, donde x=5, y=2, z=1. Esto es lo que hize pero el resultando no es 26. Que estoy haciendo mal?

.model small
.stack 100h
.data
marca db '>>>>'
   x db 5
   y db 2
   z  db 1
   resultado  db ?
.code
main proc
  mov ax, @data
  mov ds, ax       
  mov al, x       ; mueve x al registro al
  mul x            ; multiplico x por si mismo
  add  y, al       ; le sumo y
  sub  z, al       ; resto z
 
  mov resultado, al  ; el resultado se almacenara en al
  mov ax, 4c00h

  int 21h
main endp
end main

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re:Operaciones Aritmeticas
« Respuesta #1 en: Domingo 23 de Diciembre de 2012, 14:26 »
0
antes de:
 mov AL, x

añade esta línea:
 xor AX, AX

Para borrar su contenido, estás trabajando sobre al, pero n has borrado el contenido de ah, fíjate que al pasarlo por la pantalla, muestra el registro AX...
«Ma non troppo»
----> ModoVacaciones = False<----