Programación General > ASM (Ensamblador)

 Operaciones Aritmeticas

(1/1)

Snowhite66:
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:
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...

Navegación

[0] Índice de Mensajes

Ir a la versión completa