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

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

Команды инкремента и декремента (команды 36.26 и 36.27) являются еще одной формой явного сложения и вычитания. При этих операциях прибавляется или отнимается единица. Подобно командам инкремента и декремента в большинстве других микроконтроллеров и процессоров, выполнение этих операций не оказывает влияния на флаг переноса (хотя команды «adiw» и «sbiw» изменяют его значение). Но, несмотря на это операцию инкремента 16-разрядного числа можно выполнить довольно легко, как и в других процессорах:

Inc A ; Инкремент младшего байта 16-разрядного числа

Sbic SREG, Z ; Если результат равен 0, то инкремент старшего байта

inc A + 1

Декремент 16-разрядного числа выполняется не так просто, хотя для этого и используется такое же количество команд:

subi A, 1 ; Вычесть единицу из младшего байта

sbic SREG, С ; Если результат меньше нуля, то декремент

; старшего байта dec A + 1

Go to Top