i wanted to know if a jump instruction as JE must directly follow to a CMP instruction.
Until now, i always see that first a CMP comes and after that a JMP.
But today i have discover the following:

 ...
 CMP DWORD PTR SS:[EBP+0xC], EAX
 MOV ECX, DWORD PTR SS:[EBP+0x18]
 PUSH ESI
 MOV ECX, DWORD PTR SS:[EBP+0x18]
 MOV DWORD PTR SS:[ECX],EAX 
 MOV EAX, DWORD PTR SS:[EBP+0x10]
 MOV DWORD PTR SS:[EDI], 0x1
 JE SHORT crtdll.6C250E66
 ....

First of all, i am beginner. So i try to understand the assembly language. Logically i would say that the JE instruction is related to the CMP instruction at the beginning of that sequence. 
So, my self-explanation was that we first compare, then do some MOV and PUSH operations, after that all we are jumping, is that right?

But as i mentioned above, normally the jump comes in the next line after the comparison, could one say the reason for that late jump instruction here? Or is it normal?