Anytime your 'Check Engine' light turns 'ON', a code will be stored in the ECM. This code will remain in memory until the battery power to the ECM is disconnected.
To find out what this code is:
1) Turn key 'on' (engine remains 'off')
2) Make sure the 'Check Engine' light is 'ON' steady. If the light is not 'ON' or is flashing, you have to fix that problem first. (See Chart A-1 in the Manual)
3) Next use a small paper clip to jumper ALCL terminals A and B together. These two terminals are located at the upper (top row) right side of the ALCL connector. Form the paper clip into a narrow 'U' and plug the ends into these two end terminals.
4) Now you need to count the 'flashes' of the 'Check Engine' light. It begins by flashing Code 12. (one flash - pause - two flashes - longer pause before next code - one flash - pause - two flashes - longer pause before next code - etc.) All code numers are flashed out 3X before the next code number starts. Write down the numbers. When code 12 starts again, you are done.
5) Look up the Code Number Diagnostic Chart in the Manual. Or if no Manual, go to:
http://www.syty.org/ 'Maintenance and Truck Care' 'Problem Diagnostics'
If you can find the complete Diagnostic Chart pages for the code you retrieve, study the first page, it will tell you what has to go wrong to set the code.
I like it when it says that xxx sensor reads too low for more than 2 seconds when engine is doing whatever, so you open the hood and spot that connector you forgot to plug back in.