x86 汇编找出数组中的最大值
2023-12-31 13:31:10
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
文章来源:https://blog.csdn.net/xilango/article/details/135315169
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!