Имелось ввиду, то, что у меня в настройках компилятора по-умолчанию стоит unsigned. Думал будут мысли по существу вопроса, так и не понял куда копать? Почему при превышении порога размера программы в 2^16, суммы (в программе и линкере) начинают считаться по-разному? Пространство после кода программы забито как раз 0xFF, может дополнительно суммируется еще один байт после программы? Но почему и как это связано с размером кода?