I am trying to write code in assembly that will print out the proper sequence until the entered iteration is reached. I am unable to enter the for loop, I am unsure why, however, it may be due to improper use with the cmp <dst>, <src> call - I don't think that is why but it may be. 
My data section looks like the following:
.data
    stmt1 db "Nathanial Mendes", 0Ah, 0
    prompt1 db "Enter maximum sequence count: ", 0
    fmt db "%d", 0
    sum db "Fib(%d) = %d", 0
    seq dd 0
This is what my code section looks like
.code 
    main PROC c
    push offset stmt1
    call printf
    ;Prompt for first int
    push offset prompt1
    call printf
    add esp, 4
    push offset seq
    push offset fmt
    call scanf
    add esp, 8
    ;Set up loop vars
    mov eax, 0 ; set i = 0
    mov ebx, 0
    mov ecx, 0
    mov edx, 0
;#############################
    beginloop:
    cmp eax, seq ; comparing the counter (eax) to the max iteration (seq) 
    jle endloop ; if it is false jump to the end of the loop
;#######
    ;code for Fib here
    ;print statement (prints out the current Fib, looks like Fib(iteration) = Fib_sum
    push eax
    push ebx
    push offset sum
    call printf
    add esp, 8
    ;next term calculations for the fib seq.
    add ecx, edx
    mov ebx, ecx
    mov ecx, edx
    mov edx, ebx
;#######
    ; set up next iteration of for-loop
    add eax, 1 ; add one to the iterator 
    jmp beginloop
;#######
    ;when the for loop is false
    endloop:
    ;Print (final) result
    push eax
    push ebx
    push offset sum
    call printf
    add esp, 8
;##########################################
    INVOKE ExitProcess,0
    main endp
end
Why it is that my for-loop never goes past the compare statement and goes directly to the endloop call?
 
    