• # Confusion ?

    Posté par . En réponse au message adressage relatif en assembleur amd64, je suis perdu. Évalué à 5. Dernière modification le 01 avril 2012 à 12:51.

    Je n'ai as bien compris ton problème. Ton explication n'est pas claire, et c'est peut-être dû à une confusion que tu fais.

    movl 42(%esi),%eax
    movl data(%esi),%eax
    
    

    Dans cet exemple, c'est exactement la même instruction dans les deux cas. "data" est une constante que tu as défini précédemment dans ton code.
    Il n'y a pas d'adressage relatif pour les données. Il y en a pour les sauts (jmp et call), probablement pour gagner de la place. Mais pas pour les données.
    Adressage relatif = par rapport au pointeur d'instruction
    Tu ne peux pas dire que tu veux accéder à une donnée située 42 octets plus loin que le pointeur d'instruction.