Yes as Neale has linked to is good BUT always have in mind that the flavours of Gcode can be different on different controllers. G76 threading is one example.