it could be the o2 sensor, it is directly related to the fuel/ air mixture. I have an 89 cherokee and it failed the emissions as well. My hydro carbons are to high, the n0's just made it, but I replace the o2 sensor before going in and cO is only 11-(48 limit) while driving and at idle it is .01 (1 limit). The o2 sensor is located in the exhaust manifold , it screws in like a spark plug with wire connector on it. The o2 sensor sends an electrical signal to the computer , then the compter will adjust the fuel injection. I have back probed the signal wire before and it should vary with engine load ect. The signal is .1 volts dc to .9 volts dc , .1 volts being lean and .9 , rich. The engine will run with a faulty o2 sensor but will suffer fuel economy, power. When the sensor if faulty, the computer will lock in a loop mode and set the voltage at around .5 volts all the time. In other words, maybe change the o2 sensor, I think this is your problem. Now what about mine guys, high hc's, I'm waiting for a pickup coil for the distributor, have done the plugs , egr valve, wires, cap and rotor, o2 sensor, crank sensor, air filter, etc....