Udostępnij za pomocą


Błąd kompilatora C2422

niedozwolone zastąpienie segmentu w ciągu "operand"

Uwagi

Wbudowany kod zestawu niepoprawnie używa operatora przesłonięcia segmentu (dwukropka) na operandzie. Ta sytuacja może mieć następujące przyczyny:

  • Rejestr poprzedzający operator nie jest rejestrem segmentów.

  • Rejestr poprzedzający operator nie jest jedynym rejestrem segmentów w operand.

  • Operator przesłonięcia segmentu jest wyświetlany w obrębie operatora pośredniego (nawiasy kwadratowe).

  • Wyrażenie następujące po operatorie przesłonięcia segmentu nie jest bezpośrednim operandem ani operandem pamięci.

Example

Poniższy przykład generuje C2422:

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