- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
format pe gui 5.0
include 'win32ax.inc'
_title db 'stackvar',0
_class db '#32770',0
entry $
sub esp,32
mov esi,esp
xor edi,edi
mov ecx,$80000000
mov eax,WS_VISIBLE+WS_OVERLAPPEDWINDOW
invoke CreateWindowEx,edi,_class,edi,eax,ecx,ecx,ecx,ecx,edi,edi,edi,edi
mov ebx,eax
invoke SetWindowLong,ebx,GWL_WNDPROC,wnd_proc
mov [esi],eax
invoke SetWindowLong,ebx,GWL_USERDATA,esi
invoke SendMessage,ebx,WM_INITDIALOG,edi,edi
sub esp,32
mov ebx,esp
msg_loop:
invoke GetMessage,ebx,edi,edi,edi
cmp eax,1
jb app_exit
jne msg_loop
invoke DispatchMessage,ebx
jmp msg_loop
wnd_proc:
mov eax,[esp+8]
cmp eax,WM_INITDIALOG
je app_init
cmp eax,WM_CLOSE
je app_exit
mov eax,[esp+4]
invoke GetWindowLong,eax,GWL_USERDATA
pop edx
push dword [eax]
push edx
jmp [CallWindowProc]
app_init:
mov eax,[esp+4]
invoke SendMessage,eax,WM_SETTEXT,0,_title
xor eax,eax
ret
app_exit:
invoke ExitProcess,edi
data import
library\
kernel32,'kernel32.dll',\
user32,'user32.dll'
include 'api\kernel32.inc'
include 'api\user32.inc'
end data
Steve_Brown 26.03.2019 16:45 # 0
bormand 29.03.2019 08:55 # +1
chiacorp 29.03.2019 17:44 # 0
Какая суть требуется? Можно делать то что на более высоком уровне не доступно. Даже при использование вставок асма конструкция подпрограмм неизменна.
bormand 29.03.2019 18:55 # 0
А ну да, 32-битка же.
> какая суть требуется
Делать то, что на более высоком уровне недоступно и/или медленно. А для окошек есть всякие C#.
chiacorp 29.03.2019 18:58 # 0
bormand 29.03.2019 19:02 # 0
bormand 29.03.2019 08:58 # 0
chiacorp 29.03.2019 17:45 # 0
BOKCEJIbHblu_nemyx 29.03.2019 18:05 # 0
Именно поэтому я за "fastcall".
chiacorp 29.03.2019 18:13 # 0
bormand 29.03.2019 18:57 # +1
chiacorp 29.03.2019 18:59 # 0
bormand 29.03.2019 19:02 # 0
BOKCEJIbHblu_nemyx 29.03.2019 19:04 # 0
bormand 29.03.2019 19:05 # +1
guest8 29.03.2019 18:06 # −999
chiacorp 29.03.2019 18:13 # 0
bormand 26.03.2019 17:41 # 0
Прямо как у взрослых конпеляторов!
doomginho 31.07.2024 17:26 # 0