Petite question...

Signaler
Messages postés
29
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
19 août 2008
-
Messages postés
368
Date d'inscription
vendredi 20 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
-
Bonsoir,

Que signifie exactement la notation crochet en assembleur ? Je m'explique, par exemple : mov cl,[bx], je suppose que ce n'est pas un move ordinaire du registre bx vers cl (illogique d'ailleurs car bx est un registre 16 bits et cl un registre 8 bits). Cela voudrait-il signifier "le contenu" ? Merci !
Did'

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
place dans le registre ce qui se trouve a l'adresse entre crochets.
En C ce serait:
myval = *addr;
BruNews, ciao...
Messages postés
368
Date d'inscription
vendredi 20 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013

pour etre precis...

adresse intitulè donèes
00000010 Hello db 'HELLO',0

si tu fais :

mov edi,Hello
edi contiend 00010

mov eax,[edi]
eax contiendra 'LLEH'
(donc les donnèes (la valeur) pointèe par edi)

mov eax,edi
eax contiendra l'adresse 00000010 (qui pointe sur 'HELLO').

mov eax,Hello
eax contiendra 'LLEH'

mov eax,OFFSET Hello
eax contiendra l'adresse 00000010

mov ebx,[eax]
ebx contiendra 'LLEH'

il existe encore plein de facon de faire ce genre de manip,
un exemple vaut souvent mieux qu'un long discour, je te conseille donc de lire quelques tutos...

Bon Coding ....

ManChesTer.