MISRA C ++:2008 правил 7-4-3

Ассемблер должен инкапсулироваться и изолироваться

Описание

Управляйте определением

Ассемблер должен инкапсулироваться и изолироваться.

Реализация Polyspace

Средство проверки отмечает операторы asm, если они не инкапсулируются в вызове функции.

Например, несовместимый оператор asm ниже находится в регулярном коде С, в то время как совместимый оператор asm инкапсулируется в вызове функционального Delay.

void Delay ( void )
  {
    asm( "NOP");//Compliant
  }
void fn (void)
  {
    DoSomething();
    Delay();// Assembler is encapsulated
    DoSomething();
    asm("NOP"); //Noncompliant
    DoSomething();
  }

Обменивайтесь сообщениями в отчете

Ассемблер должен инкапсулироваться и изолироваться.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: объявления
Категория: необходимый

Введенный в R2013b