For hver instruksjon som utføres, så avanserer vanligvis programtelleren én instruksjon fremover i minnet. Unntak fra denne regelen er ved prosedyrekall, hopp og forgrening av instruksjonsflyt. I disse tilfellene blir en ny minneadresse lastet inn i programtelleren, noe som får prosessoren til å begynne å hente instruksjoner fra en annen del av minnet.