documentation de référence sur assembleur

Cette page contient les information de référence sur assembleur :

web sémantique sur assembleur

En outre, on trouve les analogies de assembleur :

   Publicité ▼

sensagent's office

Raccourcis et gadgets. Gratuit.

* Raccourci Windows : sensagent.

* Widget Vista : sensagent.


Alexandria poste de travail. 29€.

Pour Windows ou Vista. Simple/double clique/Ctrl+F10. Pour tout logiciel (word, excel, etc.). Sans publicité.

dictionnaire et traducteur pour sites web

Alexandria

Une fenêtre (pop-into) d'information (contenu principal de Sensagent) est invoquée un double-clic sur n'importe quel mot de votre page web. LA fenêtre fournit des explications et des traductions contextuelles, c'est-à-dire sans obliger votre visiteur à quitter votre page web !

Essayer ici, télécharger le code;

SensagentBox

Avec la boîte de recherches Sensagent, les visiteurs de votre site peuvent également accéder à une information de référence pertinente parmi plus de 5 millions de pages web indexées sur Sensagent.com. Vous pouvez Choisir la taille qui convient le mieux à votre site et adapter la charte graphique.

Solution commerce électronique

Augmenter le contenu de votre site

Ajouter de nouveaux contenus Add à votre site depuis Sensagent par XML.

Parcourir les produits et les annonces

Obtenir des informations en XML pour filtrer le meilleur contenu.

Indexer des images et définir des méta-données

Fixer la signification de chaque méta-donnée (multilingue).


Renseignements suite à un email de description de votre projet.

Jeux de lettres

Les jeux de lettre français sont :
○   Anagrammes
○   jokers, mots-croisés
○   Lettris
○   Boggle.

Lettris

Lettris est un jeu de lettres gravitationnelles proche de Tetris. Chaque lettre qui apparaît descend ; il faut placer les lettres de telle manière que des mots se forment (gauche, droit, haut et bas) et que de la place soit libérée.

boggle

Il s'agit en 3 minutes de trouver le plus grand nombre de mots possibles de trois lettres et plus dans une grille de 16 lettres. Il est aussi possible de jouer avec la grille de 25 cases. Les lettres doivent être adjacentes et les mots les plus longs sont les meilleurs. Participer au concours et enregistrer votre nom dans la liste de meilleurs joueurs ! Jouer

Dictionnaire de la langue française
Principales Références

La plupart des défintions du français sont proposées par Memodata et comportent un approfondissement avec Littré et plusieurs auteurs techniques spécialisés.
Le dictionnaire des synonymes est surtout dérivé du Crisco ou du dictionnaire intégral (TID).
L'encyclopédie française bénéficie de la licence Wikipedia (GNU).

Traduction

Changer la langue cible pour obtenir des traductions.
Astuce: parcourir les champs sémantiques du dictionnaire analogique en plusieurs langues pour mieux apprendre avec sensagent.

Copyright

Les jeux de lettres anagramme, mot-croisé, joker, Lettris et Boggle sont proposés par Memodata.
Le service web Alexandria est motorisé par Memodata pour faciliter les recherches sur Ebay.
La SensagentBox est offerte par sensAgent.

Dernières recherches dans le dictionnaire :

tocante · entasser · herbier · onde radio · Aussi ·
2415 visiteurs en ligne

calculé en 0.031s

   Publicité 

Ecran ▼    Interface ▼    Favoris ▼   

 » 

Choisissez vos langues source et cible.

Résumé des résultats
 définitions   synonymes   locutions   réseau sémantique   anagrammes   mots-croisés   conjugaison   exemple   wikipedia   Le Littré   Ebay   Amazon   traductions 
 
définitions

assembleur (n.)

1.personne qui assemble.

assembleur (n.m.)

1.(informatique)programme qui traduit un langage symbolique de bas niveau en langage machine.

2.(technique)ouvrier qui assemble les feuillets d'un livre.

 
voir aussi

assembleur (n.)

assembler

 
synonymes

assembleur (nominal)

ajusteur, facteur, monteur

 
locutions
 
dictionnaire analogique

assembleur (n.)

assembleur (n. m.)

assembleur (n. m.)

tid

machine à relier[Classe]

assembler des choses[termes liés]

assembleur (n. m.) [informatique]

assembleur (n. m.) [technique]

tid

ouvrier : imprimerie[Classe]

reliure du livre[termes liés]

 
le Littré (1880)

ASSEMBLEUR, EUSE (s. m. et f.)

1. Ouvrier, ouvrière qui fait les assemblages après le tirage des volumes.

2. Poétiquement.

... Notre engeance Prit pied sur cette indulgence.... Et l'assembleur de nuages Jura le Styx, et promit De former d'autres orages (LA FONT. Fab. VIII, 20)

ÉTYMOLOGIE

Assembler.

SUPPLÉMENT AU DICTIONNAIRE

ASSEMBLEUR. Ajoutez : - HIST. XIVe s.Compilator, assambleres (ESCALLIER Vocabulaire latin franç. 399)

 
Wikipedia

Assembleur

Un article de Wikipédia, l'encyclopédie libre.

Cet article a pour sujet le langage d'assemblage. Pour le programme produisant un exécutable à partir d'un source écrit dans ce langage, voir Programme assembleur.

image:Langage_progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
4D - C++ - C# - D
Delphi - Eiffel - Groovy
Java - Python - Ruby
Simula - Smalltalk
Visual Basic - WinDev
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Limbo
Logo - Pascal - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme
XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Langage de balisage
HTML - SGML - XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

Cet article ou cette section doit être recyclé. Sa qualité devrait être largement améliorée en le réorganisant et en le clarifiant.
L'utilisateur qui appose ce bandeau est invité à énoncer les points à améliorer en page de discussion.

Un langage d'assemblage (ou langage assembleur ou simplement assembleur par abus de langage, abrégé ASM) est un langage de bas niveau proche du langage machine qui peut être directement utilisé par le microprocesseur de la machine mais qui reste lisible par un humain. Le langage machine est une combinaison de bits rendue lisible en remplaçant les valeurs brutes par des symboles appelés mnémoniques (du grec mnêmonikos, relatif à la mémoire) simples et plus faciles à retenir.

Par exemple, alors qu'un processeur de la famille x86 reconnaîtra ce que l'instruction machine

 10110000 01100001

signifie, pour le programmeur c'est plus simple de se souvenir de son équivalent en langage assembleur :

 mov %al,$0x61

(cela signifie "mettre la valeur hexadécimale 61 (97 en décimal) dans le registre 'AL'.)

Contrairement à un langage de haut niveau, il y a (excepté le cas des macros, ou macro-instructions) une correspondance un à un entre le code assembleur et le langage machine, ainsi il est possible de traduire le code dans les deux sens sans perte d'information. La transformation du code assembleur en langage machine est accomplie par un programme nommé assembleur, dans l'autre sens par un programme désassembleur. Les opérations s'appellent respectivement assemblage et désassemblage. Dans un programme réel en assembleur, c'est un peu plus complexe que cela (on peut donner des noms aux routines, aux variables), et on n'a plus cette correspondance. Sur les premiers ordinateurs, la tâche d'assemblage était accomplie manuellement par le programmeur.

Chaque microprocesseur a son propre langage machine, et donc son propre langage d'assemblage (l'exemple ci-dessus est pour le x86). Ces différents microprocesseur ont des tailles de registres differentes et un jeu d'instructions plus ou moins étendu, selon leur conception et leur utilisation.

De plus, plusieurs groupes de mnémoniques ou de syntaxes de langage assembleur peuvent exister pour un seul ensemble d'instructions, créant ainsi des macro-instructions.

Sommaire

  • 1 Le sens des transferts
  • 2 Instructions machine
  • 3 Exemples simples
    • 3.1 Afficher Bonjour
    • 3.2 Lire le clavier (16 caractères max) puis l'afficher
  • 4 Directives du langage assembleur
  • 5 Usage du langage Assembleur
  • 6 Macro-assembleur
  • 7 Références
    • 7.1 Article connexe
    • 7.2 Liens internes
    • 7.3 Liens externes

Le sens des transferts

les opérandes peuvent être inversées.

Remarquons quand même que cette instruction se traduit dans la plupart des langages évolués par (ici en pseudo-C) :

Al = 0x61 ;  traduite en syntaxe Intel par  mov 0x61, al

Cette syntaxe ("Intel") semble la plus logique. En effet la plupart des langages évolués ont une filiation (indirecte) avec le grand ancêtre Fortran qui a introduit cette convention.

Remarquons aussi que en français on dirait :

mettre 0x61 dans AL; traduite en syntaxe AT&T par mov al, 0x61

et en langage Cobol on écrit

move 97 to AL  

La syntaxe "AT&T" (opérandes inversées) semble alors la plus logique.

Mais en français on écrit aussi :

AL reçoit 0x61

qui semble tout aussi naturel. La langue parlée ne permet donc pas de justifier certaines préférences lorsqu'il s'agit de définir la syntaxe d'un langage de programmation.

Instructions machine

Des opérations de base sont disponibles dans la plupart des jeux d'instructions

  • déplacement
    • chargement d'une valeur dans un registre
    • déplacement d'une valeur depuis un emplacement mémoire dans un registre, et inversement
  • calcul
    • addition, ou soustraction des valeurs de deux registres et chargement du résultat dans un registre
    • combinaison de valeurs de deux registres suivant une opération booléène
  • modification du déroulement du programme
    • saut à un autre emplacement dans le programme (normalement, les instructions sont exécutées séquentiellement, les unes après les autres)
    • saut à un autre emplacement, mais après avoir sauvegardé l'instruction suivante afin de pouvoir y revenir (point de retour)
    • retour au dernier point de retour
  • comparaison
    • comparer les valeurs de deux registres

Et on trouve des instructions spécifiques avec une ou quelques instructions pour des opérations qui auraient dû en prendre beaucoup. Exemples :

  • déplacement de grands blocs de mémoire
  • multiplication, division
  • arithmétique lourde (sinus, cosinus, racine carrée, operations sur des vecteurs)
  • application d'une opération simple (par exemple, une addition) à un ensemble de données

Exemples simples

Voici quelques exemples simples :

  • en syntaxe AT&T (écrits pour l'assembleur GNU (GAS) pour Linux)
  • utilisant le jeu d'instructions i386
  • à utiliser comme suit:
$ as truc.s -o truc.o
$ ld truc.o -o truc
$ ./truc

Afficher Bonjour

(les commentaires se trouvent apres les points-virgule)

        .global _start

BONJ:   .ascii  "Bonjour\n"      ; Definition en mémoire de la chaîne a afficher. \n correspond au saut de ligne

_start: mov     $4      , %eax   ; Mettre 4 dans le registre eax (appel système Write)
        mov     $1      , %ebx   ; Mettre 1 dans le registre ebx (descripteur de fichier STDOUT)
        mov     $BONJ   , %ecx   ; Mette l'adresse mémoire de notre chaîne de caractere dans le registre ecx
        mov     $8      , %edx   ; Mettre la taille de la chaîne dans edx
        int     $0x80            ; Interruption 0x80, executant un appel systeme sous Linux)

        mov     $1      , %eax   ; Mettre 1 dans eax (appel système Exit)
        mov     $0      , %ebx   ; Mettre 0 dans ebx (valeur de retour du programme)
        int     $0x80            ; Interruption 0x80, executant un appel systeme sous Linux)

Lire le clavier (16 caractères max) puis l'afficher

# define N 16

        .global _start

        .comm   BUFF    , N

_start: mov     $3      , %eax
        mov     $0      , %ebx
        mov     $BUFF   , %ecx
        mov     $N      , %edx
        int     $128

        mov     %eax    , %edx
        mov     $4      , %eax
        mov     $1      , %ebx
        mov     $BUFF   , %ecx
        int     $128

        mov     $1      , %eax
        mov     $0      , %ebx
        int     $128

Directives du langage assembleur

En plus de coder les instructions machine, les langages assembleur ont des directives supplémentaires pour assembler des blocs de données et assigner des adresses aux instructions en définissant des étiquettes ou labels.

Ils sont capables de définir des expressions symboliques qui sont évaluées à chaque assemblage, rendant le code encore plus facile à lire et à comprendre.

Ils ont habituellement un langage macro intégré pour faciliter la génération de codes ou de blocs de données complexes.

Usage du langage Assembleur

Il y a des débats sur l'utilité du langage assembleur. Dans beaucoup de cas, des compilateurs-optimiseurs peuvent transformer du langage de haut niveau dans un code qui tourne de façon plus efficace qu'un code assembleur écrit à la main, tout en restant beaucoup plus facile (et moins coûteux) à écrire, à lire et à "maintenir".

Cependant,

  1. quelques calculs complexes écrits directement en assembleur, en particulier sur des machines massivement parallèles, seront plus rapides, les compilateurs n'étant pas encore assez évolués pour tirer partie des spécificités de ces architectures.
  2. certaines routines (drivers) sont parfois plus simples à écrire en langage de bas niveau.
  3. des tâches très dépendantes du système, exécutées dans l'espace mémoire du système d'exploitation sont parfois difficiles à écrire dans un langage de haut niveau.

Certains compilateurs transforment, lorsque leur option d'optimisation la plus haute n'est pas activée, des programmes écrits en langage de haut niveau en code assembleur, chaque instruction de haut niveau se traduisant en une série d'instructions assembleur rigoureusement équivalentes et utilisant les mêmes symboles ; cela permet de voir le code dans une optique de débogage et de profilage, ce qui permet de gagner parfois beaucoup plus de temps en remaniant un algorithme. En aucun cas ces techniques ne peuvent être conservées pour l'optimisation finale.

La programmation des systèmes embarqués, souvent à base de microcontrôleurs, est une "niche" traditionnelle pour la programmation en assembleur. En effet ces systèmes sont souvent très limités en ressources (par exemple un microcontrôleur PIC 16F84 est limité à 1024 instructions de 14 bits, et sa mémoire vive contient 136 octets). et requièrent donc une programmation de bas-niveau très optimisée pour en exploiter les possibilités. Toutefois, l'évolution du matériel fait que les composants de ces systèmes deviennent de plus en plus puissants à coût et a une consommation élèctrique constants, l'investissement dans une programmation "tout assembleur" beaucoup plus coûteuse en heures de travail devient alors un non-sens en terme d'efforts.

Macro-assembleur

Beaucoup d'assembleurs gèrent un langage de macros. Il s'agit de regrouper plusieurs instructions afin d'avoir un enchaînement plus logique et moins fastidieux.
Par exemple (en assembleur Microsoft MASM) :

 putchar Macro   car          ; Prototype de la macro
         ifdef   car          ; si car est défini
         mov     dl,car       ;   le mettre dans dl
         endif
         mov     ah,2         ; ah=2 : fonction "putchar" en DOS
         int     21h          ; appel au DOS
         endm                 ; fin macro

est une macro qui affiche un caractère sous MS-DOS. On l'utilisera par exemple ainsi :

       putchar "X"

Et cela générera :

       mov    dl,"X"
       mov    ah,2
       int    21h


Références

Article connexe

Voir Programme assembleur

Liens internes

  • GNU binutils
  • NASM
  • FASM
  • MASM

Liens externes

   
wikt:

Le Wiktionnaire possède une entrée pour « assembleur ».

  • (fr) Cours complet d'Assembleur Les cours d'Iprezo
  • (fr) La F.A.Q Assembleur Les réponses à vos questions sur l'Assembleur
  • (fr) Tutoriels Assembleur
  • (fr) Le forum d'entraide Assembleur
  • (fr) ABC de la programmation en assembleur
  • (fr) AsmFR  : site de passionnés qui mettent en commun leurs connaissances
  • NASM - Netwide Assembler
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
Récupérée de « http://fr.wikipedia.org../../../a/s/s/Assembleur.html »

This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer) . Donate to wikipedia.

Licence : Wikipedia. This article is licensed under the GNU Free Documentation License.

eBay
  

Assembleur - Théorie pratique et exercices (3.0 EUR)

Usage commercial de ce terme

berna clamps assembleur tige de 80 mm (4.2 EUR)

Usage commercial de ce terme

ASSEMBLEUR 8088 ET BIOS IBM-PC (8.0 EUR)

Usage commercial de ce terme

PC GAMER ASSEMBLEUR (450.0 EUR)

Usage commercial de ce terme

Achat sur eBay et aides linguistiques
Définitions et traductions accessibles en 1 double-clic !

   Publicité ▼