Theory:

 

Comparison of two number is done by checking value CY and ZF flags.























CYZF
(A)  < (R)10
(A)  = (R)01
(A)  > (R)00

After compare two value CY and ZF are set or reset according to value and depend on this two flag we can identify value is less than, greater than or equal. One number is stored in C050h and other number is 05h.

If ((A) = (R) ) then

stored in C051h

else if ((A) < (R) ) then

stored in C052h

else if ((A) > (R)) then

stored in C053h

 

Program:

LXI H C050h

MOV A,M

CPI 05h

JZ NEXT

JC THIRD

STA C053h

HLT

NEXT: JNC SECOND

HLT

SECOND: STA C051h

HLT

THIRD: STA C052h

HLT

Input:

 

C050: 06h

 

Output:

 

C053: 06h