« Assembleur/Le langage assembleur » : différence entre les versions
Contenu supprimé Contenu ajouté
Parie "UNIX" prise en partie sur Wikipédia. Chapitre à éttofer. |
m Orthographe |
||
Ligne 14 :
L'assembleur est un langage dit '''bas niveau''', c'est à dire que son fonctionnement est très proche du langage machine. Cela veut aussi dire qu'une erreur de codage peut tout à fait faire planter votre machine. Mais l'avantage du langage assembleur est de pouvoir gérer jusqu'au moindre octet de mémoire et de toujours savoir quel code est exécuté par le microprocesseur à un instant donné.
L'assembleur
== Principe de programmation ==
Ligne 20 :
=== Une actions par ligne ===
Lorsqu'on code un programme assembleur, il faut toujours garder à l'esprit que ce langage ne peut exécuter que des actions ''simples''. On a l'habitude de dire qu'une ligne de code sera exécutée en un tour d'horloge du microprocesseur.<br />
Exemple : pour calculer (7+6)[[w:Modulo (informatique)|%]]3, on aura le code suivant :
<source lang="asm">
MOV AX, 7 ; AX, qui est mis à 7, sera la destination
Ligne 32 :
=== De haut en bas ===
L'assembleur est exécuté de haut en bas, et ce sans exceptions. Le seul moyen de faire répéter une
=== Toujours surveiller la mémoire ===
Si pour une raison ou une
Voici une chose à ne pas faire.
<source lang="asm">
Ligne 48 :
== Sécurité ==
Il n'y a aucune sécurité lorsque vous codez en ASM. Lors de l'assemblage, l'assembleur ne vous dira que ce qui l'empêche de faire son travail, il n'effectue aucune vérification des valeurs mises dans les registres. Soyez toujours vigilant, mais sachez tout de même qu'une simple erreur ne sera pas grave pour votre PC, le pire
== Premier programme en ASM ==
Ligne 62 :
RET ; On termine l'application proprement.
message db "Hello, World !", '$' ; On défini la
</source>
Ligne 74 :
Hello.asm
<source lang="asm">
message db 'Hello, World !', 10h ; On défini la chaîne de
taille equ $-message ; On laisse l'assembleur mesurer la taille de la chaîne, et on la
MOV eax, 4 ; Numéro de la fonction "write"
|