CMP L compares Accumulator(A) contents with L register. CMP M compares Accumulator(A) contents with 8-bit data stored in the memory location as stored in H-L register pair. That's two different operations totally so why is there the same opcode BD for them both.
PS: Yeah I know that few Instructions have same opcode if they perform about the same task and have different names for referring to the same task. But what is it in this case?