如何使用AT& T汇编语法预先添加`SS:`或`ES:`

时间:2010-08-08 10:12:17

标签: assembly intel segment att

如何使用AT& T程序集语法预先添加SS:ES:,而无需添加.byte 0x36.byte 0x26

即。如何在不使用以下内容的情况下将mov dword ptr ss:[esp+0x10], offset foo从英特尔语法转换为AT& T

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

我已经尝试movl $foo, %ss:0x10(%esp)在没有警告的情况下进行汇编,但是查看二进制文件仍然没有添加SS:

1 个答案:

答案 0 :(得分:3)

IIRC,与SS:ESP寄存器一起使用时,不需要EBP前缀,因为对于这些,它已经是默认值。

这可能是汇编程序为了节省空间而省略它的原因;因此需要手动将SS:前缀作为0x36字节发出,因为汇编器不会修改原始字节。