UD2

In linguaggio assembly x86 , l'UD2 istruzione è un mnemonico per U n d efined istruzione (traduzione: Definire istruzione).

Descrizione

L'istruzione UD2 produce un codice operativo non valido, ovvero imita lo stesso identico processo nel caso in cui il processore incontri un codice operativo che non conosce. Questa istruzione deve essere riservata solo a scopo di test, al fine di generare specificamente e solo un errore di codice operativo non valido. Questo è l'unico scopo di questa istruzione.

Flag interessati

Nessun flag è assegnato.

Eccezioni generate

UD2 produce un tipo di eccezione UD ( codice operativo non definito , vettore di interrupt numero 6) e per tutte e tre le modalità operative ( modalità reale , modalità virtuale 8086 , modalità protetta ).

Esempio di utilizzo

Linguaggi C o 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; }

Articoli Correlati