etalon="satu", sign=False)
+@_dataclasses.dataclass(eq=True, frozen=True)
+class SpecifierMR(Specifier):
+ @classmethod
+ def match(cls, desc, record):
+ if desc != "mr":
+ return None
+
+ return cls(record=record)
+
+ def assemble(self, insn):
+ rm = insn.prefix.rm.select(record=self.record)
+ rm.mode.sel = 0
+ rm.mr = 1
+ rm.RG = 0
+
+
+@_dataclasses.dataclass(eq=True, frozen=True)
+class SpecifierMRR(Specifier):
+ @classmethod
+ def match(cls, desc, record):
+ if desc != "mr":
+ return None
+
+ return cls(record=record)
+
+ def assemble(self, insn):
+ rm = insn.prefix.rm.select(record=self.record)
+ rm.mode.sel = 0
+ rm.mr = 1
+ rm.RG = 1
+
+
class Specifiers(tuple):
SPECS = (
SpecifierW,
SpecifierEls,
SpecifierSatS,
SpecifierSatU,
+ SpecifierMR,
+ SpecifierMRR,
)
def __new__(cls, items, record):