The general pattern
D=<something that doesn't use A or M>
@SOMEWHERE
0;JMP
can have the D= merged into the jump.
For example, at the bottom of a loop:
@LOOP
D=D-1;JGT
But as Ivan said, this is mostly just a trick to save one instruction.
You might also find
this thread interesting. It's about jump instructions that change the A register.
--Mark