MISRA C++:2008 Rule 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