UD2

En langage assembleur x86, l'instruction UD2 est un mnémonique pour U n d efined instruction.



Catégories :

Jeu d'instruction x86 - Architecture x86 - Microprocesseur

En langage assembleur x86, l'instruction UD2 est un mnémonique pour Undefined instruction (traduction : Instruction non définie).

L'instruction UD2 produit un opcode invalide, c'est-à-dire, qu'elle mime précisément le même processus dans le cas où le processeur rencontrerait un opcode qu'il ne connaît pas. Cette instruction est à réserver à des fins de tests seulement, pour générer particulièrement et seulement une erreur d'opcode invalide. C'est l'unique et unique but de cette instruction.

Drapeaux affectés

Aucun drapeau n'est affecté.

Exceptions générées

UD2 produit une exception de type UD (Undefined opcode, vecteur d'interruption numéro 6) et ce pour les trois modes d'opérations (Mode réel, Mode virtuel 8086, Mode protégé).

Exemple d'utilisation

Langages C ou 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;
}

Recherche sur Google Images :



"X86 Opcode and Instruction"

L'image ci-contre est extraite du site ref.x86asm.net

Il est possible que cette image soit réduite par rapport à l'originale. Elle est peut-être protégée par des droits d'auteur.

Voir l'image en taille réelle (640 x 480 - 90 ko - jpg)

Refaire la recherche sur Google Images

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/UD2.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu