Estoy realizando la serie de fibonacci en lenguaje ensamblador con el IDE radasm, el problema que tengo es con la funcion fibonacci, al ingresar un numero en el windowtext y hundir el boton calcular  no me calcula el termino de la serie pero si me calcula la serie si hunda varias veces el botón.que problema puede haber? Gracias
Mensaje
Inicializo variables
Funcion Fibonacci
				
			Mensaje
Código (asm) [Seleccionar] 
.ELSEIF uMsg==WM_COMMAND
		MOV EDX,lParam	
		.IF EDX == hwnd_CalFibo     ;Boton Calcular
	          INVOKE Obtener_Valores   ; Funcion Captua valores del windows text
			INVOKE Fibo,Canti1    ;llamo a la funcion Fibo
			INVOKE SetWindowText,hwnd_Resultado,ADDR ResultadoInicializo variables
Código (asm) [Seleccionar] 
.data
   Ultimo dd 0
   Actual dd 1
   Aux dd 0
Funcion Fibonacci
Código (asm) [Seleccionar] 
Fibo PROC Cantd01:DWORD
MOV ECX,Aux
.while ECX <=Cantd01
PUSH Ultimo
PUSH Actual
POP Siguiente
POP EDX
ADD Siguiente,EDX
INVOKE dwtoa,Siguiente,addr Resultado
PUSH Actual
POP Ultimo
PUSH Siguiente
POP Actual
INC ECX
RET
.endw
Fibo ENDP