+ if (E->AM == AM65_ZPX) {
+ /* Invalidates all ZP registers */
+ RC_InvalidateZP (Out);
+ } else if (E->AM == AM65_ZP) {
+ if (RegValIsKnown (In->RegA)) {
+ switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+ case REG_TMP1:
+ Out->Tmp1 &= ~In->RegA;
+ break;
+ case REG_PTR1_LO:
+ Out->Ptr1Lo &= ~In->RegA;
+ break;
+ case REG_PTR1_HI:
+ Out->Ptr1Hi &= ~In->RegA;
+ break;
+ case REG_SREG_LO:
+ Out->SRegLo &= ~In->RegA;
+ break;
+ case REG_SREG_HI:
+ Out->SRegHi &= ~In->RegA;
+ break;
+ }
+ } else {
+ switch (GetKnownReg (E->Chg & REG_ZP, In)) {
+ case REG_TMP1:
+ Out->Tmp1 = UNKNOWN_REGVAL;
+ break;
+ case REG_PTR1_LO:
+ Out->Ptr1Lo = UNKNOWN_REGVAL;
+ break;
+ case REG_PTR1_HI:
+ Out->Ptr1Hi = UNKNOWN_REGVAL;
+ break;
+ case REG_SREG_LO:
+ Out->SRegLo = UNKNOWN_REGVAL;
+ break;
+ case REG_SREG_HI:
+ Out->SRegHi = UNKNOWN_REGVAL;
+ break;
+ }
+ }
+ }