yield from super().specifiers(record=record)
+class SatBaseRM(BaseRM):
+ def specifiers(self, record):
+ if self.N:
+ yield "sats"
+ else:
+ yield "satu"
+
+ yield from super().specifiers(record=record)
+
+
class NormalLDSTBaseRM(BaseRM):
def specifiers(self, record):
widths = {
yield from super().specifiers(record=record, mode="ff")
-class NormalSatRM(NormalBaseRM):
+class NormalSatRM(SatBaseRM, NormalBaseRM):
"""normal: sat mode: N=0/1 u/s, SUBVL=1"""
N: BaseRM.mode[2]
dz: BaseRM.mode[3]
yield f"dz"
if self.sz:
yield f"sz"
- if self.N:
- yield "sats"
- else:
- yield "satu"
yield from super().specifiers(record=record)
yield from super().specifiers(record=record, mode="ff")
-class LDSTImmSatRM(LDSTImmBaseRM):
+class LDSTImmSatRM(SatBaseRM, LDSTImmBaseRM):
"""ld/st immediate: sat mode: N=0/1 u/s"""
N: BaseRM.mode[2]
zz: BaseRM.mode[3]
def specifiers(self, record):
if self.zz:
yield f"zz"
- if self.N:
- yield "sats"
- else:
- yield "satu"
yield from super().specifiers(record=record)
yield from super().specifiers(record=record)
-class LDSTIdxSatRM(LDSTIdxBaseRM):
+class LDSTIdxSatRM(SatBaseRM, LDSTIdxBaseRM):
"""ld/st index: sat mode: N=0/1 u/s"""
N: BaseRM.mode[2]
dz: BaseRM.mode[3]
yield f"dz"
if self.sz:
yield f"sz"
- if self.N:
- yield "sats"
- else:
- yield "satu"
yield from super().specifiers(record=record)