就隨手寫吧。api
.model 語句
使用flat模式,是win32程序使用的模式,代碼和數據段使用同一個4GB段。函數
.stack, .data,.data?,.const ,.code是分段僞指令,在win32中實際上只有代碼和數據之分。與DOS彙編不一樣,win32彙編不用考慮堆棧,系統會爲程序分配一個向下擴展,足夠大的段做爲堆棧段,所以.stack段定義嚐嚐被忽略。指針
data段放在_DATA節區,代碼段放在_TEXT節區。code
堆棧段可讀可寫,所以能夠被調度。擴展
程序入口地址:
彙編中由end 語句指定
如:
start:
.....model
end start ;全部的代碼都必須寫在end以前,由於這句話同時表示源程序的結束,start 是相似於c中goto的用法。數據類型
invoke func_name[,pamater1][,paramater2][,paramater3]......
等同於 c中的
fun_name(paramater1,paramater2,paramater3,...) 就是換了個寫的方式而已。程序
返回值的類型對於彙編來講也只有dword一種類型,它永遠放在eax中。若是要返回的內容不是一個eax所能夠容納的,win32api採用的方法是eax中存放一個指向返回數據的指針,或者在調用參數中提供一個緩衝區地址,乾脆把數據直接返回到緩衝區中去。方法
函數在調用前必須聲明:
fun_name proto [distance][language][pama1]:dataType,[pama2]:dataType ......
也就是說,參數名不重要,數據類型很重要。數據