Does C.MOP.1 write a register by default?
No. The official Zcmop rule says C.MOP.n writes no register by default.
Zcmop 16-bit C.MOP.1 writes no register in its base behavior; active Zicfiss uses this encoding for C.SSPUSH x1.
C.MOP.1 has fixed 16-bit encoding 0110000010000001; its assembly syntax has no explicit operands.
C.MOP.1 is a nullary 16-bit may-be-operation in Zcmop 1.0, with fixed encoding 0110000010000001 (0x6081). Unless redefined by another extension, it writes no register; the encoding permits a redefinition to read implicit x1. Zcmop depends on Zca. Zicfiss uses this encoding for C.SSPUSH x1; without implemented and active Zicfiss it reverts to Zcmop behavior. This page describes the base Zcmop behavior.
C.MOP.1 is a fixed nullary 16-bit encoding that writes no register under base Zcmop behavior. Active Zicfiss uses the same encoding for C.SSPUSH x1.
Understand this scenario with real code like «c.mop.1».
Understand this scenario with real code like «c.mop.1».
No. The official Zcmop rule says C.MOP.n writes no register by default.
Zcmop permits a redefinition to read implicit x1. Zicfiss uses this encoding for C.SSPUSH x1; when Zicfiss is absent or inactive, base Zcmop behavior applies.