1.定义数组
array10 dword 150, 2, 22, 99, 50, 6, 7, 88, 9, 100
2.调用函数
push 10
lea eax,array10
push eax
call MaxBigValue
invoke printf,ADDR format4,eax ;调用printf函数
3.函数MaxBigValue
MaxBigValue:
push ebp
mov ebp,esp
;第一个参数数组地址
mov eax,dword ptr[ebp+8]
;第二参数数组长度
mov ebx,dword ptr[ebp+12]
;容错处理判断长度 小于1直接返回
cmp ebx,1
jl jl1
;定义一个临时变量,并把数组的第一个元素赋值给这个变量
;sub esp,4
mov ecx,dword ptr[eax]
;mov dword ptr[esp-4],ecx
jm1:
sub ebx,1
cmp ebx,0
jl jl1
;ecx小于就覆盖
cmp ecx,dword ptr[eax+4*ebx]
jl jl2
jmp jm1
jl2:
mov ecx,dword ptr[eax+4*ebx]
jmp jm1
jl1:
mov eax,ecx
mov esp,ebp
pop ebp
ret