diff --git a/Astro8-Emulator/main.cpp b/Astro8-Emulator/main.cpp index 1b3df84..4bee71a 100644 --- a/Astro8-Emulator/main.cpp +++ b/Astro8-Emulator/main.cpp @@ -1705,14 +1705,14 @@ void Update() cout << "ldw change AReg to " << AReg << endl; break; case SWP: - CReg = AReg; - AReg = BReg; - BReg = CReg; + AReg = AReg ^ BReg; + BReg = AReg ^ BReg; + AReg = AReg ^ BReg; break; case SWPC: - BReg = CReg; - CReg = AReg; - AReg = BReg; + AReg = AReg ^ CReg; + CReg = AReg ^ CReg; + AReg = AReg ^ CReg; break; case PCR: AReg = programCounter - 1;