Come posso anteporre un `SS:` o `ES:` utilizzando AT & T Assemblea Sintassi
Domanda
Come posso anteporre un SS:
o ES:
utilizzando AT & T Assemblea sintassi senza l'aggiunta in un .byte 0x36
o .byte 0x26
?
es. Come vorrei essere in grado di convertire mov dword ptr ss:[esp+0x10], offset foo
da Intel sintassi per AT & T senza utilizzare:
.byte 0x36
movl $foo, 0x10(%esp)
ho cercato movl $foo, %ss:0x10(%esp)
che assembla senza avvisi, ma, guardando attraverso il file binario, continua a non aggiungere in SS:
Soluzione
IIRC, il prefisso SS:
non è necessaria quando utilizzato con i registri ESP
e EBP
, perché per questi, è già il default.
Questo potrebbe essere il motivo per cui l'assemblatore semplicemente omette a spazio conserva; pertanto la necessità di emettere manualmente il prefisso SS:
come un byte 0x36
, come assemblatore non modificherà byte grezzi.