Команда CPI - cравнить c константой

Описание:

Команда выполняет сравнение содержимого регистра Rd с константой. Содержимое регистра не изменяется. После этой команды можно выполнять любые условные переходы.

Операция:

(i) Rd = K
  Синтаксис Операнды: Счетчик программ:
(i) CPI Rd, K 0 < d < 31,0 < K <255 PC <- PC + 1


16-разрядный код операции:


0011 KKKK dddd KKKK

Булевы выражения регистра статуса (SREG)

I T H S V N Z C
- - Ы Ы Ы Ы Ы Ы


H: Rd3*K3+K3*R3+R3*Rd3
Устанавливается если есть заем из бита 3, в ином случае очищается
S: NEV, Для проверок со знаком
V: Rd7*K7*R7+ Rd7*K7*R7
Устанавливается если в результате операции образуется переполнение дополнения до двух, в ином случае очищается
N: R7
Устанавливается если в результате установлен MSB, в ином случае очищается
Z: R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается если результат $00, в ином случае очищается
C: Rd7*K7+K7*R7+R7*Rd7
Устанавливается если абсолютное значение K больше абсолютного значения Rd, в ином случае очищается
R: (Результат) после выполнения команды

Пример:

          cpi r19, 3 ; Сравнить r19 с 3
          brne error ; Перейти если r4 <> 3
                       . . .
error:    nop        ; Перейти по назначению (пустая операция)

Слов: 1 (2 байта)

Циклов: 1