x86 assembly function that determines whether an array is continuous
My thoughts, in no particular order:


I'm ok with the comments.  Some things seem obvious to me, but I'd rather have an unneeded obvious comment than have something that ISN'T obvious (to me) lacking a comment.
The label names seem fine.
You might want to include the C prototype as a comment in the asm code.  If someone wants to use this code, being able to copy/paste this into their C code might be valuable.
You might want to special case handling the first array entry.  Not much point in comparing the value you just read with the memory location you just read it from.  Maybe inc edx right before continuity_loop and move the inc ecx to right after?
How about changing the return codes so that -1 indicates success, 0 indicates bad length, and >0 indicates the mismatched index?  This lets you return more useful information than just 'failed'.  Also, it helps with how often you have to set eax (hint: move the xor eax, eax up after the push; then eax already contains the 'right' return value in 2/3 cases).
Spacing problem on inc     ecx?


Note I haven't tried the things I'm suggesting.  Sometimes things look good in abstract, but don't work out as neatly when you actually try to write them.

There might be some way to tighten up continuity_loop, but (other than moving the inc ecx) I'm not seeing it right now.  If you end up making the other changes, I can give it a second look.