Обнаружил странное поведение программы при записи по некоторому адресу:

%QW256;
%QW257;

p0 := ADR(%QW256);
p1 := p0 + 2;
p2 := p1 + 2;

p0^ := 5; (* запишет *)
p1^ := 6; (* запишет *)
p2^ := 7; (* не запишет, т.к. адрес просто не указан в коде!!! *)


Почему не происходит запись по указателю p2? Если вверху дописать: %QW258; то все заработает.