For consistency and elegance, wouldn't it be best, in the case of operations which are self-modified by the code, to insert NOP command(s) (opcode #00) wherever they appear in the source code listing? That way the default value held at the pertinent address(es) would be zero, as is the case with the operands that are self-modified.
e.g. For your example of a direction label, list it in the source code as:
And then use: LD A, #3C [for INC A] or LD A, #3D [for DEC A] or XOR A [to restore the default NOP]
followed by: LD (S_M_C_direction), A
for movement in whichever direction (or no direction).
Edited by IRF, 11 July 2019 - 07:13 PM.