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