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

add R1, R2

Флаг V будет установлен в 1, если в регистрах RI и R2 содержатся положительные числа, а результат их сложения окажется больше 127, или оба числа отрицательны, а результат будет меньше -128. Возможно, это не слишком понятно, но если рассмотреть пример с конкретными значениями, все станет гораздо яснее:

Idi R1, 100 ; Занести 0Ь00110100 в R1 и R2

Idi R2, 100

add R1, R2 ;R1 = R1 + R2

; = 100 + 100

; = 200

; = $С8 = 0b011001000

Десятичное число 200 в двоичной записи имеет значение бита 7 равное 1, что указывает на получение отрицательного результата число. Следовательно, после выполнения операции сложения флаг N будет установлен в 1. Но в данном случае вместе с флагом N будет также установлен в 1 флаг V, указывая, что произошло переполнение при обработке чисел со знаком.

Go to Top