While all correct, it's only so on a von Neuman architechture :-) It's not too hard to imagine a conceptual barrier between code memory and data memory, in which case a 'constant' (processor ISA allowing) could be inlined into the code memory rather than be located in the data memory (registers, stack, heap). Self modifying code isn't very common these days and the unified memory given by the von Neuman arch. is most often not very interesting in practise.