Wie kann ich voranstellen, eine `SS:` oder `ES:` mit AT & T Assembly Syntax
Frage
Wie kann ich voranstellen, ein SS:
oder ES:
mit AT & T Assembly Syntax ohne in einem .byte 0x36
oder .byte 0x26
hinzufügen?
dh. Wie würde ich in der Lage sein mov dword ptr ss:[esp+0x10], offset foo
von Intel Syntax zu AT & T, ohne zu konvertieren:
.byte 0x36
movl $foo, 0x10(%esp)
Ich habe movl $foo, %ss:0x10(%esp)
versucht, die assembliert ohne Warnungen aber durch die binäre Suche, fügt noch nicht in SS:
Lösung
IIRC wird das SS:
Präfix nicht erforderlich, wenn mit den ESP
und EBP
Register verwendet, da für diese ist es bereits die Standardeinstellung.
Dies könnte der Grund sein, warum der Monteur einfach Platz zu sparen läßt; daher die Notwendigkeit, manuell den SS:
Präfix als 0x36
Byte emittieren, da der Assembler nicht roh Bytes ändern wird.