Question

Comment puis-je préfixer un SS: ou ES: en utilisant AT & T Syntaxe Assemblée sans ajouter dans un .byte 0x36 ou .byte 0x26?

ie. Comment pourrais-je être en mesure de convertir mov dword ptr ss:[esp+0x10], offset foo de la syntaxe Intel AT & T sans utiliser:

.byte   0x36
movl    $foo, 0x10(%esp)

J'ai essayé movl $foo, %ss:0x10(%esp) qui rassemble sans avertissement mais, en regardant à travers le binaire, ne fonctionne toujours pas ajouter dans SS:

Était-ce utile?

La solution

IIRC, le préfixe SS: n'est pas nécessaire lorsqu'il est utilisé avec les registres de ESP et EBP, parce que pour ceux-ci, il est déjà la valeur par défaut.

Cela pourrait être la raison pour laquelle l'assembleur omet simplement de conserver de l'espace; Par conséquent, la nécessité d'émettre manuellement le préfixe SS: comme un octet 0x36, comme l'assembleur ne modifiera octets bruts.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top