我很难解读下面的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
答案 0 :(得分:1)
这是一个带有两个参数的函数 - 一个指向整数和大小数组的指针。它遍历数组,用100替换100以上的所有值,用-100替换-100以下的值。