> If b is zero... > > ...why do you use djnz then? > Darkfire has already answered, but let me explain it more precisely. "Djnz XYZ" is the same as "dec b \ jr nz,XYZ". Now what happens if B was 0 upon entering djnz? It overflows and the jump is TAKEN. Only if B was 1 the execution continues after djnz. PG