Х је број компензације, сличан компензацији радијуса, вредност дужине алата се чува на адреси наведеној после Х.
Када се врши компензација дужине, алатка мора да се креће по з-оси: стварни положај алата под различитим командама, међу којима ће изјава „Г90 Г54(КСИЗ0;“ изазвати озбиљну несрећу ако нема Г43 наредба под условом компензације дужине У општим програмима Програмска реч током компилације је константа, а програм може да опише само један геометријски облик, па му недостаје флексибилност и свестраност.У неким случајевима машина алатка треба да делује у складу са одређена правила, као што је у циклусу бушења, корисник треба да буде у могућности да одреди параметре сечења према ситуацији. Захтева се да се општи програм не може постићи. Када се изврши аутоматско мерење, човек или машина алатке морају обради податке мерења.Ови подаци се чувају у променљивој, а општи програм се не може обрадити.У одговору на ову ситуацију, ЦНЦ машина алатка обезбеђује још један метод програмирања, односно макро програмирање .
У програму се користе променљиве, а функција програма се остварује додељивањем и обрадом варијабли. Ова врста програма са променљивим назива се макро програм. Формат макро програма Формат макро програма је исти као и потпрограм, а М99 се користи на крају за повратак у главни програм.
