CMP Instruction 

The compare instruction (CMP) can be used to compare two numbers or test conditions
When comparing numbers, at most one of these numbers can reside in memory
The CMP instruction updates the arithmetic flags by performing: destination - source
Unlike the SUB instruction the destination operand is not affected
The values of the status flags are set according to the result of the subtraction
The flags can be tested by a subsequent conditional jump instruction

Format:

The CMP instruction has the following format:

	CMP destination, source

Observing the following rules:

The destination can be a register or memory operand
The source can be a register, memory operand, or an immediate operand
At most one of the operands may reside in memory.

A conditional jump instruction is usually used after a CMP instruction This gives the ability to split the program flow into one of two paths depending upon some logical condition.

As an example, the following code increments the AX register if BX is equal to CX.

CMP instruction
	   CMP BX, CX		;Compare BX to CX
	   JNE SkipStmt	;If BX ≠ CX skip
	   INC AX		;AX = AX + 1
SkipStmt :