Try pulling the spark plug out and cranking it. If then it's ok, then with the plug in turn it over to the point where it stops spinning. Turn the key off and by hand try and turn the motor until it spins free again. It you can do this a couple times, then it sound like a compression release problem. I would remove the valve cover(s) and check the valve lash.
Also, using jumper cables, Attach one end of the neg side to a clean point of the engine block and the touch the Pos directly to the starter terminal long enough to see if it cranks properly. If it does, there is probably a bad ground. Dis connect the battery completely and follow the black battery (Neg) wire and clean its connection to the frame or engine block. The red should go to the starter solenoid. Clean both connections there. If it only cranks well when jumped to the starter and the cable connections are god, then you probably have a bad safety switch or connection on one. You will have to search the inner-web for a wiring diagram.