ALKO, Доотлаживал, добился что прога запустилась. Прислал по почте.
Andrew771, Пока отлаживал, заметил, что иногда оптимизатор LikePascal-я влияет на логику. Когда результат работы с однобайтовой переменной остаётся двубайтовый в HL. При переполнении старший байт изменяется, естественно не сохраняется в ячейке переменной, но используется в следующих операциях.
Как илюстрация, иногда этот IF сработает:
byte1:=byte1-dby;
if byte1=65535 then
Когда команды идут сподряд. А если их разбить, вставив между ними что нибудь, то уже не сработает. Так как произойдёт повторная загрузка из ячейки byte1, с обнулением старшего байта. И тут уже нужно сравнивать с 255.




Ответить с цитированием