Brevet FR3045858A1 (20170623)
REVENDICATIONS1. Procédé de chargement, au sein d'une mémoire (MEM) d'une entité électronique (C), d'une séquence (APPL) de codes d'instruction exécutables par une machine virtuelle résidant dans l'entité électronique (C), caractérisé par les étapes suivantes : - détection (E4 ; E12) d'un code d'instruction contenu dans une liste prédéterminée de codes d'instruction ; - conversion (E8) d'une paire formée du code détecté et d'un code situé dans la séquence (APPL) à une position relative prédéterminée par rapport au 10 code détecté, en une paire distincte de codes (F(P)) selon une règle prédéterminée; - écriture (E14) de la paire distincte (F(P)) dans la mémoire (MEM) en remplacement de la paire formée du code détecté et du code situé à ladite position relative. 15\n<CLM>\1\tProcédé de chargement selon la revendication 1, dans lequel le code situé à une position relative prédéterminée par rapport au code détecté est un code contigu, dans la séquence, au code détecté.\n<CLM>\1\tProcédé de chargement selon la revendication 2, dans lequel le code contigu est le code précédant, dans la séquence (APPL), le code détecté. 20\n<CLM>\1\tProcédé de chargement selon l'une des revendications 1 à 3, dans lequel la liste prédéterminée contient l'ensemble des codes correspondant à une instruction de rupture inconditionnelle du flux de commande.\n<CLM>\1\tProcédé de chargement selon l'une des revendications 1 à 4, dans lequel les codes de la séquence (APPL) correspondent à des codes normalisés 25 selon une spécification donnée et dans lequel les codes de la paire distincte (F(P)) correspondent à des codes inutilisés selon ladite spécification donnée.\n<CLM>\1\tProcédé de chargement selon l'une des revendications 1 à 5, dans lequel l'étape de conversion (E8) comprend une étape de lecture, dans une table de correspondance, de la paire distincte associée à la paire formée du code 30 détecté et du code situé à ladite position relative.\n<CLM>\1\tProcédé de chargement selon l'une des revendications 1 à 5, dans lequel l'étape de conversion (E8) comprend une étape d'application d'une fonction arithmétique à la paire formée du code détecté et du code situé à ladite position relative. 3045858 15\n<CLM>\1\tProcédé d'exécution d'une séquence de codes d'instruction (APPL') par une machine virtuelle résidant sur une entité électronique, comprenant les étapes suivantes : - en cas de lecture d'un code d'instruction (CODn) appartenant à une liste 5 prédéfinie (L) de codes, conversion (E32), selon une règle prédéterminée, d'une paire formée par le code lu (CODe) et par le code (COD,,i) situé à une position relative prédéterminée par rapport au code lu, en une paire distincte de codes comprenant un premier code (COD'n) et un second code (COD'n+i) ; - exécution (E34), par la machine virtuelle, d'une instruction définie au moins en partie par le premier code (COD'n).\n<CLM>\1\tProcédé d'exécution selon la revendication 8, dans lequel le code situé à ladite position relative est le code suivant le code lu.\n<CLM>\1\tProcédé d'exécution selon la revendication 8 ou 9, comprenant une étape d'exécution, par la machine virtuelle, d'une autre instruction définie au moins en partie par le second code (COD'n+i).\n<CLM>\1\tProcédé d'exécution selon la revendication 8 ou 9, dans lequel l'autre instruction est une instruction de rupture inconditionnelle du flux de commande.\n<CLM>\1\tProcédé d'exécution selon l'une des revendications 8 à 11, dans lequel le premier code (COD'n) et le second code (COD'n+i) correspondent à des codes normalisés selon une spécification donnée et dans lequel les codes de la liste prédéfinie (L) correspondent à des codes inutilisés selon ladite spécification donnée.\n<CLM>\1\tProcédé d'exécution selon l'une des revendications 8 à 12, dans lequel l'étape de conversion (E32) comprend une étape de lecture, dans une table de correspondance, de la paire distincte associée à la paire formée par le code lu et par le code situé à ladite position relative.\n<CLM>\1\tProcédé d'exécution selon l'une des revendications 8 à 12, dans lequel l'étape de conversion (E32) comprend une étape d'application d'une fonction arithmétique à la paire formée par le code lu et par le code situé à ladite position relative.\n<CLM>\1\tProcédé d'exécution selon l'une des revendications 8 à 14, comprenant une étape de vérification (E28) que la paire formée par le code lu (CODn) et par le code suivant (CODn+i) fait partie d'un ensemble de paires possibles. 3045858 16\n<CLM>\1\tProcédé d'exécution selon la revendication 15, comprenant, en cas d'échec de ladite vérification (E28), la mise en oeuvre d'une fonction de traitement d'erreur.\n<CLM>\1\tProcédé mis en oeuvre dans une entité électronique, comprenant un 5 procédé de chargement selon l'une des revendications 1 à 7 et un procédé d'exécution selon l'une des revendications 8 à\n<CLM>\1\t18. Entité électronique (C) comprenant une machine virtuelle, une mémoire (MEM) et un module de chargement (LD.M), au sein de la mémoire (MEM), d'une séquence (APPL) de codes d'instruction exécutables par la machine 10 virtuelle, caractérisée en ce que le module de chargement (LD.M) est conçu pour détecter un code d'instruction contenu dans une liste prédéterminée de codes d'instruction, pour convertir une paire formée du code détecté et d'un code situé dans la séquence (APPL) à une position relative prédéterminée par rapport au 15 code détecté, en une paire distincte de codes selon une règle prédéterminée, et pour écrire la paire distincte dans la mémoire (MEM) en remplacement de la paire formée du code détecté et du code situé à ladite position relative.\n<CLM>\1\tEntité électronique (C) comprenant une machine virtuelle et une mémoire (MEM), caractérisée par un module d'exécution (EX.M) conçu pour 20 convertir selon une règle prédéterminée, en cas de lecture dans la mémoire (MEM) d'un code d'instruction (CODe) appartenant à une liste prédéfinie de codes, une paire formée par le code lu (CODe) et par le code (COD'i) situé à une position relative prédéterminée par rapport au code lu, en une paire distincte de codes comprenant un premier code (COD'n) et un second code (COD'n+i), la 25 machine virtuelle étant conçue pour exécuter une instruction définie au moins en partie par le premier code (COD'n).