             
             // SE_V_V (skip next instruction if register equals other register)
             0x5000: { arg in
-                let registerX = Int(arg & 0x100)
-                let registerY = Int(arg & 0x10)
+                let registerX = Int(arg & 0x0100)
+                let registerY = Int(arg & 0x0010)
 
                 if(self.V[registerX] == self.V[registerY])
                 {

            
            // SKNP_V (Skips the next instruction if the key which represents the valine in register V is not pressed)
            0xE0A1: { arg in
                let registerX = Int(arg)
                let valueX = Int8(self.V[registerX])
                
                if valueX != self.keyboard.currentKey

            
            // LD_B_V (Stores the binary decimal representation of the value of register V in I)
            0xF033: { arg in
                let registerX = Int(arg & 0x0100)
                var valueX = self.V[registerX]
                
                // With the binary decimal representation (unpacked) every single digit of a number is stored in a seperate byte
