Brevet FR2600446A1 — publié le 19871224

L'invention concerne un appareil électronique portatif, du type appelé carte à circuit intégré et incorporant un circuit intégré (IC) possédant, par exemple, une mémoire de données permanente et un élément de commande tel qu'une unité centrale de trai5 tement (CPU). Récemment, des cartes à circuit intégré incorporant des puces à circuit intégré dotées de mémoires de données permanenteset d'éléments de commande tels que des CPU ont commencé de faire valoir leur importance comme nouveau moyen d'emmagasinage de données 10 portatif. Les données emmagasinées dans la mémoire de données qui est incorporée dans cette carte à circuit intégré sont gérées par un élément de commande interne ou une unité externe. Comme procédé d'accès à une telle carte à circuit intégré, il est mis en oeuvre un accès direct dans lequel la mémoire de données 15 est divisée en plusieurs zones auxquelles il est respectivement donné accès. Dans ce cas, une donnée spécifique telle qu'une adresse initiale de la zone cible et le nombre de bytes constituant la zone est enregistrée dans la carte à circuit intégré. Lorsque la donnée de la zone cible s'est ajoutéeà ladonnéed'instruction d'entrée, la donnée spéci20 fique de la zone cible contenue dans la carte à circuit intégré est recherchée, est transformée en une donnée d'accès physique, et est traitée. Toutefois, dans une carte à circuit intégré classique, lorsque des chaînes de données doivent être écrites dans une zone cible, elles sont emmagasinées dans l'ordre o elles sont introduites. Une donnée de réponse indiquant une erreur de nombre de données d'entrée, ou une situation analogue, n'est délivrée que lorsqu'il est reconnu qu'on ne peut pas emmagasiner plus de données d'entrée. Dans ce cas, pendant l'écriture, il faut qu'une chaîne de données 30 puisse être invalidée par un quelconque moyen. Dans ce but, classiquement, elle est logiquement invalidée par un drapeau indiquant la non-validité de la chaîne de données, ou bien cette chaîne de données anormale est effacée, ce qui empêche que des effets négatifs ne s'exercent sur la suite de la gestion des données. De cette manière, on ne peut savoir que par une opération d'écriture si une chaîne de données peut ou non être entièrement a emmagasinée dans une zone cible. Ainsi, on doit effectuer des opérations d'écriture en nombre excessif, la durée matérielle d'utilisation de la mémoire se dégrade, de même que Les possibilités de protection des données dans le système de la carte à circuit intégré. -C'est un but de l'i-vention de proposer un appareil électronique portatif dans lequel il n'est pas besoin d'effectuer un nombre excessif d'opérations d'écriture, la durée matérielle d'utilisation de la mémoire est augmentée, et les possibilités de protection des données sont également augmentées. Pour obtenir le but ci-dessus indiqué, l'appareil éLectronique portatif selon l'invention comprend une section de contacteur destinée à être connectée à un système de manipulation de l'appareil électronique portatif susceptible de fournir à l'appareil électronique portatif une instruction d'écriture constituée d'un secteur de fonc15 tion d'écriture, d'un secteur de numéro de zone d'écriture, d'un secteur de longueur de chaîne de données d'écriture, et d'un secteur de chaîne de données d'écriture; un moyen d'emmagasinage qui est divisé en plusieurs zones, chacune des zones possédant un secteur de donnée de pointeur indiquant la position finale de la zone o la 20 donnée est écrite, et qui emmagasine au moins une adresse finale pour chacune des zones dans une zone spécifique et une chaîne de données délivrée à partir du système de manipulation de l'appareil électronique portatif; et un moyen de commande servant à lire dans le moyen d'emmagasinage l'adresse finale de la zone désignée par un 25 secteur de numéro de zone d'écriture de l'instruction d'écriture et une donnée de pointeur venant du moyen d'emmagasinage en réponse à une instruction d'écriture délivrée à partir du système de manipulation de l'appareil électronique portatif, à calculer une capacité de mémoire à partir de leurs valeurs, à comparer le résultat du calcul 30 avec une valeur d'un secteur de longueur de chaîne de données de l'instruction d'écriture, à déterminer si une chaîne de données dont l'écriture a été demandée peut être écrite entièrement, et à commander l'écriture dans le moyen de mémorisation en fonction du résultat de la détermination. Selon l'appareil électronique portatif de l'invention, on effectue la vérification permettant de déterminer s'il s'agit ou non d'une zone dans laquelle une chaîne de données peut être écrite, immédiatement avant L'écriture de la chaîne de données dans cette zone, et on n'écrit la chaîne de données que lorsqu'une telle zone existe. Ainsi, il n'est pas nécessaire d'effectuer un nombre excessif d'opérations d'écriture. La description suivante, conçue à titre d'illustration de l'invention, vise à donner une meilleure compréhension de 10 ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: - la figure 1 est un schéma de principe montrant la disposition d'une unité de manipulation de carte utilisée comme unité terminale d'un système de traitement d'opérations banquaires 15 à domicile ou d'un système d'achat à domicile qui adopte une carte à circuit intégré comme appareil électronique portatif selon l'invention; - la figure 2 est un schéma de principe de la carte 20 à circuit intégré faisant fonction de L'appareil électronique portatif selon l'invention; - la figure 3 est un schéma de principe montrant la disposition d'une puce à circuit intégré incorporée dans la carte à circuit intégré représentée sur la figure 2; la figure 4 est une représentation détaillée, ou format détaillé, de mémorisation pour une mémoire de données représentée sur la figure 3; - la figure 5 est une vue de la zone "00" de la mémoire de données représentée sur la figure 3; - la figure 6 montre la représentation, ou format, de la donnée d'attribut emmgasinée dans les parties hachurées représentées sur la figure 4; - les figures 7A et 7B sont des organigrammes de l'opéra10 tion d'écriture relative à La mémoire de données représentée sur la figure 3; - la figure 8 présente le format de l'instruction d'écriture utilisée dans l'opération d'écriture représentée sur les figures 7A et 7B; - les figures 9A et 9B sont des organigrammes de l'opération d'écriture continue relative à La mémoire de données représentée sur la figure 3; - la figure 10 montre le format d'une instruction d'écriture - continue utilisée dans l'opération d'écriture continue représentée sur 20 les figures 9A et 9B; les figures 11A à 11J sont des diagrammes servant à expliquer une opération d'écriture pratique représentée dans les organigrammes des figures 7A et 7B; - les figures 12A à 12C sont des organigrammes montrant une opération d'écriture relative à la mémoire de données représentée sur la figure 3; - la figure 13 montre le format d'une instruction de Lecture utilisée dans l'opération de lecture représentée sur les figures 12A à 12C; - les figures 14A et 14B sont les organigrammes d'une opération de lecture continue relative à la mémoire de données représentée sur la figure 3; la figure 15 montre le format d'une instruction de lecture continue utilisée dans l'opération de lecture continue 35 représentée sur les figures 14A et 14B; - les figures 16A à 16F sont des schémas servant à expliquer une opération de lecture pratique représentée sur les figures 12A à 12C; - la figure 17 est un organigramme servant à expliquer une opération d'effacement relative à la mémoire de données représentée sur la figure 3; et - la figure 18 montre le format d'une instruction d'effacement utilisée dans l'opération d'effacement représentée sur la figure 17. Sur la figure 1, est présenté le schéma d'un système de manipulation de carte utilisé comme unité terminale d'un système de traitement d'opérations banquaires à domicile ou d'un système d'achat à domicile qui a adopté une carte à circuit intégré comme appareil électronique portatif selon l'invention. Plus spécialement, 15 dans ce système de manipulation de carte, une carte à circuit intégré peut être connectée à une unité centrale de traitement (CPU) 3 via un dispositif 2 de lecture-écriture de carte et la CPU 3 est connectée à un clavier 4, une unité d'affichage à tube cathodique 5, une imprimante 6, et une unité pour disque souple 7. La carte à circuit intégré 1 est la propriété d'un utilisateur, et celuici l'utilise en faisant référence à un PIN (numéro d'identification personnel) connu de lui seul ou lorsqu'une donnée nécessaire y est emmgasinée. La figure 2 montre ses blocs de fonction. Comme on peut le voir sur la figure 2, la carte 1 comprend des sections servant à exécuter des 25 fonctions de base, telles qu'une section 11 de lecture-écriture, une section 12 de fixation-recueil de PIN, et une section 13 de chiffrementdéchiffrement, ainsi qu'un superviseur 14 servant à gérer ces fonctions de base. La section de lecture-écriture 11 lit, écrit ou efface la donnée relativement à la mémoire de données 16. La 30 section 12 de fixationrecueil de PIN emmagasine le PIN fixé par l'utilisateur, empêche la lecture du PIN, recueille les PIN lorsqu'un PIN est introduit et donne l'autorisation de la poursuite du traitement. La section 13 de chiffrement-déchiffrement déchiffre les données de transmission afin d'empêcher que la donnée de transmission 35 ne soit observée ou copié illégitimement lorsque cette donnée est transmise de la CPU 3 à une autre unité terminale par l'intermédiaire d'un réseau de communication par exemple, et déchiffre les données chiffrées. La section 13 de chiffrementdéchiffrement a pour fonction d'effectuer le traitement de données en fonction d'un algorithme de chiffrement, par exemple l'algorithme DES (Date Encryption Standard, ou norme de chiffrement américaine), qui offre une capacité de chiffrement suffisante. Le superviseur 14 déchiffre un signal d'entrée de code de fonction provenant du dispositif 2 de lectureécriture ou un code de fonction adjoint à une donnée, et il sélectionne et excécute la fonction voulue parmi les fonctions de base. Pour réaliser ces diverses fonctions, la carte à circuit intégré 1 comprend une CPU 15 comme section de commande, une mémoire de données permanente 16 comme section de mémoire de données dont le contenu peut être effacé, une mémoire de programme 17, et une section de contact 18 servant à réaliser un contact électrique avec le dispositif 2 de lectureécriture de carte tel que représenté sur la figure 3 par exemple. Parmi ces composants, la CPU 15 et les mémoires 16 et 17, entourées par une ligne en trait interrompu, sont constituées paruneuniquepuce à circuit intégré. La CPU 15 possède une mémoire à accès direct, ou mémoire vive, (RAM) 19. La mémoire 17 comprend par exemple une mémoire morte (ROM) à masque et emmagasine un programme de commande pour la CPU 15 possédant un sousprogramme permettant de valider les fonctions de base ci-dessus décrites. La mémoire 16 est utilisée pour emmagasiner diverses données et comprend par exemple une mémoire morte programmable électriquement 25 effaçable (EEPROM). La mémoire de données 16 est divisée en plusieurs zones, comme représenté sur la figure 4. Chacune de ces zones est divisée en un ou plusieurs blocs. Chaque bloc est constitué par un nombre prédéterminé de bytes. Le traitement s'effectue par unités de blocs. 30 Un bloc est constitué d'une donnée d'attribut (1 byte) (la partie hachurée sur la figure 4) et d'une donnée d'emmagasinage. Des numéros de zones "00" à "FF" sont assignés à des zones correspondantes, chacune étant divisée de la manière présentée sur la figure 4. Parmi elles, la zone "00" comprend un secteur 20 de numéro de zone, 35 un secteur 22 du nombre de bytes, un secteur 24 d'adresse initiale indiquant l'adresse de début de chaque zone, et un secteur 26 d'adresse finale indiquant l'adresse finale de chaque zone, ainsi que cela est représenté sur la figure 5. L'adresse de début de la zone "01" est l'adresse aaa et son adresse finale est l'adresse bbb. Un bloc est constitué de 6 bytes. Le nombre de bytes de la donnée d'emma5 gasinage est de 5 bytes par bloc. Une zone est prévue au début de chaque zone pour emmagasiner une adresse (à Laquelle on se raportera ci-après comme étant une donnée de pointeur) d'un byte final d'un bloc final lorsque le bloc final est écrit au moment de l'écriture de la donnée. La donnée d'attribut comporte un identificateur qui indique si la donnée d'emmagasinage correspondante est ou non valable, et un autre identificateur qui indique si le bloc correspondant est un bloc emmagasinant la donnée finale lorsqu'une chaîne de données d'emmagasinage est constituée de plusieurs blocs. La figure 6 montre le format de la donnée d'attribut. Comme 15 représenté sur la figure 6, le sixième bit est un identificateur indiquant si la donnée d'emmagasinage du bloc correspondant est ou non valable. Si ce bit est "1", La donnée d'emmagasinage est non valable; si c'est "O", la donnée d'emmagasinage est valable. Le septième est un identificateur indiquant si le bloc correspondant 20 est un bloc qui comporte le byte final d'une chaîne de données. Si ce bit est '"1", le bloc correspondant est un bloc ne comportant pas le byte final; si c'est "O", le bloc correspondant est un bloc qui comporte le byte final. On note que les bits des rangs d'ordre O à 5 sont des bits fictifs. On va décrire ci-dessous, en relation avec les organigrammes des figures 7A et 7B, une opération d'écriture de donnée relative à la mémoire de données 16 de la carte à circuit intégré 1 présentant le montage ci-dessus. L'écriture d'une donnée dans la mémoire de données 16 de la carte à circuit intégré 1 est exécutée lorsqu'une donnée d'instruction ayant un format tel que présenté sur la figure 8 est délivrée à la carte I via le dispositif de lecture-écriture 2 en provenance de la CPU 3, comme représenté sur la figure 1, et lorsque la CPU 15 exécute l'instruction. L'instruction d'écriture est constituée d'un 35 secteur 28 de code de fonction d'écriture, d'un secteur 30 de numér de zone, d'un secteur 32 de donnée du nombre de bytes, et d'un secteur 34 de chaîne de données. La donnée d'emmagasinage est constituée par une chaîne de données devant être emmagasinée, et la donnée du nombre de bytes (qui sera appeLée le nombre de bytes dans la chaîne de données ci-après) constituant la chaîne de données. Dans-un état normal, un mode d'attente d'instruction pour le dispositif de lecture-écriture 2 de carte est positionné. Dans ce cas, lorsqu'une donnée d'instruction est délivrée par le dispositif de lecture-écriture 2, la CPU 15 vérifie au cours de L'étape 36 si le code d'instruction appartenant à la donnée d'ins10 truction se raporte ou non à l'écriture. Si la réponse est oui à, l'étape 36, la CPU 15 trouve, à l'étape 38, un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16. Si le numéro de zone correspondant n'est pas trouvé (non à l'étape 38), La CPU 15 délivre, à l'étape 40, une donnée de réponse 15 indiquant qu'une zone correspondante n'a pas été trouvée au dispositif de lecture-écriture 2 de carte, et l'organigramme revient à un mode d'attente de données d'instruction qui attend une donnée d'instruction de la part du dispositif de lecture-écriture 2. Si la réponse est oui à l'étape 38, la CPU 15 renvoie à la donnée d'unité de traitement 20 correspondante. Lorsqu'une donnée d'emmagasinage doit être écrite dans une zone, la CPU 15 renvoie à la donnée de pointeur placée au début de la zone dans l'étape 42 et vérifie l'adresse initiale. Ensuite, à l'étape 44, la CPU 15 compare la donnée du nombre de bytes contenus dans la donnée d'instruction et la capacité (le nombre de 25 bytes) de chaque zone représentée sur la figure 5 pour déterminer si la donnée d'emmagasinage fournie peut être entièrement emmagasinée dans la zone. Si la réponse est non à l'étape 44, la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et 30 l'organigramme revient au mode d'attente de donnée d'instruction en ce qui concerne le dispositif de lecture-écriture 2. Si la réponse est oui à l'étape 44, la CPU 15 compare le nombre de bytes dans la chaîne de données avec la donnée du nombre de bytes incluse dans la donnée d'instruction d'entrée, à l'étape 46. En résultat 35 de cette vérification, si le nombre de bytes est plus grande que la donnée du nombre de bytes (c'est-à-dire si la réponse est positive à l'étape 46), la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et l'organigramme revient au mode d'attente d'une donnée d'instruction. Sinon (c'est-à-dire si la réponse est non à l'étape 46), le nombre de bytes contenu dans la chaîne de données est soustrait de la donnée du nombre de bytes afin qu'il soit produit un résultat donnant la quantité restante, à l'étape 50. A l'étape 52, la CPU 15 de la carte 1 positionne à "1"' le bit le plus significatif (secteur 32 de la figure 8) de la chaîne de bits constituant la donnée du nombre de bytes représentée sur la figure 8, en invalidant ainsi temporairement la donnée d'emmagasinage. Ensuite, à l'étape 54, la CPU 15 divise la donnée d'emmagasinage en unités de traitement, adjoint une donnée d'attribut à chacune des données divisées et les emmagasine. Plus spécialement, à l'étape 56, la CPU 15 vérifie si la chaîne de données à écrire est la donnée divisée finale. Si la réponse est non à l'étape 56, la donnée divisée est écrite dans la mémoire de données 16 à l'étape 58 et la donnée divisée suivante à écrire est préparée dans l'étape 60. Si la réponse est oui à l'étape 56, il est vérifié à l'étape 62 si la quantité restante est ou non "0". Dans ce cas, si la quantité restante détenue par avance est "0" (oui à l'étape 62), la donnée divisée finale est écrite à l'étape 70, et le bit le plus significatif de la chaîne de bits constituant la donnée du nombre de bytes représenté sur la figure 8 est positionné à "0" à l'étape 72. Ainsi, la donnée d'emmagasinage est validée et- l'adresse finale du bloc comportant le byte final de la chaîne de données d'emmagasinage est emmagasinée comme donnée de pointeur. A l'étape 74, la CPU 15 délivre une donnée de réponse indiquant l'achèvement de l'écriture, 30 et l'organigramme revient au mode d'attente de donnée d'instruction. Toutefois, si la réponse est non à l'étape 62, la CPU 15 n'emmagasine pas que la donnée divisée finale, mais la maintient dans une RAM interne, à l'étape 64. Ensuite, à l'étape 66, la CPU 15 positionne le drapeau d'acceptation d'écriture continue et maintient l'adresse 35 intiale du nouveau bloc non écrit de la RAM comme adresse initiale d'écriture. A l'étape 88, la CPU 15 délivre une donnée de réponse indiquant une acceptation d'écriture continue, et L'organigramme revient au mode d'attente de donnée d'instruction. On va maintenant décrire, en relation avec Les organigrammes présentés sur Les figures 9A et 9B, une opération d'écriture continue. Lorsqu'une écriture continue est effectuée, une donnée d'instruction d'écriture continue possédant Le format présenté sur la figure 10 est fournie. La donnée d'instruction d'écriture continue consiste en un secteur 76 de code de fonction d'écriture continue et un secteur 78 de donnée d'emmagasinage. Lorsqu'il est déterminé à 10 l'étape 80 que la donnée d'instruction d'écriture continue a été fournie (si la réponse est oui à l'étape 80), la CPU 15 renvoie au drapeau d'acceptation d'écriture continue et vérifie si le drapeau est positionné, au cours de l'étape 82. Si la réponse est non à l'étape 82, la CPU 15 déLivre une donnée de réponse indiquant une 15 erreur de séquence au dispositif 2 de lecture/écriture de carte à l'étape 84, et l'organigramme revient au mode d'attente de donnée d'instruction. Si la réponse est oui à l'étape 82, la CPU 15 vérifie le nombre de bytes de la donnée d'emmagasinage d'entrée et la quantité 20 restante, à l'étape 86. En résultat de la vérification effectuée à l'étape 86, si la première quantité est plus grande que la deuxième (réponse oui à l'étape 86), la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée, à l'étape 88, et l'organigramme revient au mode d'attente de données d'instruction. 25 Sinon (si la réponse est non à l'étape 86), la CPU 15 soustrait la première quantité de la deuxième quantité et conserve le résultat de la soustraction comme nouvelle quantité restante, à l'étape 90. Ensuite, à l'étape 92, la CPU 15 produit une nouvelle donnée d'emmagasinage en adjoignant la donnée divisée finale précé30 dente, conservée en avance dans la RAM, à l'entête de la donnée d'emmagasinage d'entrée. A l'étape 94, la CPU 15 divise la nouvelle donnée d'emmagasinage en données d'unités de traitement et adjoint une donnée d'attribut aux données divisées respectives. Ensuite, la CPU 15 emmagasine la donnée reposant sur L'adresse initiale 35 d'écriture maintenue dans la RAM à l'avance. Plus spécialement, la CPU 15 divise la donnée en unités de traitement à l'étape 94, et vérifie à l'étape 96 si La chaîne de données à écrire est la donnée divisée finale. Si la réponse est non à l'étape 96, la donnée divisée est écrite à l'étape 98, une préparation à l'écriture de la nouvelle donnée divisée est effectuée à l'étape 100, et l'orga5 nigramme revient à l'étape 96. Si la réponse est oui à l'étape 96, il est vérifié, à l'étape 102, si la quantité restante est "0". Si la réponse est oui à l'étape 102, la donnée divisée finale est écrite à l'étape 104, le bit le plus significatif de la donnée du nombre de bytes est 10 fixé à "0" à l'étape 106, et la donnée de pointeur est remise à jour. Ensuite, la CPU 15 repositionne le drapeau d'acceptation d'écriture continue à l'étape 108, et délivre une donnée de réponse indiquant l'achèvement de l'écriture à l'étape 110. Si la réponse est non à l'étape 102, la donnée divisée 15 finale est emmagasinée dans la RAM à l'étape 112. A l'étape 114, l'adresse initiale du bloc à écrire ensuite est emmagasinée, et le drapeau d'acceptation d'écriture continue est positionné. A l'étape 116, la CPU 15 délivre une donnée de réponse indiquant l'acceptation de l'écriture continue, et l'organigramme revient 20 au mode d'attente de donnée d'instruction. De cette manière, est emmagasinée une chaîne de données qui ne peut être écrite en une seule transmission. Dans un bloc destiné à emmagasiner la donnée divisée finale au cas o la quantité restante est "0", les septième et sixième bits sont tous deux posi25 tionnés à "0". Par exemple, on suppose que la donnée d'instruction telle que représentée sur la figure 11A est appliquée. Ceci correspond à une donnée d'instruction d'écriture et sa zone cible est "02". Le nombre de bytes d'unités de traitement de la zone "02" est 4. Tout 30 d'abord, la donnée du nombre de bytes contenue dans la donnée d'instruction d'entrée est extraite. Simultanément, on est renvoyé à la donnée de pointeur placée au début de la zone "02" pour vérifier que toute la donnée d'emmagasinage peut être emmagasinée. Ensuite, le bit le plus significatif de la donnée du nombre de bytes est 35 positionné à "1" (figure 11B). Ensuite, la quantité restante est positionnée à partir du nombre de bytes de la donnée d'emmagasinage et de la valeur de la donnée du nombre de bytes (figure 11C). La donnée d'emmagasinage est divisée par le nombre de bytes d'unités de traitement (figure 11D) et est emmagasinée dans la zone "02", comme représenté sur la figure 11E. Toutefois, puisque la quantité restante est autre que "0", La donnée divisée finale n'est pas emmagasinée. Ensuite, une adresse à écrire ensuite est maintenue, et le drapeau d'acceptation d'écriture continue est positionné. Dans cet état, on suppose que la donnée d'instruction d'écriture telle que présentée sur la figure 11F est appliquée.... -= Ensuite, une vérification est faite sur le nombre de bytes de la donnée d'emmagasinage appartenant à cette donnée d'instruction. Si le résultat de la vérification est acceptable, une nouvelle quantité restante est fixée à partir de la quantité de fixation précédente et du nombre de bytes de la donnée d'emmagasinage actuel15 lement en cours (figure 11G). La donnée divisée finale préalablement maintenue et la donnée d'emmagasinage actuellement en cours sont combinées (figure 11H). La donnée d'emmagasinage résultante est divisée par le nombre de bytes d'unités de traitement (figure 11I) et est emmagasinée en fonction de l'adresse d'écriture préalable20 ment emmagasinée (figure 11J). Dans ce cas, puisque la quantité restante est "0", le bit le plus significatif de la donnée du nombre de bytes est fixé à "0", et l'adresse finale est emmagasinée comme donnée de pointeur. On va maintenant décrire, en relation avec les organigrammes 25 présentés sur les figures 12A à 12C, une opération de lecture de données relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire de données 16 doit être lue, une donnée d'instruction de lecture possédant le format de donnée tel que présenté sur la figure 13 est fournie. Cette donnée d'instruc30 tion de lecture consiste en un code de fonction de lecture 118 et un numéro de zone 120. Dans un état normal, un mode d'attente de donnée d'instruction visant à faire attendre une instruction de la part du dispositif 2 de lecture-écriture de carte est positionné. Dans ce cas, lorsque la donnée d'instruction est introduite à partir du dispositif 2 de Lecture-écriture, la CPU 15 vérifie à l'étape 122 si le code de fonction inclus dans la donnée d'instruction se rapporte à une Lecture. Si La réponse est oui à L'étape 122, Le CPU 15 cherche un numéro de zone adjoint à La donnée d'instruction en provenance de La zone "00" de La mémoire de données 16, au cours de L'étape 124. Si Le numéro de zone correspondant n'a pas été trouvé (si La réponse est non à L'étape 124), la CPU 15 déLivre une donnée de réponse indiquant que La zone correspondante n'a pas été trouvée à L'étape 126, et l'organigramme revient au mode d'attente de donnée d'instruction de L'étape 122. Si Le numéro de zone correspondant est trouvé (réponse oui à L'étape 126), La CPU 15 renvoie à La donnée d'unité de trai nt -corp-é -:et L'emmagasine dans La RAM qui emmagasine Les adresses de début et de fin de cette zone. Lorsque La donnée contenue dans cette zone doit être Lue, à L'étape 128, La CPU 15 fait référence à La donnée de pointeur située au début de La zone. S'il est déterminé 15 à L'étape 128 que tous Les bits de cette donnée de pointeur sont "1" (réponse oui à L'étape 128), La CPU 15 détermine qu'aucune donnée n'est emmagasinée dans cette zone, et L'organigrammerevient au mode d'attente de donnée d'instruction de L'étape 122. Toutefois, s'iL est déterminé, dans L'étape 128, que tous Les bits de 20 La donnée de pointeur ne sont pas "1" (réponse non à L'étape 128), La CPU 15 reconnait Le bloc initial de La donnée La plus récente dans cette zone sur La base de cette donnée de pointeur à l'étape 132. La donnée du nombre de bytes est emmagasinée dans ce bloc initial. Ensuite, la CPU 15 vérifie si la donnée du nombre de bytes est valable, au cours de l'étape 134. Si la réponse est non à l'étape 134, la CPU 15 délivre une donnée de réponse indiquant que La donnée du nombre de bytes est erronée à l'étape 136. Toutefois, si La réponse est oui à l'étape 134, la CPU 15 vérifie, à l'étape 138, si le bit le plus significatif de la donnée du nombre de bytes est "0". Si la 30 réponse est non à l'étape 138 (si le bit le plus significatif de la donnée du nombre de bytes est "1"), la CPU 15 détermine que la chaîne de données qui suit ce bit Le plus significatif n'est pas valable et positionne la présence d'un drapeau de donnée non valable à l'étape 140. Toutefois, si La réponse est oui à l'étape 138, la CPU 15 positionne 35 la donnée du nombre de bytes dans le compteur à l'étape 142. Ensuite, la CPU 15 lit le byte simple suivant à L'étape 144 et vérifie, à l'étape 146, si le byte Lu est une donnée d'attribut. Si La réponse est oui à l'étape 146, l'organigramme'revient à l'étape 144 et le byte suivant est lu. Si la réponse est non à l'étape 144, la donnée lue est emmagasinée dans la RAM et le contenu du compteur subit une décrémentation d'une unité, à l'étape 148. A l'étape 150, il est déterminé si la RAM est pleine. Si la réponse est non à l'étape 150, il est vérifié, à l'étape 152, si le compteur est "0". Si la réponse est non à l'étape 152, l'organigramme revient à l'étape 144, et le byte simple suivant est lu. Toutefois, si la réponse est oui à l'étape 150, l'organigramme avance à l'étape 154 et il est vérifié si le compteur est ou non "O". Si la réponse est non à l'étape 154, la CPU 15 emmagasine une adresse finale lue dans la RAM et positionne un drapeau d'acceptation de lecture continue, à l'étape 156. Ensuite, à l'étape 158, la CPU 15 déLivre une donnée de réponse qui indique l'acceptation de la lecture continue et qui est adjoint à la chaîne de données se trouvant dans la RAM, après quoi l'organigramme revient à l'étape 122. Toutefois, si la réponse est oui à l'étape 154, la CPU 15 20 vérifie, à l'étape 160, si la présence d'un drapeau de donnée non valable est ou non positionnée. Si la réponse est oui à l'étape 160, la CPU 15 délivre une donnée de réponse qui indique la donnée non valable et est adjointe à la chaîne de données se trouvant dans la RAM, à l'étape 162, après quoi l'organigramme revient à l'étape 122. 25 Toutefois, si la réponse est non à l'étape 160, la CPU 15 déLivre une donnée de réponse qui indique l'achèvement de la lecture et est adjointe àla chaîne de données de la RAM, à l'étape 164, après quoi l'organigramme revient à l'étape 162. On va maintenant décrire, en relation avec les organigrammes 30 des figures 14A et 14B, une opération de lecture continue. Lorsqu'une lecture continue est effectuée, une donnée d'instruction de lecture continue possédant le format présenté sur la figure 15 est appliqué. La donnée d'instruction de lecture continue est constituée d'un secteur 196 de code de fonction de lecture continue et d'un secteur198 35 de numéro de zone. Lorsqu'il est déterminé, à l'étape 166, qu'une instruction de lecture continue est appliquée, la CPU 15 vérifie à L'étape 168 si un drapeau d'acceptation de Lecture continue est ou non positionné. Si La réponse est non à l'étape 168, La CPU 15 délivre une donnée de réponse indiquant une erreur de séquence à L'étape 170, et l'organigramme revient à l'étape 166 pour attendre une donnée d'instruction de lecture continue. Si la réponse est oui à l'étape 168, la nouvelle donnée de byte est lue à l'étape 172. Ensuite, la CPU 15 vérifie à l'étape 174 si la donnée de byte lue est une donnée d'attribut. Si la réponse est oui à l'étape 174, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte o10 est Lue. Toutefois, si la réponse est non à l'étape 174, la CPU 15 emmagasine la donnée lue dans la RAM et diminue le compteur d'une unité, à l'étape 176. A l'étape 178, la CPU 15 vérifie si la RAM est pLeine. Si La réponse est non à L'étape 178, la CPU 15 vérifie à L'étape 180 si le compteur est ounon "0". Si La réponse est non 15 à l'étape 180, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte est lue. Si La réponse est oui à L'étape 180, L'organigramme avance à l'étape 188. A l'étape 178, si la RAM est pleine (si la réponse est oui 20 à l'étape 178), l'organigramme avance à l'étape 182 et vérifie si le contenu du compteur est ou non "0". Si la réponse est non à l'étape 182, l'organigramme avance à l'étape 184 pour emmagasiner l'adresse finale lue dans la RAM. Ensuite, à l'étape 186, la CPU 15 délivre une donnée de réponse qui indique l'acceptation de la lecture continue et est 25 adjointe à la chaîne de données de la RAM, après quoi l'organigramme revient à l'étape 166. Si la réponse est oui à l'étape 182, la CPU 15 repositionne le drapeau d'acceptation de lecture continue à l'étape 188, et il est vérifié, à l'étape 190, si la présence d'un drapeau de donnée non valable est ou non positionnée. Si la réponse est oui à l'étape 190, alors, à l'étape 192, la CPU 15 délivre une donnée de réponse qui indique une donnée non valable et est adjointe à la chaîne de données dans la RAM, après quoi l'organigramme revient à l'étape 166. Toutefois, si la réponse est non à l'étape 190, la CPU 15 délivre une 35 donnée de réponse qui indique l'achèvement de la lecture et est adjointe à la chaîne de données de la RAM, à l'étape 194, après quoi l'organigramme revient à l'étape 166. Par exemple, on suppose qu'une zone (la zone "02") ayant l'état présenté sur la figure 11J doit être lue par l'instruction de lecture telle que présentéesur la figure 16A. On note que la capacité de la RAM est de 8 bytes par exemple. Dans ce cas, la chaîne de données qui est lue par cette donnée d'instruction est une chaîne de données telle que présentéesur la figure 16B, et la donnée du nombre de bytes indique 1 byte. Ainsi, le compteur 10 est à "5" lorsqu'il est emmagasiné dans la RAM. Puisque la valeur de comptage est autre que "0", cette chaîne de données est adjointe à la donnée de réponse indiquant l'acceptation de la Lecture continue et est délivrée (figure 16C). Lorsqu'une donnée d'instruction de lecture continue telle que présentée sur la figure 16D est appliquée 15 en entrée, une chaîne de données telle que présentée sur la figure 16E est positionnée dans la RAM. Dans ce cas, puisque la valeur de comptage est "0", cette chaîne de données est adjointe à la donnée de réponse indiquant l'achèvement de la lecture, et elle est délivrée (figure 16F). On va maintenant décrire, en relation avec l'organigramme de la figure 17, l'opération d'effacement relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire 16 doit être effacée, une donnée d'instruction d'effacement possédant le format présenté sur La figure 18 est appliquée. La donnée d'instruc25 tion d'effacement est constituée d'un secteur 200 de code de fonction d'effacement et d'un secteur 202 de numéro de zone. A l'étape 204, lorsqu'il est déterminé qu'une instruction d'effacement est appliquée, La CPU 15 cherche un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16, au cours de 30 l'étape 206. Si le numéro de zone correspondant n'est pas trouvé à l'étape 206 (réponse non à l'étape 206), la CPU 15 délivre une donnée de réponse indiquant que la zone correspondante n'a pas été trouvée, à l'étape 208, et l'organigramme revient à l'étape 204, pour faire attendre l'instruction suivante. Si la réponse est oui à l'étape 206, 35 la CPU 15 se rapporte à l'adresse initiale de cette zone pour confirmer la donnée de pointeur de cette zone. Plus spécialement, la CPU 15 vérifie à l'étape 210 si tous les bits de la donnée de pointeur sont ou non '"1". Si la réponse est oui à l'étape 210, la CPU 15 délivre une donnée de réponse indiquant une zone non écrite au cours de l'étape 212, et le programme revient à l'étape 204. Toute5 fois, si la réponse est non à l'étape 210 (si tous les bits de la donnée de pointeur ne sont pas "1"), la CPU 15 déLivre une donnée de réponse indiquant l'achèvement de l'effacement au cours de l'étape 216, et le programme revient à l'étape 204. Dans ce cas, la CPU 15 positionne à "1" tous les bits de cette donnée de pointeur 10 (c'est-à-dire écrit FFH), déLivre une donnée de réponse indiquant l'achèvement de l'effacement, et le programme revient au mode d'attente de donnée d'instruction de l'étape 204. Dans le mode de réalisation ci-dessus présenté, comme indiqué sur la figure 3, la CPU 15, la mémoire de données 16 et 15 la mémoire de programme 17 sont intégrées dans une unique puce. Toutefois, elles peuvent être formées sur des puces différentes. Il est possible de modifier le mode de réalisation matériel du dispositif électronique portatif en restant dans les limites et l'étendue de l'invention. En outre, dans les modes de réalisation ci-dessus présentés, il a été choisi comme exemple d'un dispositif électronique portatif une carte à circuit intégré. La forme du dispositif électronique portatif ne se limite pas à celle d'une carte, mais peut présenter la forme d'un bloc ou la forme d'un crayon. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir du dispositif dont la description vient d'être donnée à titre simplement illustratif et nullement limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. REVENDICATIONS 1. Appareil électronique portatif caractérisé en ce qu'il comprend: une section de contacteur (18) devant être connectée à un système de manipulation de l'appareil électronique portatif susceptible de fournir à l'appareil électronique portatif une instruction d'écriture constituée d'un secteur de fonction d'écriture, d'un secteur de numéro de zone d'écriture, d'un secteur de longueur de chaîne de données d'écriture, et d'un secteur de chaîne de données 10 d'écriture; un moyen d'emmagasinage (16) qui est divisé en plusieurs zones, chacune des zones possédant un secteur de donnée de pointeur indiquant la position finale de la zone o la donnée est écrite, et qui emmagasine au moins une donnée permettant de reconnaître l'adresse 15 finale de chacune des zones dans une zone spécifique et une chaîne de données délivrée à partir du système-de manipulation de l'appareil électronique portatif; et un moyen de commande (15) servant à lire dans le moyen d'emmagasinage la donnée reconnaissant l'adresse finale de l'aire désignée par un secteur de numéro de zone d'écriture de l'instruction d'écriture et la donnée de pointeur venant dudit moyen d'emmagasinage en réponse à une instruction d'écriture délivrée à partir dudit système de manipulation de l'appareil électronique portatif, à calculer une capacité de mémorisation à partir de leurs valeurs, à comparer le résultat du calcul avec une valeur d'un secteur de longueur de chaîne de données de l'instruction d'écriture, à déterminer si l'on peut écrire entièrement une chaîne de données dont l'écriture a été demandée, et à commander l'écriture dans ledit moyen d'emmagasinage en fonction du résultat de la détermination. 2. Appareil selon la revendication 1, caractérisé en ce que ledit moyen de commande (15) écrit une chaîne de données, dont l'écriture a été demandée, dans ledit moyen d'emmagasinage (16) dans le seul cas o il est déterminé que la chaîne de données peut être écrite entièrement. 3. Appareil selon la revendication 1, caractérisé en ce que ledit moyen de commande (15) renvoie le résultat de la détermination audit système de manipulation de l'appareil électronique portatif. 4. Appareil selon la revendication 1, caractérisé en ce que ledit moyen de commande (15) comprend un microcalculateur. 5. Appareil selon la revendication 1, caractérisé en ce que Ledit moyen d'emmagasinage (16) comprend une mémoire morte électriquement effaçable.