Decreases B and jumps to a label if not zero. Note that DJNZ does a relative jump, so it can only jump between 128 bytes back/ahead.
Preserves all flags.
DJNZ is a very useful instruction when it comes to creating loops. See Control Structures to find out more about loops.
|B != 0||B = 0|