| 
 | 
 
 
 楼主 |
发表于 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                
 
  
  复制代码 
 
 
然後看看下面這張圖, 前兩行是一樣的, 為什麼加了中括號還是一樣的? 
 
 
 |   
 
 
 
 |