子程序的聲明方式:
子程序名 proc [uses ebx esi edi] [調用方式(stdcall,c,pascal)] [參數1:類型……[args:vararg]]
;代碼部分
子程序名 endp
其中如果是可變參數的話(如args這個參數名),其類型應爲vararg,在子程序中用以下方式引用:
lea eax,args
push dword ptr [eax]
push dword ptr [eax+4]
windows操作系統的函數中承諾不對esi edi ebx等3個寄存器作修改,如窗口過程中需要保存這3個寄存器的值,窗口過程是由windows調用的,也就是說如果子程序是由windows來調用的話就需要保存這3個寄存器。