Цитата(s.qwertyuiop @ Jun 17 2009, 11:48)

Интересный совет, осталось найти Си-компилятор...
То есть при вычитании C инверсный? Спасибо, не знал.
Спасибо, это все рассказывают в школе на уроках информатики. Флаг C устанавливается если произошел перенос из самого старшего бита, следовательно он является переполнением при беззнаковом сравнении. Для знакового же переполнением является перенос из предпоследнего разряда в последний, при этом устанавливается бит OV. Но признаком перехода по больше/меньше является не он, а "исключающее или" переполнения и знака. Обычно в процессорах есть либо такой флаг, либо команда перехода по значению этого "исключающего или". В пике я не нашел ни того, ни другого. Как же работать со знаковыми числами?
Да, такого флага там нет. Как известно из школьных уроков информатики, знаковые отрицательные числа удобно хранить
в дополнительном коде, в этом случае все операции выполняются через сложение.
В этом случае при сложении чисел с разным знаковым разрядом переполнение невозможно, а при сложении чисел с одинаковым
знаковым разрядом признаком переполнения может служить факт изменения знака у результата по сравнению с исходными слагаемыми.
Очевидно, этот механизм можно использовать и в ПИКах.
Относительно "где взять компилятор Си" - то для новичка этого форума простительно не знать, что бесплатный компилятор
входит в последние версии MPLABа.

Кстати, это очень удобный инструмент для поиска ответов на многие вопросы типа
"а как это делает ПИК". Вы пишите интересующую вас операцию на Си, потом переходите в окошко дизассемблерного варианта вашей программы
и смотрите как те или иные конструкции языка Си реализуются компилятором.