Self modifying code is a programming technique where the program
modifies itself as it runs. This technique is generally frowned on
except when used in extremely limited ways, and has been largely made
impossible, undesirable, or useless by modern computer architectures.
Self modifying code was most useful on architectures with a
very limited number of registers and limited (less than 64k) ram.