pSrc=4545988
pEnd=pSrc+3=4545991
Выполняем цикл:
pSrc=4545988, pEnd=4545991, pSrc^=16, Inc(pSrc)
pSrc=4545990, pEnd=4545991, pSrc^=17, Inc(pSrc)
pSrc=4545992, pEnd=4545991 <<<<-- Все, тут экипаж прощается с нами,
так как не выполняется условие цикла (pSrc < pEnd)
Итого просмотрели только ДВА значения вместо ТРЕХ и до значения 18 не дошли.
Команда Inc(pSrc) честно увеличивает счетчик на 2, так как psrc,pend объявлены как pword
Версия компилятора - Delphi 7. Это я в процессе адаптации компилятора FPC 2.2.2 наткнулся на это.
Самое смешное, что в FPC это работает ! Функция НАХОДИТ значение 18 ! А в Delphi - не находит

Ничего не понимаю, или здравый смысл мне изменил.
========================================================================================
========================================================================================
========================================================================================
P.S. По поводу моих слов о "помойке". Я нисколько не имею желания нападать на компилятор моего любимого языка, на котором (языке) я программирую уже почти 20 лет (с 1989 года), но хотите, я Вам вышлю полные исходные коды компилятора Borland Pascal 7.0 - и самого компилятора, и среды разработки ?
И вы просто сравните то, что ТАМ, с тем, что мы имеем в исходниках FPC ?