CMP R:
- This instruction compares the contents of the specified register with the contents of the accumulator.
- This comparison is performed by subtracting the contents of the specified register from the contents of the accumulator.
- Register R can be any 8-bit general purpose register like A, B, C, D, E, H and L.
- If A=R, then CY=0 and Z=1.
- If A>R, then CY=0 and Z=0.
- If A<R, then CY=1 and Z=0.
- S, AC and P are modified to reflect the status of subtraction.
- Z and CY are used to indicate the result of comparison.
- It is a one byte instruction.
- Register addressing mode is used.
Example:
If A = 12H and B = 14H
If A = 12H and B = 14H
CMP B ; This instruction will compare the contents of A and B and since A<B, carry flag will set.
CMP M:
- This instruction compares the contents of the memory location pointed by HL register pair with the contents of the accumulator.
- This comparison is performed by subtracting the contents of the memory location from the contents of the accumulator.
- If A=M, then CY=0 and Z=1.
- If A>M, then CY=0 and Z=0.
- If A<M, then CY=1 and Z=0.
- S, AC and P are modified to reflect the status of subtraction.
- Z and CY are used to indicate the result of comparison.
- It is a one byte instruction.
- Register indirect addressing mode is used.
Example:
If HL = 4320H, (4320H) = 33H and A = 33H
If HL = 4320H, (4320H) = 33H and A = 33H
CMP M ; This instruction will compare the contents of A with the contents of location 4320H and since A = M, carry flag will reset and zero flag will set.
CPI 8-bit data:
- This instruction compares the 8-bit data given in the instruction itself with the contents of the accumulator.
- This comparison is performed by subtracting the 8-bit data from the contents of the accumulator.
- If A=data, then CY=0 and Z=1.
- If A>data, then CY=0 and Z=0.
- If A<data, then CY=1 and Z=0.
- S, AC and P are modified to reflect the status of subtraction.
- Z and CY are used to indicate the result of comparison.
- It is a two byte instruction.
- Immediate addressing mode is used.
Example:
If A = 50H
CPI 30H ; This instruction will compare the contents of A with 30H and since A>30H, carry flag and zero flag both will reset.
Comments
Post a Comment