Команда CPI - cравнить c константой
Описание:
Команда выполняет сравнение содержимого регистра Rd с константой. Содержимое регистра не изменяется. После этой команды можно выполнять любые условные переходы.
Операция:
| (i) |
Rd = K |
| |
Синтаксис |
Операнды: |
Счетчик программ: |
| (i) |
CPI Rd, K |
16 =< d =< 31, 0 < K <255 |
PC <- PC + 1 |
16-разрядный код операции:
Булевы выражения регистра статуса (SREG)
| 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
|