but why the extra 0 before D0?
If anything starts with a Letter, the assembler considers it to be either a Label, Variable name, or Text replacement value.

For it to know that it's a number, it has to start with a digit between 0-9. This is why Variables and Labels can't start with a number.

So any HEX numbers with A-F in the first digit must be preceeded by a 0.

In PBP, HEX numbers start with a $, so it can tell it's a number without the 0.
<br>