Condition: jumps if ZF = 0. JNE and JNZ are one instruction under two names. After CMP a, b it means a ≠ b, for signed and unsigned values alike; after arithmetic or logic it means the result was not zero. It is the usual instruction at the bottom of a loop that runs until something is found or a counter reaches zero.

Prints "Up to the dot" without the dot.
MOV SI, OFFSET TEXT1
NEXT1:
MOV DL, [SI] ; the next character
MOV AH, 02h ; DOS: print the character in DL
INT 21h
INC SI
CMP BYTE PTR [SI], "."
JNE NEXT1 ; until the full stop
TEXT1 DB "Up to the dot."

Idioms

DEC CX / JNZ TOP1 is a counting loop like LOOP, with any register as the counter and with no 127-byte worry, since MASM can lengthen JNZ. TEST AL, 80h / JNZ HIGH1 asks whether a bit is set. Note that a test at the bottom runs the body at least once; if the count may start at zero, test it first.

Range

On the 8086 JNE exists only in the SHORT form: two bytes, opcode 75h and a signed 8-bit displacement counted from the end of the instruction. The target must lie within −128..+127 bytes of that point. To go farther, invert the test and hop over an unconditional JMP, which can reach the whole segment. MASM 6 makes this rewrite itself when it finds the target out of range (its default OPTION LJMP), so the listing may show two instructions where you wrote one.

JE SKIP1 ; the opposite test, a short hop
JMP FARAWAY ; any distance in the segment
SKIP1:

Later CPUs

The 80386 added a near form of every conditional jump, 0Fh 85h followed by a 16-bit displacement (32-bit in 32-bit code), so from the 386 on JNE can reach anywhere in the segment. Code for the 8086 must stay with the short form.