Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Resolved clash between
MR
and RM
identities
The `MR` and `RM` identies are very very similar, they both use the same operand type - namely registers and also what Intel refe- rers as `m` (memory) locations. Due to the `MR` identity being put before the `RM` identity in `encoder.h`'s `enum enc_ident` enumeration, the assembler has always had a tendency to use the `MR` encoder enum identity when a register and memory location is expressed. This is very problematic when the assembler matches the operand types with some instructions that *don't support* the `MR` identity, causing an op- code error to be thrown. Therefore to prevent the confusing behavior, we'll need to manually override this behavior by *manually* adding a if condition to change it when able.
- Loading branch information