SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: Snowhite66 en Jueves 13 de Diciembre de 2012, 16:27
-
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
-
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...