我怎么能在前面加上一个'SS:`或`ES:`使用AT&T汇编语法
题
如何在前面加上使用AT&T汇编语法一个SS:
或ES:
无需在.byte 0x36
或.byte 0x26
加入?
即。我将如何能够从英特尔语法AT&T mov dword ptr ss:[esp+0x10], offset foo
转换,而无需使用:
.byte 0x36
movl $foo, 0x10(%esp)
我试图movl $foo, %ss:0x10(%esp)
其组装而不警告,但,期待通过二进制,仍然不添加在SS:
解决方案
IIRC,与SS:
和ESP
寄存器使用时不需要EBP
前缀,因为对于这些,已经是默认的。
这可能是为什么汇编器只是它省略以节省空间的原因;因此需要手动发射SS:
前缀作为0x36
字节,因为汇编器将不修改原始字节。
不隶属于 StackOverflow