在这个汇编代码中,“xorl”和“imul”是做啥用的?可以转成c代码吗?
Posted
技术标签:
【中文标题】在这个汇编代码中,“xorl”和“imul”是做啥用的?可以转成c代码吗?【英文标题】:What is 'xorl' and 'imul' are used for in this assembly code? Can it be converted to c Code?在这个汇编代码中,“xorl”和“imul”是做什么用的?可以转成c代码吗? 【发布时间】:2021-12-29 08:58:26 【问题描述】:int func2(int x, int y)
movl 4(%esp), %eax
addl 8(%esp), %eax
xorl $255,%eax
imul 8(%esp), %eax
sall $4, eax
【问题讨论】:
请勿发布代码图片。编辑您的问题并将代码作为文本(格式正确)放回。 不确定我是否理解有关这些操作“用于”什么的问题。xorl
执行异或,imul
执行整数乘法。如果您真的想知道这些操作的最终目的是什么,那是任何人的猜测。
【参考方案1】:
这个函数对应的C代码是这样的
int func2(int x, int y)
int eax;
eax = x;
eax += y;
eax ^= 0xff;
eax *= y;
eax <<= 4;
return (eax);
那应该做什么......我不知道。
【讨论】:
以上是关于在这个汇编代码中,“xorl”和“imul”是做啥用的?可以转成c代码吗?的主要内容,如果未能解决你的问题,请参考以下文章