Maison > Article > développement back-end > Collection d'instructions IL en langage intermédiaire .NET Framework
IL est l'abréviation de Intermediate Language dans le framework .NET. À l'aide du compilateur fourni par le framework .NET, vous pouvez directement compiler le programme source dans un fichier .exe ou .dll. Cependant, le code du programme compilé à l'heure actuelle n'est pas du code machine qui peut être directement exécuté par le CPU, mais un. code de langue intermédiaire IL (Intermediate Language).
Nom | Description |
Ajouter | Ajoutez les deux valeurs et poussez le résultat vers sur la pile de calcul. |
Add.Ovf | Ajoute deux entiers, effectue une vérification de débordement et pousse le résultat sur la pile de calcul. |
Add.Ovf.Un | Ajoute deux valeurs entières non signées, effectue une vérification de débordement et pousse le résultat sur la pile d'évaluation. |
Et | Calcule le ET au niveau du bit de deux valeurs et pousse le résultat sur la pile d'évaluation. |
Arglist | Renvoie un pointeur non géré vers la liste d'arguments de la méthode actuelle. |
Beq | Si les deux valeurs sont égales, transférez le contrôle à l'instruction cible. |
Beq.S | Si les deux valeurs sont égales, transférez le contrôle à l'instruction cible (forme courte). |
Bge | Si la première valeur est supérieure ou égale à la deuxième valeur, transférez le contrôle à l'instruction cible. |
Bge.S | Si la première valeur est supérieure ou égale à la deuxième valeur, transférez le contrôle à l'instruction cible (forme courte). |
Bge.Un | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est supérieure à la deuxième valeur, alors le contrôle est transféré à l’instruction cible. |
Bge.Un.S | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est supérieure à la deuxième valeur, alors transfère le contrôle à l’instruction cible (forme courte). |
Bgt | Si la première valeur est supérieure à la deuxième valeur, transférez le contrôle à l'instruction cible. |
Bgt.S | Si la première valeur est supérieure à la deuxième valeur, transférez le contrôle à l'instruction cible (forme courte). |
Bgt.Un | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est supérieure à la deuxième valeur, alors le contrôle est transféré à l’instruction cible. |
Bgt.Un.S | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est supérieure à la deuxième valeur, alors transfère le contrôle à l’instruction cible (forme courte). |
Ble | Si la première valeur est inférieure ou égale à la deuxième valeur, transférez le contrôle à l'instruction cible. |
Ble.S | Si la première valeur est inférieure ou égale à la deuxième valeur, transférez le contrôle à l'instruction cible (forme courte). |
Ble.Un | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est inférieure ou égale à la deuxième valeur, alors contrôlez est transféré à l'instruction cible. |
Ble.Un.S | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est inférieure ou égale à la deuxième valeur, le contrôle est ensuite transféré à l'instruction cible (forme courte). |
Blt | Si la première valeur est inférieure à la deuxième valeur, transférez le contrôle à l'instruction cible. |
Blt.S | Si la première valeur est inférieure à la deuxième valeur, transférez le contrôle à l'instruction cible (forme courte). |
Blt.Un | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est inférieure à la deuxième valeur, alors le contrôle est transféré à l’instruction cible. |
Blt.Un.S | Lors de la comparaison de valeurs entières non signées ou de valeurs à virgule flottante non triables, si la première valeur est inférieure à la deuxième valeur, alors transfère le contrôle à l’instruction cible (forme courte). |
Bne.Un | Lorsque deux valeurs entières non signées ou valeurs à virgule flottante non triables ne sont pas égales, transférez le contrôle à l'instruction cible. |
Bne.Un.S | Lorsque deux valeurs entières non signées ou valeurs à virgule flottante non triables ne sont pas égales, transférez le contrôle à l'instruction cible (court Format). |
Box | Convertit une classe de valeur en une référence d'objet (type O). |
Br | Transfère sans condition le contrôle à l'instruction cible. |
Br.S | Transfère sans condition le contrôle à l'instruction cible (forme courte). |
Break | Envoie un signal à la construction de langage commun (CLI) pour informer le débogueur qu'un point d'arrêt a été atteint. |
Brfalse | Si la valeur est fausse, une référence nulle (Nothing en Visual Basic), ou zéro, transfère le contrôle à l'instruction cible. |
Brfalse.S | Si la valeur est fausse, une référence nulle ou zéro, transférez le contrôle à l'instruction cible. |
Brtrue | Si la valeur est vraie, non nulle ou non nulle, transférez le contrôle à l'instruction cible. |
Brtrue.S | Si la valeur est vraie, non nulle ou non nulle, transférez le contrôle à l'instruction cible (forme courte). |
Call | appelle la méthode indiquée par le spécificateur de méthode transmis. |
Calli | Invoque la méthode indiquée sur la pile de calcul (en tant que pointeur vers le point d'entrée) avec les paramètres décrits par la convention d'appel. |
Callvirt | Appelle une méthode à liaison tardive sur un objet et pousse la valeur de retour sur la pile de calcul. |
Castclass | Tente de convertir l'objet passé par référence à la classe spécifiée. |
Ceq | Compare deux valeurs. Si les deux valeurs sont égales, la valeur entière 1 (int32) est poussée sur la pile d'évaluation ; sinon, 0 (int32) est poussée sur la pile d'évaluation ; |
Cgt | Compare deux valeurs. Si la première valeur est supérieure à la deuxième valeur, la valeur entière 1 (int32) est poussée sur la pile d'évaluation, sinon 0 (int32) est poussée sur la pile d'évaluation ; |
Cgt.Un | Compare deux valeurs non signées ou non triables. Si la première valeur est supérieure à la deuxième valeur, la valeur entière 1 (int32) est poussée sur la pile d'évaluation, sinon 0 (int32) est poussée sur la pile d'évaluation ; |
Ckfinite | Lance une ArithmeticException si la valeur n'est pas un nombre fini. |
Clt | Compare deux valeurs. Si la première valeur est inférieure à la deuxième valeur, la valeur entière 1 (int32) est poussée sur la pile d'évaluation ; sinon, 0 (int32) est poussée sur la pile d'évaluation ; |
Clt.Un | Compare les valeurs non signées ou non triables valeur1 et valeur2. Si value1 est inférieur à value2, la valeur entière 1 (int32) est poussée sur la pile d'évaluation, sinon 0 (int32) est poussée sur la pile d'évaluation ; |
Constrained | Contraint le type sur lequel les appels de méthode virtuelle doivent être effectués. |
Conv.I | Convertit la valeur en haut de la pile de calcul en un entier natif. |
Conv.I1 | Convertit la valeur en haut de la pile de calcul en un int8, puis l'étend (remplit) en un int32. |
Conv.I2 | Convertit la valeur en haut de la pile de calcul en un int16, puis l'étend (remplit) en un int32. |
Conv.I4 | Convertissez la valeur en haut de la pile de calcul en un int32. |
Conv.I8 | Convertissez la valeur en haut de la pile de calcul en un int64. |
Conv.Ovf.I | Convertit la valeur signée en haut de la pile d'évaluation en un entier natif signé, en lançant une OverflowException en cas de débordement. |
Conv.Ovf.I.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un entier natif signé, en lançant une OverflowException en cas de débordement. |
Conv.Ovf.I1 | Convertit la valeur signée en haut de la pile d'évaluation en un int8 signé et l'étend à un int32, en lançant une OverflowException en cas de débordement . |
Conv.Ovf.I1.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un int8 signé et l'étend en un int32, et en cas de débordement Lève une exception OverflowException. |
Conv.Ovf.I2 | Convertit la valeur signée en haut de la pile d'évaluation en un int16 signé et l'étend à un int32, en lançant une OverflowException en cas de débordement . |
Conv.Ovf.I2.Un | Convertissez la valeur non signée en haut de la pile d'évaluation en un int16 signé et étendez-la à un int32, et en cas de débordement Lève une exception OverflowException. |
Conv.Ovf.I4 | Convertit la valeur signée en haut de la pile d'évaluation en un int32 signé, en lançant une OverflowException en cas de débordement. |
Conv.Ovf.I4.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un int32 signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.I8 | Convertit la valeur signée en haut de la pile d'évaluation en un int64 signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.I8.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un int64 signé, en lançant une OverflowException en cas de débordement. |
Conv.Ovf.U | Convertit la valeur signée en haut de la pile d'évaluation en un entier natif non signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.U.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un entier natif non signé, en lançant une OverflowException en cas de débordement. |
Conv.Ovf.U1 | Convertit la valeur signée en haut de la pile d'évaluation en un int8 non signé et l'étend à un int32, en lançant une OverflowException en cas de débordement . |
Conv.Ovf.U1.Un | Convertit la valeur non signée en haut de la pile d'évaluation en int8 non signé et l'étend à int32, déclenchant en cas de débordement OverflowException. |
Conv.Ovf.U2 | Convertit la valeur signée en haut de la pile d'évaluation en un int16 non signé et l'étend à un int32, en lançant une OverflowException en cas de débordement . |
Conv.Ovf.U2.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un int16 non signé et l'étend en un int32, augmentant en cas de débordement Exception de débordement. |
Conv.Ovf.U4 | Convertit la valeur signée en haut de la pile d'évaluation en un int32 non signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.U4.Un | Convertit la valeur non signée en haut de la pile d'évaluation en un int32 non signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.U8 | Convertit la valeur signée en haut de la pile d'évaluation en int64 non signé et lève une OverflowException en cas de débordement. |
Conv.Ovf.U8.Un | Convertit la valeur non signée en haut de la pile d'évaluation en int64 non signé et lève une OverflowException en cas de débordement. |
Conv.R.Un | Convertit la valeur entière non signée en haut de la pile d'évaluation en float32. |
Conv.R4 | Convertit la valeur en haut de la pile de calcul en float32. |
Conv.R8 | Convertit la valeur en haut de la pile de calcul en float64. |
Conv.U | Convertit la valeur en haut de la pile de calcul en un entier natif non signé, puis l'étend en un entier natif. |
Conv.U1 | Convertit la valeur en haut de la pile de calcul en un int8 non signé, puis l'étend en un int32. |
Conv.U2 | Convertit la valeur en haut de la pile de calcul en un int16 non signé, puis l'étend en un int32. |
Conv.U4 | Convertit la valeur en haut de la pile de calcul en un int32 non signé, puis la développe en un int32. |
Conv.U8 | Convertit la valeur en haut de la pile de calcul en un int64 non signé, puis la développe en un int64. |
Cpblk | Copie le nombre d'octets spécifié de l'adresse source vers l'adresse de destination. |
Cpobj | Copie le type de valeur à l'adresse de l'objet (&, * ou type int natif) vers l'adresse de l'objet cible (&, * ou type int natif). |
p | Divise deux valeurs et pousse le résultat sur la pile d'évaluation sous forme de flottant (type F) ou de quotient (type int32). |
p.Un | Divise deux valeurs entières non signées et pousse le résultat ( int32 ) sur la pile d'évaluation. |
Dup | Copie la valeur actuelle la plus élevée sur la pile de calcul, puis pousse la copie sur la pile de calcul. |
Endfilter | Transfère le contrôle de la clause de filtre de l'exception vers le gestionnaire d'exceptions Common Language Construct (CLI). |
Endfinally | Transfère le contrôle de la clause d'erreur ou de finale du bloc d'exception au gestionnaire d'exceptions Common Language Construct (CLI). |
Initblk | Initialise le bloc de mémoire spécifié situé à une adresse spécifique à la taille et à la valeur initiale données. |
Initobj | Initialise chaque champ du type valeur à l'adresse spécifiée à une référence nulle ou 0 pour le type primitif approprié. |
Isinst | Teste si une référence d'objet (de type O) est une instance d'une classe spécifique. |
Jmp | Quittez la méthode actuelle et passez à la méthode spécifiée. |
Ldarg | Charge l'argument (référencé par la valeur d'index spécifiée) sur la pile. |
Ldarg.0 | Charge le paramètre d'index 0 sur la pile d'évaluation. |
Ldarg.1 | Charge le paramètre d'index 1 sur la pile d'évaluation. |
Ldarg.2 | Charge l'argument d'index 2 sur la pile d'évaluation. |
Ldarg.3 | Charge le paramètre d'index 3 sur la pile d'évaluation. |
Ldarg.S | Charge l'argument (référencé par l'index abrégé spécifié) sur la pile d'évaluation. |
Ldarga | Charge l'adresse du paramètre sur la pile de calcul. |
Ldarga.S | Charge les adresses de paramètres au format court sur la pile de calcul. |
Ldc.I4 | Pousse la valeur fournie de type int32 sur la pile d'évaluation en tant que int32. |
Ldc.I4.0 | Poussez la valeur entière 0 sur la pile de calcul en tant que int32. |
Ldc.I4.1 | Poussez la valeur entière 1 sur la pile d'évaluation en tant que int32. |
Ldc.I4.2 | Poussez la valeur entière 2 sur la pile d'évaluation en tant que int32. |
Ldc.I4.3 | Poussez la valeur entière 3 sur la pile d'évaluation en tant que int32. |
Ldc.I4.4 | Poussez la valeur entière 4 sur la pile de calcul en tant que int32. |
Ldc.I4.5 | Poussez la valeur entière 5 sur la pile de calcul en tant que int32. |
Ldc.I4.6 | Poussez la valeur entière 6 sur la pile de calcul en tant que int32. |
Ldc.I4.7 | Poussez la valeur entière 7 sur la pile de calcul en tant que int32. |
Ldc.I4.8 | Poussez la valeur entière 8 sur la pile de calcul en tant que int32. |
Ldc.I4.M1 | Poussez la valeur entière -1 en tant que int32 sur la pile de calcul. |
Ldc.I4.S | Poussez la valeur int8 fournie sur la pile de calcul sous la forme d'un int32 (forme courte). |
Ldc.I8 | Pousse la valeur fournie de type int64 sur la pile d'évaluation en tant que int64. |
Ldc.R4 | Pousse la valeur fournie de type float32 sur la pile d'évaluation en tant que type F (float). |
Ldc.R8 | Pousse la valeur fournie de type float64 sur la pile d'évaluation en tant que type F (float). |
Ldelem | Charge l'élément à l'index de tableau spécifié en haut de la pile d'évaluation, selon le type spécifié dans la directive. |
Ldelem.I | Charge l'élément de type native int à l'index du tableau spécifié en tant que natif int en haut de la pile d'évaluation. |
Ldelem.I1 | Charge l'élément de type int8 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelem.I2 | Charge l'élément de type int16 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelem.I4 | Charge l'élément de type int32 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelem.I8 | Charge l'élément de type int64 à l'index de tableau spécifié en tant que int64 en haut de la pile d'évaluation. |
Ldelem.R4 | Charge l'élément de type float32 à l'index de tableau spécifié en haut de la pile d'évaluation en tant que type F (float). |
Ldelem.R8 | Charge l'élément de type float64 à l'index de tableau spécifié en haut de la pile d'évaluation en tant que type F (float). |
Ldelem.Ref | Charge l'élément contenant la référence d'objet à l'index de tableau spécifié en haut de la pile d'évaluation en tant que type O (référence d'objet). |
Ldelem.U1 | Charge l'élément de type unsigned int8 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelem.U2 | Charge l'élément de type unsigned int16 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelem.U4 | Charge l'élément de type unsigned int32 à l'index de tableau spécifié en tant que int32 en haut de la pile d'évaluation. |
Ldelema | Charge l'adresse de l'élément du tableau à l'index de tableau spécifié en tant que type & (un pointeur géré) en haut de la pile d'évaluation. |
Ldfld | Trouve la valeur du champ dans l'objet dont la référence est actuellement sur la pile de calcul. |
Ldflda | Trouve l'adresse d'un champ dans un objet dont la référence est actuellement sur la pile de calcul. |
Ldftn | Pousse un pointeur non géré (de type native int) vers du code natif qui implémente une méthode spécifique sur la pile d'évaluation. |
Ldind.I | Charge indirectement une valeur de type native int sur la pile de calcul en tant que natif int. |
Ldind.I1 | Charge indirectement une valeur de type int8 sur la pile d'évaluation en tant que int32. |
Ldind.I2 | Charge indirectement une valeur de type int16 sur la pile d'évaluation en tant que int32. |
Ldind.I4 | Charge une valeur de type int32 sur la pile d'évaluation en tant qu'indirection int32. |
Ldind.I8 | Charge une valeur de type int64 sur la pile d'évaluation en tant qu'indirection int64. |
Ldind.R4 | Charge une valeur float32 indirectement sur la pile de calcul en tant que type F (float). |
Ldind.R8 | Charge indirectement une valeur float64 sur la pile de calcul en tant que type F (float). |
Ldind.Ref | Charge une référence d'objet indirectement sur la pile d'évaluation en tant que type O (référence d'objet). |
Ldind.U1 | Charge indirectement une valeur de type non signé int8 sur la pile d'évaluation en tant que int32. |
Ldind.U2 | Charge indirectement une valeur de type unsigned int16 sur la pile d'évaluation en tant que int32. |
Ldind.U4 | Charge indirectement une valeur de type unsigned int32 sur la pile d'évaluation en tant que int32. |
Ldlen | Poussez le nombre d'éléments d'un tableau unidimensionnel de base zéro sur la pile d'évaluation. |
Ldloc | Charge la variable locale à l'index spécifié sur la pile d'évaluation. |
Ldloc.0 | Charge la variable locale à l'index 0 sur la pile d'évaluation. |
Ldloc.1 | Charge la variable locale à l'index 1 sur la pile d'évaluation. |
Ldloc.2 | Charge la variable locale à l'index 2 sur la pile d'évaluation. |
Ldloc.3 | Charge la variable locale à l'index 3 sur la pile d'évaluation. |
Ldloc.S | Charge une variable locale à un index spécifique sur la pile d'évaluation (forme courte). |
Ldloca | Charge l'adresse d'une variable locale située à un index spécifique sur la pile d'évaluation. |
Ldloca.S | Charge l'adresse d'une variable locale située à un index spécifique sur la pile d'évaluation (forme courte). |
Ldnull | Poussez une référence nulle (de type O) sur la pile d'évaluation. |
Ldobj | Copie l'objet de type valeur pointé par adresse en haut de la pile d'évaluation. |
Ldsfld | Poussez la valeur du champ statique sur la pile de calcul. |
Ldsflda | Poussez l'adresse du champ statique sur la pile de calcul. |
Ldstr | Pousse une nouvelle référence d'objet à la chaîne stockée dans les métadonnées. |
Ldtoken | Convertit un jeton de métadonnées en sa représentation d'exécution et le place sur la pile de calcul. |
Ldvirtftn | Pousse un pointeur non géré (de type native int) sur la pile d'évaluation pointant vers le code natif qui implémente la méthode virtuelle spécifique associée à l'objet spécifié. |
Quitter | Quitte une région de code protégée et transfère sans condition le contrôle à une instruction cible spécifique. |
Leave.S | Quitte la région de code protégée et transfère sans condition le contrôle à l'instruction cible (forme abrégée). |
Localloc | Alloue un nombre spécifique d'octets du pool de mémoire dynamique locale et pousse l'adresse du premier octet alloué (pointeur transitoire, type *) sur le calcul empiler. |
Mkrefany | Pousse une référence typée à une instance d'un type spécifique sur la pile d'évaluation. |
Mul | Multipliez deux valeurs et poussez le résultat sur la pile de calcul. |
Mul.Ovf | Multipliez deux valeurs entières, effectuez une vérification de débordement et transférez le résultat sur la pile de calcul. |
Mul.Ovf.Un | Multipliez deux valeurs entières non signées, effectuez une vérification de débordement et transférez le résultat sur la pile d'évaluation. |
Neg | Effectue la négation d'une valeur et pousse le résultat sur la pile de calcul. |
Newarr | Poussez une référence d'objet à un nouveau tableau unidimensionnel de base zéro dont les éléments sont d'un type spécifique sur la pile d'évaluation. |
Newobj | Crée un nouvel objet ou une instance d'un type valeur et pousse la référence d'objet (de type O) sur la pile de calcul. |
Nop | Espace Paps si l'opcode est patché. Bien que des cycles de traitement puissent être consommés, aucune opération significative n'est effectuée. |
Not | Calcule le complément au niveau du bit de la valeur entière en haut de la pile et pousse le résultat sur la pile d'évaluation sous le même type. |
Ou | Calcule le complément au niveau du bit des deux valeurs entières en haut de la pile et pousse le résultat sur la pile d'évaluation. |
Pop | Supprime la valeur actuellement en haut de la pile de calcul. |
Préfixe1 | Infrastructure. Cette commande est réservée. |
Préfixe2 | Infrastructure. Cette commande est réservée. |
Préfixe3 | Infrastructure. Cette commande est réservée. |
Préfixe4 | Infrastructure. Cette commande est réservée. |
Préfixe5 | Infrastructure. Cette commande est réservée. |
Préfixe6 | Infrastructure. Cette commande est réservée. |
Préfixe7 | Infrastructure. Cette commande est réservée. |
Préfixref | Infrastructure. Cette commande est réservée. |
Lecture seule | Spécifie que l'opération d'adresse de tableau suivante n'effectue pas de vérification de type au moment de l'exécution et renvoie un pointeur géré avec une mutabilité limitée. |
Refanytype | Récupère une balise de type intégrée dans une référence typée. |
Refanyval | Récupère une adresse (& type) intégrée dans une référence typée. |
Rem | Divise deux valeurs et pousse le reste sur la pile de calcul. |
Rem.Un | Divise deux valeurs non signées et pousse le reste sur la pile d'évaluation. |
Ret | Renvoie la méthode actuelle et pousse la valeur de retour (si présente) de la pile de calcul de l'appelant vers la pile de calcul de l'appelé. |
Rethrow | Lance à nouveau l'exception actuelle. |
Shl | Décale la valeur entière vers la gauche (remplie de zéros) du nombre de places spécifié et pousse le résultat sur la pile d'évaluation. |
Shr | Décale la valeur entière vers la droite (en préservant le signe) du nombre de places spécifié et pousse le résultat sur la pile d'évaluation. |
Shr.Un | Décale une valeur entière non signée vers la droite (remplie de zéros) du nombre de places spécifié et pousse le résultat sur la pile d'évaluation. |
Sizeof | Poussez la taille (en octets) du type de valeur fourni sur la pile de calcul. |
Starg | Stocke la valeur en haut de la pile d'évaluation dans l'emplacement d'argument à l'index spécifié. |
Starg.S | Stocke la valeur en haut de la pile d'évaluation à l'index spécifié dans l'emplacement de paramètre (forme courte). |
Stelem | Remplace l'élément du tableau à l'index donné par la valeur de la pile de calcul, dont le type est spécifié dans la directive. |
Stelem.I | Remplace l'élément du tableau à l'index donné par la valeur int native sur la pile de calcul. |
Stelem.I1 | Remplace l'élément du tableau à l'index donné par la valeur int8 sur la pile de calcul. |
Stelem.I2 | Remplace l'élément du tableau à l'index donné par la valeur int16 sur la pile de calcul. |
Stelem.I4 | Remplace l'élément du tableau à l'index donné par la valeur int32 sur la pile de calcul. |
Stelem.I8 | Remplace l'élément du tableau à l'index donné par la valeur int64 sur la pile de calcul. |
Stelem.R4 | Remplace l'élément du tableau à l'index donné par une valeur float32 sur la pile de calcul. |
Stelem.R8 | Remplace l'élément du tableau à l'index donné par une valeur float64 sur la pile de calcul. |
Stelem.Ref | Remplace l'élément du tableau à l'index donné par la valeur de référence de l'objet (de type O) sur la pile de calcul. |
Stfld | Remplace la valeur stockée dans un champ d'une référence d'objet ou d'un pointeur par une nouvelle valeur. |
Stind.I | Stocke une valeur de type native int à l'adresse fournie. |
Stind.I1 | Stocke une valeur de type int8 à l'adresse fournie. |
Stind.I2 | Stocke une valeur de type int16 à l'adresse fournie. |
Stind.I4 | Stocke une valeur de type int32 à l'adresse fournie. |
Stind.I8 | Stocke une valeur int64 à l'adresse fournie. |
Stind.R4 | Stocke une valeur float32 à l'adresse fournie. |
Stind.R8 | Stocke une valeur float64 à l'adresse fournie. |
Stind.Ref | stocke la valeur de référence de l'objet à l'adresse fournie. |
Stloc | Présente la valeur actuelle du haut de la pile d'évaluation et la stocke dans une liste de variables locales à l'index spécifié. |
Stloc.0 | Présente la valeur actuelle du haut de la pile d'évaluation et la stocke dans la liste de variables locales à l'index 0. |
Stloc.1 | Présente la valeur actuelle du haut de la pile d'évaluation et la stocke dans la liste de variables locales à l'index 1. |
Stloc.2 | Présente la valeur actuelle du haut de la pile d'évaluation et la stocke dans la liste de variables locales à l'index 2. |
Stloc.3 | Présente la valeur actuelle du haut de la pile d'évaluation et la stocke dans la liste de variables locales à l'index 3. |
Stloc.S | Présente la valeur actuelle du haut de la pile de calcul et la stocke à l'index dans la liste des variables locales (forme courte). |
Stobj | Copie une valeur du type spécifié de la pile d'évaluation dans l'adresse mémoire fournie. |
Stsfld | Remplace la valeur d'un champ statique par la valeur de la pile de calcul. |
Sub | Soustrait une valeur d'autres valeurs et pousse le résultat sur la pile de calcul. |
Sub.Ovf | Soustrait une valeur entière d'une autre valeur, effectue une vérification de débordement et pousse le résultat sur la pile de calcul. |
Sub.Ovf.Un | Soustrait une valeur entière non signée d'une autre valeur, effectue une vérification de débordement et pousse le résultat sur la pile d'évaluation. |
Switch | implémente la table de sauts. |
Tailcall | Exécutez l'instruction d'appel de méthode suffixée pour supprimer le cadre de pile de la méthode actuelle avant d'exécuter l'instruction d'appel réelle. |
Throw | Lance l'objet d'exception actuellement sur la pile d'évaluation. |
Non aligné | Indique que l'adresse actuellement sur la pile d'évaluation ne peut pas être associée à un ldind, stind, ldfld, stfld, ldobj, stobj, initblk, ou instruction cpblk Alignement de taille naturelle. |
Unbox | Convertit la représentation encadrée d'un type valeur en sa forme non boxée. |
Unbox.Any | Convertit la représentation encadrée du type spécifié dans la directive en sa forme non boxée. |
Volatile | Spécifie que l'adresse actuellement en haut de la pile de calcul peut être volatile et que le résultat de la lecture de cet emplacement ne peut pas être mis en cache, ou que plusieurs Une zone de stockage ne peut pas être annulée. |
Xor | Calcule le XOR au niveau du bit des deux valeurs en haut de la pile d'évaluation et pousse le résultat sur la pile d'évaluation. |
Résumé
Cet article vous donne uniquement un résumé des instructions IL sans les expliquer en détail. Un dicton ancien dit : il faut boire de l'eau une gorgée à la fois et marcher pas à pas sur la route. Si vous faites un pas trop grand, vous perdrez facilement votre temps. est un peu court, il y aura un prochain chapitre. Le prochain article portera toujours sur quelques instructions de base de l'IL. Je combinerai ma propre compréhension et essaierai d'écrire le texte aussi clairement que possible pour qu'il soit plus facile à comprendre pour tout le monde.
Ce qui précède est le contenu des instructions IL du langage intermédiaire .NET Framework. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !