The P0650 represents an issue with the actual check engine light (malfunction indicator lamp). Ignition voltage is supplied directly to the malfunction indicator lamp (MIL). The powertrain control module (PCM) controls the lamp by grounding the control circuit via an internal switch called a driver. The primary function of the driver is to supply the ground for the component being controlled. The driver has a fault line which is monitored by the PCM. When the PCM is commanding a component ON, the voltage of the control circuit should be low, near 0 volts. When the PCM is commanding the component control circuit OFF, the voltage potential of the circuit should be high, near battery voltage. If the fault detection circuit senses a voltage other than what is expected, the fault line status will change causing the diagnostic trouble code (DTC) to set.
I would not feel that this problem would be linked to the drivability issue that you have mentioned. That type of issue can be caused by many thing. I would advise you to verify that items such as tune up items have all been checked and replaced if needed, mainly the fuel filter, and air filter, spark plugs and wires. Beyond these items though, a class 2 scan tool would be helpful. This would allow for you to watch engine control sensors as they operate to verify that they are functioning as they should. I have seen items such as the fuel pump, crank position sensor, camshaft position sensor, ignition module, and even the engine control module cause for this type of problem. Feel free to contact me with any questions! Good luck!