It's often nice to restrict certain code to a certain CPU instruction set. It's
probably also desireable to allow newer instructions than the selected CPU to be
used as identifiers (but this is debatable; it makes sense for older code but
may make new code unnecessarily confusing). To be decided: the format of the CPU
directive in specifying what instructions to allow (ranges would probably be
useful as well as additional CPU feature flags.. but how to combine the two?).
Then the CPU setting needs to be tested against the CPU flags on each
instruction: if the instruction doesn't fit within the current CPU setting,
either a) treat it as a regular identifier/label, or b) error saying
"unsupported" or somesuch. A bitmask is probably the best way to test for the
CPU setting.