#stswi r5,r3,0x02 7c a4 14 aa #stswi r5,r4,0x08 7c a4 44 aa DYN_S1: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 1)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S2: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 2)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S3: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 3)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S4: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 4)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S5: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 5)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S6: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 6)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } DYN_S7: regaddr is BITS_21_25 [ regaddr = ((BITS_21_25 + 7)&0x1f) * $(REGISTER_SIZE); ] { export *[register]:$(REGISTER_SIZE) regaddr; } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=0 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 & DYN_S6 & DYN_S7 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); storeRegister(DYN_S5,ea); storeRegister(DYN_S6,ea); storeRegister(DYN_S7,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=0 & BH & XOP_1_10=725 & BIT_0=0 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; sa:1 = BH; storeRegisterPartial(S,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=1 & BH=0 & XOP_1_10=725 & BIT_0=0 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=1 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); sa:1 = BH; storeRegisterPartial(DYN_S1,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=2 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=2 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); sa:1 = BH; storeRegisterPartial(DYN_S2,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=3 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=3 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); sa:1 = BH; storeRegisterPartial(DYN_S3,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=4 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=4 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); sa:1 = BH; storeRegisterPartial(DYN_S4,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=5 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=5 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); sa:1 = BH; storeRegisterPartial(DYN_S5,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=6 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); storeRegister(DYN_S5,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=6 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 & DYN_S6 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); storeRegister(DYN_S5,ea); sa:1 = BH; storeRegisterPartial(DYN_S6,ea,sa); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=7 & BH=0 & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 & DYN_S6 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); storeRegister(DYN_S5,ea); storeRegister(DYN_S6,ea); } :stswi S,RA_OR_ZERO,NB is OP=31 & S & RA_OR_ZERO & NB & BITS_13_15=7 & BH & XOP_1_10=725 & BIT_0=0 & DYN_S1 & DYN_S2 & DYN_S3 & DYN_S4 & DYN_S5 & DYN_S6 & DYN_S7 { ea:$(REGISTER_SIZE) = RA_OR_ZERO; storeRegister(S,ea); storeRegister(DYN_S1,ea); storeRegister(DYN_S2,ea); storeRegister(DYN_S3,ea); storeRegister(DYN_S4,ea); storeRegister(DYN_S5,ea); storeRegister(DYN_S6,ea); sa:1 = BH; storeRegisterPartial(DYN_S7,ea,sa); }