Administrator
|
To more directly answer your question, you should only have to implement the mnemonics that are explicitly given by the instruction set architecture (ISA). It is best to think of "AM" as not being two independent pieces of information that happen to be placed next to each other, but rather a code word that has a specific meaning.
Instead of "AM", they could have chosen "BOB" to mean that both the A and the M registers get written to, while SUE could mean write to the D and the M registers. You would not expect an assembler to recognize USE as being equivalent to SUE just because it uses the same three letters but in a different order. The same is true with the opcode mnemonics. D+M is not a mathematical expression, but merely a codeword. We would not expect +DM and DM+ to be recognized, so there is no reason to expect M+D to be recognized.
Because we try to choose mnemonics that make it easy for humans to remember what they mean, we can fall into the trap of reading more into them than is really there.
|