Site Logo

Compare Instructions

Website

Home | Previous | Next

The Compare CMP Command - Flags are Set.

When the simulator does a comparison using CMP, it does a subtraction of the two values it is comparing. The status register flags are set depending on the result of the subtraction. The flags are set but the answer is discarded.

  (Z)   If the values are equal, the subtraction gives a zero result and the (Z) zero flag is set.
  (S)   If the number being subtracted was greater than the other than a negative answer results so the (S) sign flag is set.
  If the number being subtracted is smaller than the other, no flags are set.

 Use JZ and JS or JNZ and JNS to test the result of a CMP command.

 

Direct Memory Comparison

Assembler Machine Code Explanation
CMP CL,[20] DC 02 20 Here the CL register is compared with RAM location 20. Work out CL - RAM[20].

DC is the machine instruction for direct memory comparison.
02 refers to the AL register.
20 points to RAM address 20.

 

Direct Register Comparison

Assembler Machine Code Explanation
CMP AL,BL DA 00 01 Here two registers are compared. Work out AL - BL

DA is the machine instruction for register comparison.
00 refers to the AL register.
01 refers to the BL register.

 

Immediate Comparison

Assembler Machine Code Explanation
CMP AL,0D DB 00 0D Here the AL register is compared with 0D, (the ASCII code of the Enter key). Work out AL - 0D.

DB is the machine instruction for register comparison.
00 refers to the AL register.
0D is the ASCII code of the Enter key.

Home | Previous | Next

© C Neil Bauers 2003