Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 36
  1. #1
    Membre Expert

    Inscrit en
    mai 2002
    Messages
    727
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 727
    Points : 1 382
    Points
    1 382

    Par défaut Les outils que vous utilisez pour programmer en assembleur

    Il existe de nombreux "outils" pour programmer en assembleur, le principal est le compilateur, mais sans debogueur, sans editeur, il n'est que peu de choses.

    J'aimerai lancer un debat ou chacun explique quels outils il utilise, pourquoi, mais egalement, quels outils ils n'utilise pas (et pourquoi). Bref, des retours d'experience sur des outils pour programmer en assembleur, qui pourront guider les personnes qui ne connaissent pas encore se langage :
    • Qu'offrent les compilateurs les uns par rapport aux autres ?
    • Quel I.D.E. choisir, pour quel usage ?
    • Quel debogueur choisir ?
    • etc

    Merci pour vos contributions !
    _________________

    Personellement, je ne programme pas beaucoup sur x86. Sur cette plateforme, j'utilise FASM comme compilateur car je l'ai trouve simple d'utilisation, AsmEditor comme E.D.I., que je ne peux pas vraiment commenter car c'est mon I.D.E. (En fait c'est plus un editeur ameliorre qu'un E.D.I.)... Mes projets sur x86 n'ont pas necessite que j'utilise un debugger. Sinon, j'utilise assez regulierement DependencyWalker qui permet de voir les dependances des executables et des librairies.

    Pour le 68HC11, j'utilisais MiniIDE, un Environnement de Developpement Integre pour la famille 68HC de Motorola.

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  2. #2
    Membre habitué Avatar de TangiX
    Inscrit en
    juin 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : juin 2003
    Messages : 139
    Points : 144
    Points
    144

    Par défaut

    Slt,

    Comme beaucoup j'utilise nasm (libre et complet). le projet nasm est un projet actif qui de plus marche sous windows et sous linux. je programme surtout au niveau syteme (bios,mbr) donc il faut du binaire pure

    g commencé avec a86 et la prog dos donc je tient a mentionné ce compilateur pour sa simplicité bien que tres limité

    pour ce qui est de l'EDI, c bloc-notes et AsmEditor

    Pour le debug c plutot TD (meme si c payant...) c tres pratique. ca depent de l'appli et du contexte !

    µC : j'utilise un atmel : le AT90S8535, ca me permet de faire du bricolage (ex: programateur de EEPROM BIOS) donc un peu de prog asm. l'outils fournit par atmel compend dans une meme edi le compilateur et le simulateur donc pas de probleme !

    A+

  3. #3
    Membre du Club
    Inscrit en
    août 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 33
    Points : 40
    Points
    40

    Par défaut

    Hi,
    Tout comme TangiX, j utilise nasm: syntaxe intel, compilo gratuit et porte sous linux/windows. Ce qui permet d ecrire une routine sous windows et compilable a la fois sous linux et windows -> tres pratique pour developper des logiciels sur differentes plates-formes.

    Je pense que le compilo depend essentiellement du type de programmation de chacun. Par exemple si vous voulez programmer une "belle" IHM pour windows, il est preferable d'utiliser masm, si vous developpez un gestionnaire de boot, utilisez plutot nasm...

    Pour ce qui est de l IDE, j utilise toujours UltraEdit.
    Pour debugger: IDA et gdb.
    Pour desassembler: IDA, ndisasm, HIEW, w32dasm (et bientot mon propre dessassembleur )
    IDA: quand je veux decompiler mon prog et le debugger
    ndisasm: pour desassembler n importe quoi sous linux
    HIEW: pour desassembler sous windows en 16bits
    w32dasm: pour desassembler sous windows en 32bits

  4. #4
    Membre confirmé
    Inscrit en
    décembre 2002
    Messages
    339
    Détails du profil
    Informations forums :
    Inscription : décembre 2002
    Messages : 339
    Points : 222
    Points
    222

    Par défaut

    salut à tous,
    moi je tourne que sous windows (je sais j'ai honte, mais j'ai des raisons très contrariantes ..)

    comme IDE : AsmEditor 3.0 (merci Smortex)
    comme compilateur :
    - pour faire un exécutable 16 bits(DOS) : TASM
    - pour faire un exécutable 32 bits(Windaube) : MASM32
    - pour faire un fichier binaire pour un OS : NASM
    J'ai commencé avec TASM c'est pour ça que je le garde comme compilateur pour les 16 bits mais on peut très bien utiliser MASM. Par contre, pour les 32 bits, y'a pas photos, MASM32 grâce aux tutoriels d'Iczelion (traduit par Morgatte) c'est le top. Le problème c'est quand vous devez mettre en commun les données et le code dans un même segment, passer du 16 au 32 bits et inversement en plein milieu d'un code, en gros faire un OS et bien là, NASM y'a pas photos non plus, y'a rien de plus simple, surtout que la commande ORG fonctionne sans problème avec NASM. Par contre, je le trouve pas super pratique quand il s'agit de faire des progs venant de différents horizons et qui doivent être linkés entre eux (c'est le cas justement avec les 16 et 32 bits quand on fait en plus du C/C++/Delphi/Pascal....)

    Je fais pas encore de programmation microcontroller, donc pas d'idée là-dessus.

    Comme désassembleur : IDA ou encore W32Dasm
    Comme éditeur héxadécimal : IDA un peu mais surtout celui fournit avec AsmEditor.
    Ma boule de cristal s'était éclaircie et puis plus rien. Alors je me suis mis à internet et maintenant j'ai plus de renseignements qu'avec cette satané boule .....

  5. #5
    Membre du Club
    Inscrit en
    janvier 2003
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 53
    Points : 53
    Points
    53

    Par défaut

    Salut !
    Personnelement j'utilise RosAsm, qui a l'avantage certain de regrouper tout en un (un EDI sympa avec pas mal de fonctionnalités intéressantes, désassembleur et debugger intégrés, la doc de toutes les mnémoniques et fonctions de l'API Windows accessible en un clic dans l'EDI....)

    Cela reste limité à la programmation 32 bits (pas de fichiers .com) sous Windows (ou ReactOS...), mais pour moi c'est l'outil le plus convivial (une fois qu'on l'a prit en main, c'est sûr )

  6. #6
    Membre du Club Avatar de Ecclesiaste Dworkin
    Inscrit en
    octobre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : octobre 2004
    Messages : 56
    Points : 57
    Points
    57

    Par défaut

    A l'Université de Rennes, c'est TASM qu'on utilise...

  7. #7
    Membre régulier Avatar de Crisanar
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2004
    Messages : 162
    Points : 96
    Points
    96

    Par défaut

    Bonjour à tous (premier post sur ce forum ):
    Je programme sous Windows XP.

    J'utilise le package MASM32. Je n'ai jamais essayé un autre mais maintenant que je commence à m'habituer et à connaître un bon nombre de ses fonctionnalités, je n'ai plus trop envie d'en changer.

    Comme IDE, j'utilise SimEd disponible sur le site de RadAsm et développé par KetilO. C'est un petit programme dévellopé en ASM bien pratique. Il permet comme dans le visual studio de cliquer sur un petit "+" devant les fonctions, les .IF, ... afin de les réduire pour une meilleure lisibilité, mais c'est loin d'etre son seul avantage. Je vous conseille de l'essayer, en plus il ne demande pas d'installation. J'utilisais AsmEditor avant mais quelques bugs m'ont fait changer et je ne regrette pas (désolé pour l'auteur qui est sur ce site si j'ai bien compris, s'il veut des explications sur les bugs rencontrés, je suis dispo)

    Pour editer les ressources : ResEd dispo également sur le site de RadAsm. Un petit bug lorsque l'on change le caption d'un controle puis qu'on le déplace mais sinon il est très léger et possèdes quelques outils intéressants (comme exporter les noms des controles dans un fichier avec les EQUs correspondants)

    Pour débugger : OllyDBG dont je ne saurais me passer. C'est pour moi le meilleur débugger mais je n'ai jamais essayé SI. Olly à "l'avantage" d'etre en Ring3 et ses nombreux plugins en font un outil très puissant.

    Voilà, bonne journée à tous

  8. #8
    Membre habitué Avatar de Didel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2004
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2004
    Messages : 111
    Points : 100
    Points
    100

    Par défaut Réponse

    Hello,

    Pour ma part, pour programmer en assembleur :

    OS : DOS
    LINKER : TLINK, LINK
    COMPILO : TASM, MASM
    DEBUGGER : TURBO DEBUGGER (TD), le meilleur qu'il m'ait été donné de tester sous DOS

  9. #9
    WO
    WO est déconnecté
    Inactif
    Inscrit en
    septembre 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 88
    Points : 97
    Points
    97

    Par défaut Bon, allez un coup de pub pour RosAsm

    Un excellent produit français, avec une sérieuse équipe de maintenance, avec un énorme tutoriel (le source de RosAsm puisque qu'il est auto-compilé).
    Une excellente doc et un système intelligent de déplacement/aide dans l'éditeur... etc.
    Il ne fait pas de substitution de code et permet toutes les formes d'écritures grâce à la construction de vos macros HHl/LL dans un même source...etc.

    Le site principal:
    http://www.rosasm.org/

    Le forum dédié:
    http://www.quanta-it.com/easbell/RosAsmForum/index.php

    En fait le plus simple est de laisser la parole à René Tournois son concepteur :

    RosAsm, l'Assembleur bottom-up pour ReactOS

    (ReactOS, WINE, Windows 95/98, NT/2000, XP,...)

    La façon simple d'écrire des Applications 32 Bits en pur Assembleur

    RosAsm est gratuit, sous GPL.

    IDE avec intégration complète de tous les composants. RosAsm est auto-compilable et les sources sont sauvegardés directement dans les exécutables. Aucun problème d'installation (l'auto installation offerte par la distribution RosAsmFull.zip fait de RosAsm le seul environnement Assembleur entièrement Clic&Go).

    Véritable Editeur de Sources avec de multiples fonctions spécifiquement dédiées à une édition sécurisée, et à la gestion de gros Sources en Assembleur mono-files: Arbre de visualisation, saut instantané vers tout type de déclaration par simple clic-droit, division des mono-fichiers en TITLEs, pre-parsers évolués, IncIncluder, etc.

    Le plus rapide des assembleurs actuels, (1.5 Méga/second sur Celeron 1.3 GHz...) avec production directe des PEs sur simple clic, avec un puissant filtre de Macros (un dépliement de Macros est disponible par double-clic et menu flottant). Syntaxe Intel simplifiée. Aucun besoin d'includes, de prototypes ou de fichiers d'entêtes. Rien d'autre qu'un simple source. Implémentation complète des mnémoniques, jusqu'à SSE2. L'Assembleur Bottom-Up (de bas en haut) de RosAsm est un vrai Assembleur bas niveau, permettant les styles HLL, par Macros définies par l'utilisateur et/ou par la sélection de pré-filtres HLLs.

    Pré-filtres sélectionnables réalisant diverses tâches, comme les expressions HLL, les syntaxes alternatives, la gestion d'includes, ...

    Débuggeur de niveau source avec un inspecteur de mémoire très performant offrant de nombreuses fonctions avancées, comme les points d’arrêt dynamiques, qui peuvent être posés/enlevés par simple clic, aussi bien au moment de l'écriture que durant l'exécution, comme avec les HLLs les plus performants. Pour lancer le Débuggeur, vous cliquez simplement sur Run et c'est fait: Votre application est exécutée par le Débuggeur. Toute erreur (ou point d’arrêt, proposant des modes pas à pas évolués, ou point-surveillant sur l'écriture d’une variable donnée) est montrée directement dans le source, avec des messages d'erreurs exacts.

    Désassembleur. Au jour d'aujourd'hui, RosAsm est le seul et unique désassembleur-réassembleur-deux-clics jamais vu. Il est actuellement pleinement fonctionnel sur de petits fichiers et sur quelques Applications de tailles moyennes: L'outil de rêve pour l'étude et pour porter vos travaux précédents vers l'Assembleur.

    Editeur de Ressources original, avec contrôle des compatibilités de styles, produisant aussi bien des ressources PEs à emploi direct, des fichiers ou des templates mémoire.

    System d'aide intégré, avec "Tutoriaux Assembleur32 bits", "Aide Opcode", et "Manuel RosAsm" (1.5 Méga de documentations, regroupant prés de 600 fichiers rtf structurés).

    Système de Clip file, pour le réemploi de templates.

    Fichiers d'Equates OS, et de Structures intégrés, vous épargnant tous les habituels "include"s.

    ... et bien d'avantage...

    A l'opposé de la plus-part des autres RAD/IDEs, RosAsm n'essaie pas de vous impressionner avec de multiples fenêtres et des fonctionnalités insistantes. Au contraire, les implémentations des fonctions de RosAsm ont toujours été aussi discrètes et silencieuses que possible, et l'apparence générale a toujours été rendue aussi dépouillée et aussi simple que possible. Beaucoup de fonctions sont optionnelles, grâce au dialogue de configuration.

    Bien que RosAsm soit l'outil le plus adapté pour l'étude de la merveilleuse simplicité de l'Assembleur - particulièrement depuis l'arrivée des "Tutoriaux Visuels Interactifs" - et bien qu'il soit la voie la plus facile vers la réalité, RosAsm a été pensé et défini, d'abord, comme un outil professionnel de développement de véritables applications en pur Assembleur. Son but final est d'entrer en compétition avec les HLLs les plus en vogue, pour le développement de réelles Applications. Ce but sera atteint, dans un futur proche, avec les implémentations en cours, ou prochaines, des Visual Components Designers (développement visuel des interfaces - wizards -) et avec les implémentations de quelques Applications builders (constructeurs d'Applications).

  10. #10
    Membre confirmé

    Inscrit en
    octobre 2005
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 173
    Points : 208
    Points
    208

    Par défaut Quel assembleur ?

    MASM,l'assembleur fournit avec le C++ de microsoft, offre un macro langage de haut niveau .
    L'IDE le mien
    Pourquoi ?
    Si vous savez vous servir de masm , vous savez aussi vous servir de editmasm.Toutes les fonctions de l'editeur permettent d'écrire du code répétitif , beaucoup de choses se répétent en assembleur et je n'ai pas encore fait le tour de tout.
    Editmasm ne dévellope aucun pseudo-langage a partir de masm32
    http://perso.wanadoo.fr/luce.yves/

    Pourquoi l'assembleur ?,c'est le meilleur outil pour connaitre le systeme et savoir ce que l'on fait.

    Le debugger utilisé par editmasm est Windbg,son utilisation est grandement facilitée par editmasm.Microsoft se decarcasse pour chasser le BUg,il faut en profiter.

    ToutEnMasm

  11. #11
    Membre du Club
    Inscrit en
    mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 54
    Points : 40
    Points
    40

    Par défaut

    - Assembleur MASM32.

    - Comme debugger SoftIce (J'ai jamais trouvé aussi puissant) (souvant cependant j'utilise l'int 03 pour breaker ou je veux)

    - Comme desassembleur IDA mais seuleument pour cracker, je ne l'utilise pas pour mes propres programmes puisque je suis sensé savoir qui est quoi. A mon avis IDA est utile uniquement pour l'exploration d'un code inconnu, d'autant plus qu'il est lent au désassemblage, et qu'il faut réactualiser chaque nouvelle compilation.

    - Sinon comme IDE j'utilise simplement Wordpad pour écrire mon code et un simple fichier *.Bat pour lancer la compilation, l'artillerie lourde n'est pas indispensable et les logiciels avec sur-enchères de fonctionnalités inutiles c'est juste bon à perdre du temps. Une simple fontion "go To Line" à la rigueure est tout ce qu'il faut.


    - Par contre je commente énormément mon code (en début de procédure principalement), et par dessus tout je l'éclate en plusieurs fichiers *.asm. Chaque grande fonctionnalité du projet est placé dans un fichier distinct. Et surtout.... une copie du projet global est sauvegardé chaque soir dans un dossier du type jj-mm-aaaa pour avoir la possibilité de revenir qques jours en arrière lorsque qquchose de grâve cloche vraiment. Dans chaque dossier se trouve en entête un fichier __Avancement.txt qui récapitule les grandes étapes résolues et celles à résoudre pour avancer. Ca permet de tout de suite savoir ou on en est quand on doit revenir en arrière de qques jours à cause d'un problème.


    C'est une méthode parmi d'autres... pas forcément la meilleure, mais elle permet de vite s'y retrouver. (Même après plusieurs mois d'inactivité pour faire évoluer un proramme).
    @+

  12. #12
    Membre régulier Avatar de astrotouf
    Profil pro
    Consultant informatique
    Inscrit en
    avril 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : avril 2005
    Messages : 220
    Points : 91
    Points
    91

    Par défaut MASM

    Nous a l'universite de l'USTHB (Alger) on utilise MASM mais sur 16 bits.

  13. #13
    Invité régulier
    Inscrit en
    janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 7
    Points : 6
    Points
    6

    Par défaut

    Bonjour,
    J'utilise MASM.
    On trouve le package complet sous le nom de MASM32 que l'on peut télécharger. Ce package contient de nombreux exemples et les bibliothèques et utilitaires nécessaires.

    MASM version ML 6.15 permet de programmer en 16 bits ou en 32 bits.
    Il existe aussi une version masm64 pour les AMD64, mais je l'ai pas encore essayée (il faudra d'abord que j'achète un AMD 64).

  14. #14
    Invité de passage
    Inscrit en
    mars 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    Bonjour à tous,

    Je cherchais un assembleur qui me permette de générer du code AMD64 sous Debian Linux AMD64. J'ai trouvé YASM.
    Ca marche bien, j'arrive facilement à linker avec GCC.
    Pour le debug, je reconnais que c'est plutôt frustre : gdb en ligne de commande !

    L'avantage c'est qu'il existe des versions 32 bits de YASM pour Windows. Et la syntaxe est très proche entre 32 bits Pentium et 64 bits AMD64.
    Comme cela, quand vous avez écrit de petites fonctions assembleur qui marchent en 64 bits, l'effort pour passer au 32 bits est très petit.

    (Il faut dire que je fais du calcul pur : Développement d'une bibliothèque optimisée pour l'AMD 64 qui implémente les calculs sur les grands nombres entiers).

    Ainsi avec des bouts de programmes en C et en C++, récupérés à droite à gauche, + YASM, j'arrive assez facilement à cibler les environnements suivants :
    Windows 32 bits, Linux 32 et 64 bits.
    Pour Windows 64 bits, je ne dispose pas de l'OS pour faire des tests.

    Sous Windows 32 bits, j'utilise comme IDE C++BuilderX qui était fourni avec un bouquin de C++ que j'ai acheté. J'ai réussi à intégrer YASM à l'IDE, ainsi, je peux facilement éditer, et corriger les erreurs de syntaxe.

    Nicolas

  15. #15
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    mars 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2006
    Messages : 31
    Points : 10
    Points
    10

    Par défaut

    masm 6.15 pour tester des instructions tres simples et visualiser les registres
    et
    winasm pour developper en haut niveau

  16. #16
    jbe
    jbe est déconnecté
    Nouveau Membre du Club

    Inscrit en
    novembre 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : novembre 2002
    Messages : 32
    Points : 35
    Points
    35

    Par défaut

    X86 (Intel, etc) :
    Nasm (http://www.kernel.org/pub/software/devel/nasm/), Tasm, Masm...

    68K (Motorola) :
    Easy68K (http://www.monroeccc.edu/ckelly/EASy68K.htm)

    Pour AVR (Atmel) :
    WinAVR (http://winavr.sourceforge.net/) et
    AVRStudio 4 (http://www.atmel.com/dyn/products/to...p?tool_id=2725)

    Pour Pic (Michoship) :
    MPLab 7 (http://www.microchip.com) et
    gputils (http://gputils.sourceforge.net/)

    Pour 8051 (Intel, etc) :
    asem-51 (http://plit.de/asem-51/)

    Pour Z80 :
    ca fait un petit moment que j'ai pas utilisé de Z80, donc voir la (http://www.z80.info/z80sdt.htm#SDT_ASM)

    apres j'utilise beaucoup de Xilinx, comme par exemple pour faire ces propres core de CPU...

  17. #17
    Invité de passage
    Inscrit en
    août 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 1
    Points : 1
    Points
    1

    Par défaut pas regardé

    J'ai appris l'asm sous Dos

    avec
    edit du dos comme editeur
    masm comme compillateur
    link
    et afd comme debugger

    pour ce que j'ai du faire aux cours (pilotte d'imprimante, transfert de donnée par cable parallele, driver pour certains circuit integré, tripatouillage des int) cela suffisait tout a fait.

  18. #18
    Nouveau Membre du Club
    Inscrit en
    août 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 23
    Points : 25
    Points
    25

    Par défaut

    J'utilise MASM32 pour les programmes 32 bits et 16 bits. Pour lier les programmes 16 bits j'utilise le lieur 16 bits de Microsoft.

    Pour le déboggage c'est debug pour le 16 bits et ollydbg pour le 32 bits.

    L'EDI j'utilise RadAsm.

  19. #19
    Membre confirmé
    Profil pro Matthieu
    Étudiant
    Inscrit en
    septembre 2004
    Messages
    394
    Détails du profil
    Informations personnelles :
    Nom : Matthieu
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2004
    Messages : 394
    Points : 266
    Points
    266

    Par défaut

    personnellement pour les PIC , et les 68HC11 , le mieux pour moi , s'est isis( proteus)

    Le seul moins , pour vous , s'est si vous n'avez pas la lissance éléve , s'est trés cher .

    Vous pouvez faire , analyse en pas a pas , simuler une carte complète , ( cerveau moteur , écran LCD , diode ...... )

  20. #20
    Membre chevronné
    Étudiant
    Inscrit en
    septembre 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 20

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2006
    Messages : 515
    Points : 773
    Points
    773

    Par défaut

    À voir tous vos posts j'ai l'impression d'être le seul à utiliser Fasm

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •