How do CMP, JE, JL, and JB differ when comparing integers?
Interactive Practice Mode
Formulate your thoughts or take notes before revealing the model solution.
Saved automatically
Model Answer & Deep-Dive Explanation
CMP sets arithmetic flags as if subtracting its second operand from its first without storing the result. JE tests equality through the zero flag. JL interprets the comparison as signed, using the sign and overflow flags; JB interprets it as unsigned, using the carry flag. The same bit patte can represent a negative signed value or a large unsigned value, so choosing the wrong conditional branch changes the meaning. State operand sizes and signedness before interpreting disassembly or writing comparison code.