Cours et tutorial de la lecture de l’assembleur

Cours assembleur, tutoriel de la lecture de l’assembleur document introduction à la programmation en assembleur PDF.

A présent il est temps pour vous d’ apprendre à lire le langage assembleur, et surtout le comprendre. Sans cette étape primordiale, ne comptez pas comprendre un jour ce que vous faites: vous n’arriverez pas à reverser un programme sans suivre à la lettre le cours qui va avec, car vous n’aurez aucune idée de ce que vous êtes censés faire. Suivez attentivement ce descriptif (des bases nécessaires, il y a bien sur bien plus de choses à connaître que ce qui suit, mais ceci vous donnera déjà un bon aperçu) et n’hésitez pas à le relire si besoin pour bien vous en imprégner.
Pieces, bits et bytes:
· BIT – La plus petite partie de donnée existante. Le bit peut être 0 ou 1. En mettant un groupe de bits ensemble, on se retrouve avec le “systeme de nombres binaires”. ex: 00000001 = 1 00000010 = 2 00000011 = 3 etc.
· BYTE – Un byte comprend 8 bits. Il peut avoir une valeur maximale de 255 (0-255). Pour rendre la compréhension du système binaire plus facile, on utilise le système “hexadécimal”. C’est un système “sur base de 16”, tandis que le binaire est un système “sur base de 2”.
· WORD – Un word est simplement 2 bytes ensemble, soit 16 bits. Un Word peut avoir une valeur maximale de 0FFFFh (soit 65535d, ou h veut dire “en hexadécimal”, et d “en décimal”).
· DOUBLE WORD – Syntaxe DWORD: Un DWORD consiste en deux WORD ensemble, soit un maximum de 32 bits. Valeur maximale = 0FFFFFFFFh (ou encore 4294967295d).
· KILOBYTE – Un KILOBYTE n’est pas égal à 1000 bytes comme on pourrait le croire, il équivaut à 1024 (32*32) bytes.
· MEGABYTE – Un MEGABYTE n’est pas non plus egal à 1 million de bytes,mais (1024*1024) 1,048,578 bytes.
Les Registres:
Les registres sont les endroits spéciaux dans la mémoire de l’ordinateur ou l’on peut stocker des données. Imaginez un regi stre comme une petite boite dans laquell e on peut mettre quelque chose: un nom, un nombre, une phrase. ..
Sur les WinTel CPU moyens d’aujour d’hui, on peut avoir des registres de 932 bits ( sans registres flag, cf plus loin). Ce sont les suivants:
EAX: Extended Accumul ator Regi ster / Registre Accumulateur étendu
EBX: Extended Base Regi ster / Registre de Base étendu
ECX: Extended Counter Register / Registre Compteur étendu
EDX: Extended Data Register / Registre de Données étendu
Registres d’utilité générale:
AX (taille de 1 WORD) = AH + AL -> Le ‘+’ ne veut PAS dire qu’on les ajoute. AH et AL exi stent de manière indépendante, ce qui veut dire que si l’on change AH ou AL (ou les deux), AX va changer aussi !
-> ‘accumulateur’: Utilisé pour faire des opérations mathématiques, stocker des strings (‘chaines’ en f rançais)…
Registres d’Index:
BP -> ‘base pointer’: Pointe vers une posit ion spécifiée sur la pile (cf plus loin) .
SP -> ‘stack pointer’: Pointe vers une position spécifiée sur la pile (cf plus loin) .
Registres de Segment:
CS -> ‘code segment’: Instructions qu’une application doit exécuter (cf plus loin).
DS -> ‘data segment’: Données dont l’ application a besoin.
ES -> ‘extra segment’:
SS -> ‘stack segment’: Nous trouverons i ci la pile (voir plus loin).
Spécial:
IP -> ‘instruction poi nter’: Pointe vers la prochaine instr uction (pas besoin pour le moment).

……..
Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours et tutorial de la lecture de l’assembleur (210 KO) (Cours PDF)
La lecture de l'assembleur

Télécharger aussi :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *