Na začátku programu je tzv. hlavička programu, kde je název programu, připojené knihovny a deklarované proměnné. První proměnná I slouží pro inkrementaci použitého cyklu FOR. DS je řídicí datové slovo sloužící k ovládání KRM modulu. Další proměnná je krokyC. Do této proměnné se ukládá celkový počet kroků, o který se provede otáčení. Další jsou tři proměnné typu real. Proměnná uhelA udává hodnotu úhlu, na kterou se má ukazatel otočit, a uhelB udává hodnotu úhlu, na kterou právě ukazuje šipka ukazatele. Proměnná uhelC je výslednicí rozdílu předešlých proměnných a udává uhel, o který se má ukazatel otočit ve stupních. Proměnná smer je typu string a udává směr otočení kompasu. Poslední proměnnou je CW udávající, zda se bude motor otáčet po směru nebo proti směru hodinových ručiček.
Další částí programu je funkce UpString, která slouží pro převedení všech písmen v řetězci na velká písmena. Funkce funguje tak, že převádí jeden znak řetězce po druhém a vrací převedený řetězec.
Na začátku samotného programu jsou funkce, které vypíší na obrazovku základní informace o programu a žádost o stisknutí klávesy Enter. Po stisku klávesy se nejprve nastaví proměnná DS na hodnotu 9, což je hodnota výchozí polohy na nule. Tím se zajistí, že krokovací sekvence vlevo i vpravo bude začínat správně. Dále se nastaví hodnota proměnné uhelB na 0, jelikož je šipka ukazatele na výchozí pozici. Na obrazovku se uživateli vypíše informace o směru otočení a žádost o zadání směru. Spolu s žádostí se vypíší i směry, které může uživatel zadat. Po zadání směru dojde pomocí složené podmínky k přiřazení správného úhlu, na který se přesune šipka. Před krokováním se musí nejprve zjistit směr, kolik kroků bude potřeba. Pomocí rozdílu proměnných uhelA a uhelB se zjistí vzdálenost těchto dvou úhlů a uloží se do proměnné uhelC. Ze získané vzdálenosti úhlů se určí, kterým směrem a jak daleko se bude krokovat. Velikost krokovaného úhlu se ještě převede na počet kroků a pak se realizuje samotné krokování. Celý program se opakuje od místa zadání směru, dokud není místo směru zadáno písmeno Q. V tomto případě proběhne celý program na prázdno a ukončí se. Před samotným ukončením je uživatel informován o skončení programu a musí jej potvrdit stiskem klávesy Enter.
Po spuštění se nejprve vypíší na obrazovku informace o programu a výzva ke spuštění činnosti programu. Po stisknutí klávesy Enter je uživatel informován o tom, že je otočen na sever, a je požádán o zadání směru, kterým se chce otočit, přičemž se na obrazovku vypíší směry, které může uživatel zadat. Pokud uživatel místo zadání směru zadá písmeno Q, program se projede na prázdno a ukončí se. Po zadání směru se ručička ukazatele otočí tak, aby zvolený směr byl reprezentován nulou na ukazateli a šipka mířila na sever. Program se opakuje znovu od místa zadávání směru, dokud není ukončen.