AVR ассемблер, команды знакового и беззнакового ветвления
Написал microsin   
15.12.2007

Обычно для сравнения чисел используют команду cp Rd, Rs или cpi Rd, K (простое вычитание Rd-Rs или Rd-K, результат которого не сохраняется и влияет только на флаги) и далее одну из команд перехода по условию BREQ, BRNE, BRCS, BRCC, BRGE, BRLT, BRSH, BRLO, BRMI, BRPL, BRHS, BRHC, BRTS, BRTC, BRVS, BRVC. Как выяснилось, эти команды бывают знаковые (signed) и беззнаковые (unsigned), что например дает разный результат сравнения 0x10 и 0x80, поскольку второе число отрицательное. Для беззнакового сравнения нужно применять, например BRLO вместо BRLT.

Последнее обновление ( 15.05.2010 )