Partilhar via


Erro do compilador C2422

Sobreposição de segmento ilegal em 'operando'

Observações

O código assembly inline usa incorretamente um operador de substituição de segmento (dois-pontos) num operando. As causas possíveis incluem:

  • O registo que precede o operador não é um registo de segmentos.

  • O registador que precede o operador não é o único registador de segmento no operando.

  • O operador de substituição de segmento aparece dentro de um operador de indireção (entre colchetes).

  • A expressão que segue o operador de substituição de segmento não é um operando imediato ou um operando de memória.

Example

O exemplo a seguir gera C2422:

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