Читайте также:
|
|
Арифметико-логическое устройство (ALU) – предназначено для выполнения арифметических и логических операций над двоичными восьмиразрядными операндами. Состав ALU: сумматор, комплекты двухвходовых логических элементов И, ИЛИ, НЕ, исключающее ИЛИ по 8 элементов в каждом комплекте и аппаратный умножитель.
Регистр состояния процессора SREG предназначен для хранения признаков (флагов) результатов выполнения операции. Признаки результатов операций используются для организации ветвящихся и циклических программ. Кроме того, в регистр SREG включены: бит разрешения всех прерываний и бит копии.
Формат регистра состояния SREG микроконтроллера приведен на рис.5.
I: бит разрешения всех прерываний. Для разрешения прерываний этот бит должен быть установлен (=1). Разрешение конкретного прерывания выполняется регистрами маски прерывания GICR и TIMSK. Если бит I
Регистр coстояния (статуса) SREG
Номер разряда | ||||||||
Имена битов | I | T | H | S | V | N | Z | C |
Рисунок 5
очищен (=0), то ни одно из прерываний не обрабатывается. Бит I аппаратно сбрасывается после входа в процедуру обработки прерывания и устанавливается (разрешая последующие прерывания) командой RETI. Для разрешения вложенных прерываний в обработчике прерываний он должен быть установлен.
Т: бит сохранения копии. В микроконтроллере отсутствует команда пересылки битов, поэтому такая операция выполняется с использованием бита Т т.е. он используется в качестве буфера.Командой BST бит регистра общего назначения копируется в бит Т, командой BLD бит Т копируется в бит регистра общего назначения.
Н: флаг полупереноса. Устанавливается при наличии переноса между тетрадами при выполнении ряда арифметических операций.
S: бит знака представляет собой операцию исключающее ИЛИ (N V) над флагами отрицательного значения (N) и флага переполнения (V) (см. ниже). Флаг устанавливается, если при операции вычитания с учетом знаков первый операнд меньше второго операнда и сбрасывается, если первый операнд больше или равен второму.
V: флаг переполнения устанавливается, если знак результата в операциях со знаковыми операндами не соответствует знакам операндов, т.е. поддерживает арифметику дополнения до двух. Например, при сложении знаковых чисел +100 (01100100) и +50(00110010) получается восьмиразрядный отрицательный результат 10010110 (должно получиться 010010110 т.е. девять разрядов). Восьми разрядов недостаточно для размещения результата.
N: флаг отрицательного значения устанавливается при отрицательном результате арифметических и логических операций, т.е. бит является копией левого (знакового) разряда результата операции.
Z: флаг нулевого значения устанавливается при нулевом результате ряда арифметических и логических операций.
С: флаг переноса устанавливается при наличии переноса в арифметических и логических операциях, а также в операциях сдвига.
Дата добавления: 2015-07-20; просмотров: 191 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Организация памяти данных | | | Методы адресации. Форматы команд |