Why isn't # needed before numbers with DC.W (Define Constant), only instructions?

68000, assembly, immediate-operand, motorola

Solution

`#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).

Problem

I have this line of code: ``` X DC.W 5 ``` This means basically `X = 5` But shouldn't be `X DC.W #5` ? When using MOVE I need always `#` ``` MOVE.B #1,VAR ```

Original source