When coding in mixed C/asm mode, very difficult bug to find with something like :
// some C code
// some more assembly code
The displacement range of the jnb test is not checked : if the intermediate C code expand to more than 128 bytes the jump is done in the middle of the C code without any warning.
I agree that this is poor programming practises, but as least the assembler should give a warning.