M0 or M00; M1 or M01
M0 is a program stop.
M01 is an optional stop. On real cnc's (and perhaps Deskcnc has the logic) a toggle switch sends a signal that the operator wishes to have the M01 active, or not. If it is active, then it behaves like an M0 and the program stops running. Pressing cycle start initiates the program again.
Of course, the control may require that you stop the spindle, stop the program, restart the spindle and continue, like so:
M5
M0
M3
M6 might be able to be reconfigured within the 'ladder' program to stop the spindle and stop the program. But usually, M6 starts the operations of an automatic toolchanger, so on a manually loaded machine, no logic may have been written for your M6.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)