             eorImmediate()
         case 0x45:
             cycle == 2 ? zeroPage() : eorZeroPage()
+        case 0x55:
+            cycle == 2 ? zeroPage() :
+                cycle == 3 ? zeroPageX() : eorZeroPage()
         case 0x4D:
             cycle == 2 ? absolute() :
                 cycle == 3 ? absolute2() : eorAbsolute()
         case 0x5D:
             cycle == 2 ? absolute() :
                 cycle == 3 ? absoluteX() :
+                cycle == 4 ? eorPageBoundary() : eorAbsolute()
+        case 0x59:
+            cycle == 2 ? absolute() :
+                cycle == 3 ? absoluteY() :
                 cycle == 4 ? eorPageBoundary() : eorAbsolute()
         case 0x51:
             cycle == 2 ? indirectIndex() :

            case 0xC4: return String(format: "CPY %02x", self.memory.readByte(self.pc))
            case 0xCC: return String(format: "CPY %04x", self.memory.readWord(self.pc))
            case 0xC6: return String(format: "DEC %02x", self.memory.readByte(self.pc))
            case 0xCE: return String(format: "DEC %04x", self.memory.readWord(self.pc))
            case 0xDE: return String(format: "DEC %04x,X", self.memory.readWord(self.pc))
            case 0xCA: return "DEX"
            case 0x88: return "DEY"
            case 0x49: return String(format: "EOR #%02x", self.memory.readByte(self.pc))
            case 0x45: return String(format: "EOR %02x", self.memory.readByte(self.pc))
            case 0x4D: return String(format: "EOR %04x", self.memory.readWord(self.pc))
            case 0x5D: return String(format: "EOR %04x,X", self.memory.readWord(self.pc))
            case 0x51: return String(format: "EOR (%02x),Y", self.memory.readByte(self.pc))
            case 0xE6: return String(format: "INC %02x", self.memory.readByte(self.pc))
            case 0xF6: return String(format: "INC %02x,X", self.memory.readByte(self.pc))

            case 0x81: return String(format: "STA (%02x,X)", self.memory.readByte(self.pc))
            case 0x91: return String(format: "STA (%02x),Y", self.memory.readByte(self.pc))
            case 0x86: return String(format: "STX %02x", self.memory.readByte(self.pc))
            case 0x96: return String(format: "STX %02x,Y", self.memory.readByte(self.pc))
            case 0x8E: return String(format: "STX %04x", self.memory.readWord(self.pc))
            case 0x84: return String(format: "STY %02x", self.memory.readByte(self.pc))
            case 0x94: return String(format: "STY %02x,X", self.memory.readByte(self.pc))
