Utopia
     
 
Information

Ip : 216.73.216.15
Navigate : Mozilla
Optimiser : Mozilla
Unknow
ASSEMBLEUR
 Le processeur
 La Mémoires
    Segmentation
 Les Registres
    Généraux
    Segment
    D'offset
    Flags
 Les Instruction
Vous êtes : Tutoriaux / Assembleur (ASM) / Le Processeur / La Mémoire / Les Registre : EAX,EBX...
..: Assembleur (ASM) :..
1 Processeur et les registres
Comme on a vu le microprocesseur est le coeur de l'ordinateur, il est charger de reconnaire les instruction et de les exécuté Pour travailler, le microprocesseur utilise des petites zones ou il peut stocker des données (des mots, chiffres).Ces zones portent le nom de registre ils sont facile d'accèes car implantées dans le processeur lui-même.
Les registre des processeur Intel x86 se classe en quatre catégories :
  • Registre Généraux
  • Registre de Segment
  • Registre d'Offset
  • Registre des Flags
1.1 Registre Généraux.
Dans les registre généraux nous comptons EAX, EBX, ECX, EDX ( registre 32 bits ). Les registre 32 bits commençerons toujours par un E. Ils sont un peut prés des registre a tous faire, servent a utiliser des données diverses, mais chaccune a sa fonction principale qui la caractérise.
Le registre AX servent souvent de registre entrées - sorti on lui donne les paramétres avant d'appler une fonction ou une procédure, est également utilisé lors de nombreuse opération arithmétiques.
RegistreFonctionEn clair
EAXAccumulateur Reçois le résultat d'un calculs et stocker des données.
EBXBaseUtiliser comme registre d'index. Ou pour pointer vers DS.
ECXCompteurUtiliser dans des boucle.
EDXDonnéeUtiliser lors de certaines division.
1.2 Les différentes taille des registre.
EAX : 32bits (=4 Bytes = 1Dword), AX :16 bits (=2 Bytes = 1Word), AH/AL :8 bits (=1bytes).
AX est la partie basse de EAX. AH est la partie haute de AX et AL est la parie basse de AX.
Ainsi quand mov EAX,1234abcd ; AX = abcd ; AH = ab ; AL = cd
1.3 Registre Généraux 16 bits :
Dans les registres 16 bits ( 2 Bytes = 1 Word ) nous avons :
  • AX
  • BX
  • CX
  • DX
ils représent la partie basse de EAX. Comme AX à une parti basse et haute si l'on change l'une de ses partie AX changera aussi.
AX = 1F2F | AH = 1F | on va changer AL par 3E , AX = 1F3E.
1.4 Registre Généraux 8 bits :
Dans le registre de 8 bits (1bytes) nous avons :
  • AH/AL
  • BH/BL
  • CH/CL
  • DH/DL
. Ces regsitres représente la parti Haute et basse de AX, H comme high et L comme Low .L'accès à ces registre est plus lent que l'accès aux 16 bits.. Si nous modifions une des ces partie Ax changera, ainsi que si nous modifions Ax, les parties haute est basse de Ax changerons.
1.5 Exemples :
ecx effectue une boucle!

mov ecx,0x11 ; on place la valeur 15 dans ecx
mov eax,0 ; on place 0 dans eax

start :

cmp eax,ecx ; on compare s'il sont égaux
je End ;s'il sont egaux on saute sinon continue
dec ecx ; ecx = ecx - 1
jmp start
eax effectue un calcul!

mov eax,0x11 ;on place 17d (decimal) dans eax.
add eax,0x15 ; on addition eax 17 + 21
mov eax ; on récupere le resultat avec eax