UD2

I x86 maskinspråk , den UD2 instruksjon er en mnemonisk for U n d efined instruksjon (oversettelse: Ikke oppgitt instruksjon).

Beskrivelse

UD2-instruksjonen produserer en ugyldig opcode, det vil si at den etterligner nøyaktig samme prosess i tilfelle prosessoren møter en opcode som den ikke kjenner. Denne instruksjonen er kun reservert for testformål, for å generere spesifikt og bare en ugyldig opcode-feil. Dette er den eneste hensikten med denne instruksjonen.

Berørte flagg

Ingen flagg er tildelt.

Unntak generert

UD2 produserer en type unntak UD ( udefinert opode , avbruddsvektor nummer 6) og for alle tre driftsmodusene ( reell modus , virtuell 8086-modus , beskyttet modus ).

Eksempel på bruk

Språk C eller C ++

#include <windows.h> #include <iostream> bool __ud2(void) { __try{ __asm{UD2} } __except(GetExceptionCode() == EXCEPTION_ILLEGAL_INSTRUCTION ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { return true; } return false; } int main(void) { if ( __ud2() ) std::cout << "Exception d'opcode invalide rencontrée"; else std::cout << "Exception d'opcode invalide non rencontrée"; return 0; }

Relaterte artikler