МИКРОКОНТРОЛЛЕР AVR - Страница 76

МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Флаг S должен использоваться только со старшим байтом числа. При операциях с 16-, 24- и 32-разрядными числами значение флага S надо проверять только после завершения последней операции со старшим байтом числа. При операциях с младшими байтами используется флаг переноса С, как обычно при выполнении сложения и вычитания.

Возвращаясь к командам сложения и вычитания, надо заметить, что кроме их модификаций, учитывающих флаг переноса, существует еще ряд команд, на которые следует обратить внимание, так как они облегчают жизнь разработчика программ. Первая — это вычитание непосредственно заданного операнда (команды 36.22 и 36.23). Эти команды производят вычитание константы из числа, хранящегося в регистре, и заносят результат обратно в этот регистр (аналогичных команд сложения нет). Важной особенностью команд, использующих непосредственно заданное число в качестве второго операнда, является то, что они могут обращаться только к 16-ти старшим РОН.

Команды «subi» и «sbci» могут использоваться совместно, чтобы произвести вычитание 16-разрядной константы из содержимого пары регистров. Вычитание 16-разрядной константы из содержимого индексного регистра X может быть выполнено при помощи следующей последовательности команд:

Go to Top