Compiler produces different code for same line
Is there a store instruction beyond the last line you showed?
Optimizer looks to have decided it doesn't need to reload DPTR