uses运算符与proc伪指令一起使用,中间用空格或者TAB分开(不是其它符号),uses的作用是在过程的开始和结束的位置自动生成push和pop指令,避免程序员忘记写出入栈的代码。
以下两段代码效果相同:
arraysum proc uses esi ecx ;uses运算符取代push pop,减少程序员工作量避免出错。
mov eax, 0
L1: add eax, [esi]
add esi, type dword
loop L1
ret
arraysum endp
arraysum proc
push esi
push ecx
mov eax, 0
L1: add eax, [esi]
add esi, type dword
loop L1
push ecx
push esi
ret
arraysum endp