[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Если имеется ввиду следующее:
Observe, however, that if another bit in this register is modified
using the SBI or CBI instruction, ACI will be
cleared if it has become set before the operation.
то это означает, что команды чтение-модификация-запись (каковыми и являются SBI и CBI)
затирают установленный флаг прерывания. Всё из-за того, что:
содержимое регистра читается в АЛУ
модифицируется нужный бит
значение !записывается! из АЛУ обратно в регистр
Всё из-за того, что сброс флага происходит единицей :-(
Между прочим хорошие грабли - сам нарывался.
НИ В КОЕМ СЛУЧАЕ НЕЛЬЗЯ ПОЛЬЗОВАТЬСЯ КОМАНДАМИ SBI И CBI ДЛЯ МОДИФИКАЦИИ
БИТ В ТОМ-ЖЕ РЕГИСТРЕ, ЕСЛИ НЕ ХОЧЕШЬ ПОТЕРЯТЬ ОТЛОЖЕННОЕ ПРЕРЫВАНИЕ.
E-mail: info@telesys.ru