标签: assembly x86 stack cpu-registers
好的,所以我必须编写一个汇编函数(i32 x86 little endian),我传递1个无符号数。该函数必须在该数字中交换最小和最大数字的首次出现。
我的想法是将所有数字推到堆栈然后找到min和max,将它们的地址保存在寄存器中并交换它们。
我遇到了问题,因为我无法执行以下cmp [eax],[esp+4*ecx]。我有2个问题是否有任何方法来比较2个地址的值,我可以以某种方式将esp放到eax:mov eax,esp(我希望指针不是值)。
cmp [eax],[esp+4*ecx]
mov eax,esp
注意:我对这个装配有点新鲜。