组装:"junk `oc' after expression"

Assembly: "junk `oc' after expression"

我正在尝试生成以下汇编代码的十六进制表示。我正在做一个缓冲区溢出实验室,我需要在其中将命令放入堆栈。当我尝试使用命令编译以下代码时:

gcc -m32 -c assemblylevel2.s

我收到错误:

assemblylevel2.s:2: Error: junk `oc' after expression

我尝试了 mov、movl、push、pushl 的不同排列的代码。这都会产生相同的错误。我怎样才能让它编译?

assemblylevel2.s:

movl [=12=]xfaa6ef53, 0x804d108
pushl [=12=]x8048d0c
ret

鉴于它在第 2 行抱怨 oc,我会首先检查您的代码是否 实际上 是这样的:

movl [=10=]xfaa6ef53, 0x804d108
pushl [=10=]x8048doc             ;; oh-see rather than zero-see
ret

这肯定会使它成为无效的十六进制数,因此会导致错误,例如您所看到的。