Некоторые компьютерные команды могут менять значение результата при повторном выполнении, потому что в них заложена возможность изменения работы программы в зависимости от заданных условий. 35
Например, это происходит при использовании команд переходов. 34 Они нарушают непрерывную последовательность исполнения команд, вынуждая выбирать и исполнять последующие команды с произвольно заданного адреса. 3
Также существует самоизменяющийся код, который может включать перезапись существующих инструкций или генерацию нового кода во время выполнения и передачу управления этому коду. 1
Кроме того, команды могут изменить состояние машины ещё до того, как они гарантировано завершат своё выполнение. 2