L'assembleur

La programmation de haut niveau java, que vous avez apprise pour votre projet, n'est pas directement comprise par le microprocesseur. Elle est d'abord traduite pour la Virtual Machine Java, puis ensuite traitée par le microprocesseur sous la forme d'un programme en assembleur.Un langage assembleur est, en programmation informatique, un langage de bas niveau qui représente le langage machine sous une forme lisible par un humain. Le langage machine est le seul langage qu'un processeur puisse exécuter. Or chaque famille de processeurs utilise un jeu d'instructions différent.

Traduction en assembleur d'une fonction simple :         int succ(int n)        {                                                                                     return n+1 ;                                                                              }

Assembleur :

.pos 0 # stack position
prog: mrmovl a, %eax # move long a memory to register eax
mrmovl b, %ebx # move long b memory to register eax
addl %ebx, %eax # add long ebx to eax. Store the value in eax
rmmovl %eax, c # move long a to register eax to memory c
halt # STOP# data
.align 4
.pos 100 # stack position
a: .long 0x2
b: .long 0x3
c: .long 0x0

Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont le coût de fabrication est le plus élevé car la place dans un microprocesseur est limitée. Leur capacité dépasse donc rarement quelques dizaines d'octets.
Registres d'un 8086 CPU (Central Processing Unit)

Une pile (en anglais stack) est une structure de données fondée sur le principe « dernier arrivé, premier sorti » (ou LIFO pour Last In, First Out), ce qui veut dire que les derniers éléments ajoutés à la pile seront les premiers à être récupérés. Le fonctionnement est celui d'une pile d'assiettes : on ajoute des assiettes sur la pile, et on les récupère dans l'ordre inverse, en commençant par la dernière ajoutée. Dans l'architecture x86 32bits, le registre ESP sert à indiquer l'adresse du sommet d'une pile dans la RAM. Le sommet de la pile est en bas.

Les connaissances informatiques d'Ugo et Pauline. © 2017
Optimisé par Webnode
Créez votre site web gratuitement ! Ce site internet a été réalisé avec Webnode. Créez le votre gratuitement aujourd'hui ! Commencer