Teilen über


Compilerfehler C2422

Unzulässige Segmentüberschreibung in 'operand'

Bemerkungen

Inlineassemblycode verwendet fälschlicherweise einen Segmentüberschreibungsoperator (Doppelpunkt) für einen Operanden. Mögliche Ursachen sind:

  • Das Register vor dem Operator ist kein Segmentregister.

  • Das Register vor dem Operator ist nicht das einzige Segmentregister im Operanden.

  • Der Abschnittsüberschreibungsoperator wird in einem Dereferenzierungsoperator (Klammern) angezeigt.

  • Der Ausdruck nach dem Abschnittsüberschreibungsoperator ist kein sofortiger Operand oder Speicheropernd.

Example

Im folgenden Beispiel wird C2422 generiert:

// C2422.cpp
// processor: x86
int main() {
   _asm {
      mov AX, [BX:ES]   // C2422
      mov AX, ES   // OK
   }
}