Why isn't # needed before numbers with DC.W (Define Constant), only instructions?
#1
means immediate value, i.e. the value 1. Without the #
, it would mean the contents of the memory location 1.
With DC.*
you place values (I guess you can call them "immediate" values) into memory locations specified by X. It is not a processor instruction, but the instruction for the assembler to reserve memory and fill it with specified value(s).