Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
24 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
93832
Топик полностью
diper
(09.07.2007 12:51, просмотров: 1)
ответил
ReAl
на
А в какой ситуации может оказаться нужным сохранить биты результата операций (CZ...) в деструкторе крит.секции - т.е. при выходе из блока ?
Без volatile он там еще веселее оптимизирует :)
<c> // 223 if(MACRXLock.IsSignaled()) MOV.W SR, 0x2(SP) DINT NOP CMP.B #0x1, &MACRXLock + 1 MOV.W SR, SR <<<!!!!!!!! JEQ ??PHYDataIndication_2 // 224 return; // 225 else // 226 MACRXLock.Signal(); MOV.W #MACRXLock, R12 CALL #??Signal </c>
Ну
if( StatusReg & (1 <<SREG_I) ) __enable_interrupt();
, по идее, должен снять эту проблему. Но интересно он соптимизировал :-)
-
ReAl
(09.07.2007 12:58
,
)