Livres
Machine, langage et dialogue
Machine, langage et dialogue book cover
Auteur: Sabah Gérard Vivier
Editeur: L'Harmattan
Prix Editeur: EUR 25,95
Notre prix: EUR 24,65
Amiga, le livre du langage machine
Auteur: Dittrich
Editeur: Micro application
Prix Editeur: EUR 31,85
Notre prix: EUR 5,23
La machine à parler
La machine à parler book cover
Auteur: Jacqueline Duhême
Editeur: Editions Gallimard
Prix Editeur: EUR 5,50
Notre prix: EUR 39,90
Machines de traitement de l'information circuits et programmes , tome I, étude logique et construction des circuits, tome II, programmation : principes et langages d'assemblage
Auteur: Miguel-Angel Asturias
Editeur: Interéditions
Prix Editeur: EUR 29,58
Notre prix: EUR 33,25

Amazon

Revue de presse Langage_machine
shout shout

var wgPageName = "Langage_machine"; var wgTitle = "Langage machine"; var wgAction = "view"; var wgRestrictionEdit = []; var wgRestrictionMove = []; var wgArticleId = "1833"; var wgIsArticle = true; var wgUserName = null; var wgUserGroups = null; var wgUserLanguage = "fr"; var wgContentLanguage = "fr"; var wgBreakFrames = false; var wgCurRevisionId = "23841067"; /*]]>*/

Langage machine

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

image:Langage_progr.png
Cet article fait partie de la série
langages de programmation
Langages à objets
C++ - C# - D
Delphi - Eiffel - Groovy
Java - Lisaac - Python - Ruby
Simula - Smalltalk
Visual Basic - WLangage
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol - Natural
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
Voir aussi
Conception - Codage
Tests - Optimisations

Le langage machine est la suite de bits qui est interprétée par le processeur de l'ordinateur lors de l'exécution d'un programme. C'est le langage natif du processeur. Il est aussi appelé code machine. Chaque processeur a son propre langage machine, mais il y a beaucoup de points communs entre tous. Si un processeur A est capable d'exécuter toutes les instructions du processeur B, on dit que A est compatible avec B. L'inverse n'est pas forcément vrai, A peut avoir des instructions supplémentaires que B ne connaît pas.

Les « mots » d'un langage machine sont appelées instructions. Chacune d'elles déclenche une commande de base du processeur (par exemple : chercher une valeur dans la mémoire pour charger un registre, additionner deux registres, etc.). Un programme est juste une longue séquence d'instructions qui sont exécutées par le processeur. Elles sont exécutées séquentiellement sauf quand une instruction de saut transfère l'exécution à une autre instruction que celle qui suit. Des sauts conditionnels sont exécutés (l'exécution continue à une autre adresse) ou pas (l'exécution continue à l'instruction suivante) selon certaines conditions.

Chaque instruction est caractérisée par un numéro appelé opcode ou code opération. Ainsi, une instruction est simplement un groupement de bits -- différentes combinaisons correspondent à différentes commandes à la machine. La traduction la plus lisible du langage machine est appelé langage assembleur, qui est une traduction de chaque groupe de bits de l'instruction. Par exemple, pour les ordinateurs d'architecture x86, l'opcode 0x6A correspond à l'instruction push et l'opcode 0x74 à je (jump if equal).

Certains processeurs donnent à leurs instructions le même nombre de bits, tandis que la longueur de l'instruction diffère sur d'autres. L'organisation des combinaisons de bits dépend largement du processeur. Le plus commun est la division en champs. Un des champs ou plusieurs spécifie l'opération exacte (par exemple une addition). Les autres champs indiquent le type des opérandes, leur localisation, ou une valeur littéral (les opérandes contenus dans une instruction sont appelés immédiat).

Comme exemple spécifique, regardons l'architecture MIPS. Ses instructions ont toujours une longueur de 32 bits. Le type général de l'instruction est donné par le champ op, les 6 bits de poids les plus forts (dans une représentation sur 32 bits, les 6 de gauche). Les instructions de type-J et de type-I sont pleinement spécifiées par le champ op. Les instructions de type-R ont un champ supplémentaire, fonct, pour déterminer la nature exacte de l'opération. Les champs de ces 3 types d'instructions sont :


   6      5     5     5     5      6 bits
[  op  |  rs |  rt |  rd |shamt| fonct]  type-R
[  op  |  rs |  rt | adresse/immédiat ]  type-I
[  op  |        adresse cible         ]  type-J

rs, rt, et rd indique des opérandes de type registre ; shamt indique un décalage (shift amount) ; et le champ adresse ou immédiat contient un opérande sous forme de valeur.

Par exemple, ajouter les registres 1 et 2 et placer le résultat dans le registre 6 est codé :

[  op  |  rs |  rt |  rd |shamt| fonct]
    0     1     2     6     0     32     décimal
 000000 00001 00010 00110 00000 100000   binaire

Charger une valeur depuis la cellule mémoire 68 cellules après celle pointée par le registre 3 dans le registre 8 :

[  op  |  rs |  rt | adresse/immédiat ]
   35     3     8           68           décimal
 100011 00011 01000 000000000001000100   binaire

Sauter à l'adresse 1025 (la prochaine instruction à exécuter se trouve à l'adresse 1025) :

[  op  |        adresse cible         ]
    2                 1025               décimal
 000010 000000000000000000010000000001   binaire
OIIOOIOI OIIIIOIO   OIIOOOOI OIIOIOOI OIIOOIOO
 

shout
Réagissez


Attention! tous les commentaites inaproprié seront supprimés
Titre:
Video YouTube ou google: (doit être en rapport avec le sujet)
Votre mail:
Un pseudo:
Votre site:
Commentaire (le html n'est pas autorisé, nombre de caractère maximum = 400)
  save (Comment eBabylone 1.0 beta)

Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/ Langage machine
Base de liens  |  Ajouter lien  |  Contact Rss
On est 64 visiteur(s) en ligne