|

楼主 |
发表于 2019-10-29 21:29:44
|
显示全部楼层
本帖最后由 kikiatw 于 2019-10-29 21:30 编辑
我的問題是這樣, 我剛剛把它寫成一個程式
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;MODE define
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .386p
- .model flat,stdcall
- option casemap:none
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; Include
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- include windows.inc
- include user32.inc
- includelib user32.lib
- include kernel32.inc
- includelib kernel32.lib
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; Data
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .data
- szCaption db 'title', 0
- stWndClass WNDCLASS <0,1,2,3,4,5,6,7,8,9>
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; Code
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .code
- start:
- mov eax,stWndClass.lpfnWndProc ;(代表把 lpfnWndProc的值給eax)
- mov eax,[stWndClass.lpfnWndProc] ;??
- mov esi,offset stWndClass.lpfnWndProc ;(代表把 lpfnWndProc的位址給eax)
- mov eax,[esi+WNDCLASS.lpfnWndProc] ;(代表 [esi+4] 給eax
- mov eax,[esi+stWndClass.lpfnWndProc] ;(代表 [esi+stWndClass.lpfnWndProc的位址] 給eax
- invoke ExitProcess,NULL
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- end start
复制代码
然後看看下面這張圖, 前兩行是一樣的, 為什麼加了中括號還是一樣的?
|
|