Program zawiera cztery bloki ruchu, a każdy z nich określa inny rodzaj trajektorii narzędzia (lub osi) oraz parametry ruchu.
- G00 X0 Y0 Z0 oznacza szybkie pozycjonowanie. Oś/osiągnięcie współrzędnych (0,0,0) następuje w trybie przejazdu jałowego (bez kontrolowanego posuwu roboczego).
- G01 X10 Y10 F100 uruchamia interpolację liniową do punktu (10,10) z zadanym posuwem 100 (jednostka zależy od ustawień, np. mm/min). To typowy ruch roboczy po prostej.
- G02 X20 Y20 I10 J10 F200 to interpolacja kołowa zgodna z ruchem wskazówek zegara w bieżącej płaszczyźnie interpolacji. Punkt końcowy łuku to (20,20), a I i J opisują położenie środka okręgu względem punktu startu łuku (w wielu sterowaniach jako przesunięcia w osiach X i Y). Posuw ustawiono na 200.
- G03 X30 Y30 I15 J15 F300 analogicznie wykonuje łuk przeciwny do ruchu wskazówek zegara do (30,30) z parametrami I/J i posuwem 300.
Poprawna interpretacja ogólna jest taka, że obrabiarka najpierw dojedzie do (0,0,0), potem wykona odcinek liniowy, a następnie dwa odcinki łukowe. Odpowiedź mówiąca o braku przejazdu do (0,0,0) jest sprzeczna z obecnością pierwszego bloku G00. Stwierdzenie, że wystąpią tylko ruchy liniowe, pomija G02 i G03, które jednoznacznie wskazują interpolację kołową. Teza o braku ruchu z powodu "niepoprawnego kodu" jest zbyt daleko idąca: choć w praktyce interpretacja łuków zależy od ustawień modalnych (np. płaszczyzny, trybu współrzędnych), sam zapis nie jest z definicji niewykonalny i standardowo prowadzi do ruchów liniowych i łukowych.