(声明:魏滔序原创,转贴请注明出处。)
明眼人一看就明白,所以废话少说,直接Code。
FunName proc c Params:VARARG
;获得参数个数
mov eax,[ebp+4]
movzx eax,BYTE ptr[eax+2]
shr eax,2
;将各个参数入栈
Push_Params:
dec eax
push Params[eax * 4]
jnz Push_Params
;.........
ret
FunName endp
本文介绍了一种在过程调用中处理可变数量参数的方法。通过使用寄存器操作和位移指令,实现对传入参数的有效管理和堆栈操作。具体步骤包括获取参数数量、将参数逐个压入堆栈等。
(声明:魏滔序原创,转贴请注明出处。)
明眼人一看就明白,所以废话少说,直接Code。
FunName proc c Params:VARARG
;获得参数个数
mov eax,[ebp+4]
movzx eax,BYTE ptr[eax+2]
shr eax,2
;将各个参数入栈
Push_Params:
dec eax
push Params[eax * 4]
jnz Push_Params
;.........
ret
FunName endp

被折叠的 条评论
为什么被折叠?