реклама на сайте
подробности

 
 
> Warning[Pa082]: undefined behavior: the order of v, архитектура / асм 430-х
ig_z
сообщение Dec 24 2004, 14:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Исходные данные:
имеем обработчик
Код
#pragma vector=PORT1_VECTOR
__interrupt void PORT1ISR(void)
{
 KbDrvTask.SendEv(P1IFG,P1IES);
 P1IES ^= P1IFG;
 P1IFG = 0;
}

После компиляции получаем ворнинг
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement

на строки
KbDrvTask.SendEv(P1IFG,P1IES);
P1IES ^= P1IFG;

В листинге все выглядит красиво
Код
   151          __interrupt void PORT1ISR(void)
  \                     ??PORT1ISR:
   152          {
  \   000000   0D12                 PUSH.W  R13
  \   000002   0C12                 PUSH.W  R12
  \   000004   0F12                 PUSH.W  R15
  \   000006   0E12                 PUSH.W  R14
   153            KbDrvTask.SendEv(P1IFG,P1IES);
  \   000008   52122400             PUSH.B  &0x24
  \   00000C   5E422300             MOV.B   &0x23, R14
  \   000010   3C40....             MOV.W   #KbDrvTask, R12
  \   000014   B012....             CALL    #??SendEv
   154            P1IES ^= P1IFG;
  \   000018   D2E223002400         XOR.B   &0x23, &0x24
   155            P1IFG = 0;
  \   00001E   C2432300             MOV.B   #0x0, &0x23
   156          }
  \   000022   2153                 ADD.W   #0x2, SP
  \   000024   3E41                 POP.W   R14
  \   000026   3F41                 POP.W   R15
  \   000028   3C41                 POP.W   R12
  \   00002A   3D41                 POP.W   R13
  \   00002C   0013                 RETI


и в железе работает правильно, но неприятный осадок остался smile.gif
Кто нибудь может объяснить смысл ворнинга "порядок доступов к волатайлам неопределен"
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th July 2025 - 22:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016