IA86 ASM代码阅读

时间:2015-04-15 01:59:49

标签: assembly

我很难解读下面的ASM代码应该做什么......任何方向都会很棒!

 pushl %ebp
 movl %esp, %ebp
 movl 8(%ebp), %ebx
 movl 12(%ebp), %esi
 movl $0, %ecx
 L1:
movl (%ebx, %ecx, 4), %edi
 cmpl $100, %edi
 jl L2
movl $100, (%ebx, %ecx, 4)
 jmp L3
 L2:
 cmpl $-100, %edi
 jg L3
movl $-100, (%ebx, %ecx, 4)
 L3:
addl $1, %ecx
cmpl %ecx, %esi
jne L1
leave
ret 

1 个答案:

答案 0 :(得分:1)

这是一个带有两个参数的函数 - 一个指向整数和大小数组的指针。它遍历数组,用100替换100以上的所有值,用-100替换-100以下的值。