Information |
Ip : 216.73.216.15 |
Navigate : Mozilla |
Optimiser : Mozilla |
Unknow |
![]() |
..: 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 :
| |
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. |
Registre | Fonction | En clair |
EAX | Accumulateur | Reçois le résultat d'un calculs et stocker des données. |
EBX | Base | Utiliser comme registre d'index. Ou pour pointer vers DS. |
ECX | Compteur | Utiliser dans des boucle. |
EDX | Donnée | Utiliser 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 :
| |
1.4 Registre Généraux 8 bits :![]() | |
Dans le registre de 8 bits (1bytes) nous avons :
| |
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 |