Subversion Repositories Kolibri OS

Rev

Rev 4330 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4330 Rev 8236
Line 1... Line 1...
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron
2
;¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬,   â ª¦¥
2
;¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬,   â ª¦¥
3
;’¥¯«®¢ã €«¥ªá¥î ( www.lrz.land.ru)
3
;’¥¯«®¢ã €«¥ªá¥î ( www.lrz.land.ru)
4
use32
4
use32
5
  org 0x0
5
  org 0
6
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
6
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
7
  dd 0x1
-
 
8
  dd start
-
 
9
  dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
7
  dd 0,start,i_end,mem,stacktop,0,cur_dir_path
10
  dd mem
-
 
11
  dd stacktop
-
 
12
  dd 0x0 ;library_path
-
 
13
  dd cur_dir_path
-
 
Line -... Line 8...
-
 
8
 
14
 
9
include '../../KOSfuncs.inc'
-
 
10
include '../../macros.inc'
15
include '../../macros.inc'
11
include '../../proc32.inc'
16
include '../../develop/libraries/box_lib/load_lib.mac'
12
include '../../load_lib.mac'
Line 17... Line 13...
17
include 'lang.inc'
13
include 'lang.inc'
Line 18... Line 14...
18
 
14
 
19
@use_library
15
@use_library
-
 
16
 
Line 20... Line -...
20
 
-
 
21
align 4
-
 
22
start:
-
 
23
 
-
 
24
  mov eax,40
17
align 4
25
  mov ebx,0x25 ;¬ áª  ®¦¨¤ ¥¬ëå ᮡë⨩
-
 
Line 26... Line 18...
26
  mcall
18
start:
27
 
19
  mcall SF_SET_EVENTS_MASK,0x25 ;¬ áª  ®¦¨¤ ¥¬ëå ᮡë⨩
Line 28... Line 20...
28
  sys_load_library  msgbox_name, cur_dir_path, library_path, system_path, \
20
 
29
    err_message_found_lib, head_f_l, msgbox_lib_import, err_message_import, head_f_i
21
  sys_load_library  msgbox_name, library_path, system_path, msgbox_lib_import
30
 
22
 
31
 
23
 
32
red_win:
24
red_win:
33
  mcall 12,1
25
  mcall SF_REDRAW,SSF_BEGIN_DRAW
34
 
26
 
Line 35... Line 27...
35
  xor eax,eax
27
  xor eax,eax
36
  mov ebx,50*65536+200
28
  mov ebx,50*65536+200
37
  mov ecx,30*65536+170
29
  mov ecx,30*65536+170
38
  mov edx,0xffffd0
30
  mov edx,0xffffd0
39
  or  edx,0x33000000
31
  or  edx,0x33000000
40
  mov edi,hed
32
  mov edi,hed
Line 69... Line 61...
69
 
61
 
70
  mov eax,4 ;à¨á®¢ ­¨¥ ⥪áâ 
62
  mov eax,4 ;à¨á®¢ ­¨¥ ⥪áâ 
71
  mov ebx,50*65536+115
63
  mov ebx,50*65536+115
72
  mov ecx,0x4000d0
64
  mov ecx,0x4000d0
73
  or  ecx,0x80000000
65
  or  ecx,0x80000000
74
  mov edx,txt140
66
  mov edx,txt5
Line 75... Line 67...
75
  mcall
67
  mcall
76
 
68
 
77
  mov ebx,50*65536+90
69
  mov ebx,50*65536+90
Line 78... Line 70...
78
  mov edx,txt139
70
  mov edx,txt4
79
  mcall
71
  mcall
80
 
72
 
Line 81... Line 73...
81
  mov ebx,50*65536+65
73
  mov ebx,50*65536+65
82
  mov edx,txt138
74
  mov edx,txt3
83
  mcall
75
  mcall
Line 84... Line 76...
84
 
76
 
85
  mov ebx,50*65536+40
77
  mov ebx,50*65536+40
86
  mov edx,txt137
78
  mov edx,txt2
Line 87... Line 79...
87
  mcall
79
  mcall
88
 
80
 
89
  mov ebx,50*65536+15
81
  mov ebx,50*65536+15
90
  mov edx,txt136
82
  mov edx,txt1
91
  mcall
83
  mcall
Line 92... Line 84...
92
 
84
 
93
  push eax ebx ecx edx esi
85
  push eax ebx ecx edx esi
Line 120... Line 112...
120
  add dx,25
112
  add dx,25
121
  int 0x40
113
  int 0x40
Line 122... Line 114...
122
 
114
 
123
  pop esi edx ecx ebx eax
115
  pop esi edx ecx ebx eax
124
  call draw_square
116
  call draw_square
Line -... Line 117...
-
 
117
  mcall SF_REDRAW,SSF_END_DRAW
125
  mcall 12,2
118
 
126
 
-
 
127
still:
119
align 4
Line 128... Line 120...
128
  mov eax,10
120
still:
129
  mcall
121
  mcall SF_WAIT_EVENT
130
 
122
 
131
  cmp al,1 ;¨§¬. ¯®«®¦¥­¨¥ ®ª­ 
123
  cmp al,1 ;¨§¬. ¯®«®¦¥­¨¥ ®ª­ 
132
  jz red_win
124
  jz red_win
Line 133... Line 125...
133
  cmp al,3
125
  cmp al,3
134
  jz button
126
  jz button
Line 135... Line 127...
135
  jmp still
127
  jmp still
136
 
128
 
137
button:
129
button:
138
  mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
130
  mcall SF_GET_BUTTON
Line 149... Line 141...
149
  jz  but_5
141
  jz  but_5
Line 150... Line 142...
150
 
142
 
151
  cmp ah,1
143
  cmp ah,1
152
  jne still
144
  jne still
153
.exit:
145
.exit:
Line 154... Line 146...
154
  mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
146
  mcall SF_TERMINATE_PROCESS
155
 
-
 
156
but_1:
-
 
157
  push thread
147
 
158
  push msgbox_1
148
but_1:
Line 159... Line 149...
159
  call [mb_create]
149
  stdcall [mb_create],msgbox_1,thread
160
  jmp still
-
 
161
 
-
 
162
but_2:
150
  jmp still
163
  push thread
-
 
164
  push msgbox_2
-
 
165
  call [mb_create]
-
 
166
    ;mov eax,5
-
 
167
    ;mov ebx,50
151
 
168
    ;int 0x40
152
but_2:
Line 169... Line 153...
169
  push msgbox_2_funct
153
  stdcall [mb_create],msgbox_2,thread
170
  call [mb_setfunctions]
-
 
171
  jmp still
-
 
172
 
154
  stdcall [mb_setfunctions],msgbox_2_funct
173
but_3:
155
  jmp still
Line 174... Line 156...
174
  push thread
156
 
175
  push msgbox_3
-
 
176
  call [mb_create]
-
 
177
  jmp still
157
but_3:
178
 
158
  stdcall [mb_create],msgbox_3,thread
Line 179... Line 159...
179
but_4:
159
  jmp still
180
  push thread
-
 
181
  push msgbox_4
-
 
182
  call [mb_create]
160
 
183
  jmp still
-
 
184
 
161
but_4:
185
but_5:
-
 
186
  push thread
-
 
187
  push msgbox_5
162
  stdcall [mb_create],msgbox_4,thread
188
  call [mb_create]
-
 
189
 
163
  jmp still
Line 190... Line 164...
190
  mcall 5,100 ;stop program
164
 
191
 
165
but_5:
192
  push msgbox_5_2
166
  stdcall [mb_create],msgbox_5,thread
193
  call [mb_reinit]
167
  mcall SF_SLEEP,100 ;stop program
194
 
168
  stdcall [mb_reinit],msgbox_5_2
195
  jmp still
169
  jmp still
196
 
170
 
197
if lang eq ru
171
if lang eq ru
198
  txt136 db '¯à®á⮥',0
172
  txt1 db '¯à®á⮥',0
199
  txt137 db '3 ª­®¯ª¨',0
173
  txt2 db '3 ª­®¯ª¨',0
200
  txt138 db '3 áâப¨',0
174
  txt3 db '3 áâப¨',0
201
  txt139 db '¡®«ì讥',0
175
  txt4 db '¡®«ì讥',0
202
  txt140 db 'mb_reinit',0
176
  txt5 db 'mb_reinit',0
203
  hed db 'à¨¬¥à ¨á¯®«ì§®¢ ­¨ï MsgBox',0
177
  hed db 'à¨¬¥à ¨á¯®«ì§®¢ ­¨ï MsgBox',0
204
else
178
else
205
  txt136 db 'Simple',0
179
  txt1 db 'Simple',0
Line 238... Line 212...
238
  db 'Cancel',0 ;button2
212
  db 'Cancel',0 ;button2
239
  db 'Help',0 ;button3
213
  db 'Help',0 ;button3
240
end if
214
end if
241
  db 0
215
  db 0
242
msgbox_2_funct:
216
msgbox_2_funct:
243
  dd 0
-
 
244
  dd 0
-
 
245
  dd fun_show_help
217
  dd 0,0,fun_show_help
Line 246... Line 218...
246
 
218
 
247
msgbox_3:
219
msgbox_3:
248
  dw 0
220
  dw 0
249
  db 'MBox 3 lines',0 ;+2 = +MB_TEXT_OFFSET
221
  db 'MBox 3 lines',0 ;+2 = +MB_TEXT_OFFSET
250
if lang eq ru
222
if lang eq ru
251
  db '‘âப  1',13,'‘âப  2',13,'‘âப  3',0
223
  db '‘âப  1',13,'‘âப  2',13,'‘âப  3',0
252
  db '2009 £.',0 ;button1
224
  db '2020 £.',0 ;button1
253
else
225
else
254
  db 'Line 1',13,'Line 2',13,'Line 3',0
226
  db 'Line 1',13,'Line 2',13,'Line 3',0
255
  db 'Year 2009',0 ;button1
227
  db 'Year 2020',0 ;button1
256
end if  
228
end if	
257
  db 0
229
  db 0
258
msgbox_4:
230
msgbox_4:
259
  dw 0
231
  dw 0
Line 280... Line 252...
280
  db '        @.......@@......@@......@  @@',13
252
  db '        @.......@@......@@......@  @@',13
281
  db '       @......@....@..@....@.....@@..@',13
253
  db '       @......@....@..@....@.....@@..@',13
282
  db '       @......@....@..@....@.........@',13
254
  db '       @......@....@..@....@.........@',13
283
  db '        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@',0
255
  db '        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@',0
284
if lang eq ru
256
if lang eq ru
285
  db '­',0
-
 
286
  db '‚â',0
-
 
287
  db '‘à',0
-
 
288
  db '—â',0
-
 
289
  db 'â',0
-
 
290
  db '‘¡',0
-
 
291
  db '‚®áªà¥á¥­¨¥',0
257
  db '­',0,'‚â',0,'‘à',0,'—â',0,'â',0,'‘¡',0,'‚®áªà¥á¥­¨¥',0
292
else
258
else
293
  db 'Sun',0
-
 
294
  db 'Mon',0
-
 
295
  db 'Tue',0
-
 
296
  db 'Wed',0
-
 
297
  db 'Thu',0
-
 
298
  db 'Fri',0
-
 
299
  db 'Sat',0
259
  db 'Sun',0,'Mon',0,'Tue',0,'Wed',0,'Thu',0,'Fri',0,'Sat',0
300
end if
260
end if
301
  db 0
261
  db 0
302
msgbox_5:
262
msgbox_5:
303
  dw 0
263
  dw 0
304
if lang eq ru
264
if lang eq ru
Line 308... Line 268...
308
  db 'à¥à¢ âì',0
268
  db 'à¥à¢ âì',0
309
else
269
else
310
  db 'Message',0 ;+2 = +MB_TEXT_OFFSET
270
  db 'Message',0 ;+2 = +MB_TEXT_OFFSET
311
  db 'Running process ...',0
271
  db 'Running process ...',0
312
  db 'Stop',0
272
  db 'Stop',0
313
  db 'Abort',0
273
  db 'Terminate',0
314
end if
274
end if
315
  db 0
275
  db 0
316
msgbox_5_2:
276
msgbox_5_2:
317
  dw 0
277
  dw 0
318
if lang eq ru
278
if lang eq ru
Line 337... Line 297...
337
  amb_reinit db 'mb_reinit',0
297
  amb_reinit db 'mb_reinit',0
338
  amb_setfunctions db 'mb_setfunctions',0
298
  amb_setfunctions db 'mb_setfunctions',0
339
;--------------------------------------------------
299
;--------------------------------------------------
340
system_path db '/sys/lib/'
300
system_path db '/sys/lib/'
341
msgbox_name db 'msgbox.obj',0
301
msgbox_name db 'msgbox.obj',0
342
err_message_found_lib db 'Sorry I cannot load library msgbox.obj',0
-
 
343
head_f_i:
-
 
344
head_f_l db 'System error',0
-
 
345
err_message_import db 'Error on load import library msgbox.obj',0
-
 
346
;--------------------------------------------------
302
;--------------------------------------------------
Line 347... Line 303...
347
 
303
 
348
draw_square:
304
draw_square:
349
  cmp byte[sh_help],0
305
  cmp byte[sh_help],0
350
  je @f
306
  je @f
351
    push eax ebx ecx edx
307
    push eax ebx ecx edx
352
    mov eax,13 ;à¨á®¢ ­¨¥ ¯àאַ㣮«ì­¨ª 
-
 
353
    mov ebx,105*65536+70
-
 
354
    mov ecx,15*65536+50
-
 
355
    mov edx,0x8080ff
-
 
356
    int 0x40
-
 
357
 
-
 
358
    mov eax,4 ;à¨á®¢ ­¨¥ ⥪áâ 
308
    mcall SF_DRAW_RECT, 105*65536+70, 15*65536+50, 0x8080ff
359
    mov ebx,110*65536+25
-
 
360
    mov ecx,0xffffff
-
 
361
    mov edx,txt_help
-
 
362
    mov esi,9
-
 
Line 363... Line -...
363
    mcall
-
 
364
 
309
    mcall SF_DRAW_TEXT, 110*65536+25, 0xffffff, txt_help
365
    mov eax,47
310
 
366
    mov esi,0xffff
-
 
367
    mov ebx,0x10000 ;format
311
    mov esi,0xffff
368
    xor ecx,ecx
312
    mov ebx,0x10000 ;format
369
    mov cl,byte[sh_help]
313
    movzx ecx,byte[sh_help]
370
    mov dx,150
-
 
371
    shl edx,16
-
 
Line 372... Line 314...
372
    mov dx,40
314
    mov edx,(150 shl 16)+40
373
    int 0x40
315
    mcall SF_DRAW_NUMBER
374
 
316
 
375
    pop edx ecx ebx eax
317
    pop edx ecx ebx eax
Line 388... Line 330...
388
txt_help db '®¬®éì...'
330
txt_help db '®¬®éì...'
389
else
331
else
390
txt_help db 'Help...'
332
txt_help db 'Help...'
391
end if
333
end if
Line -... Line 334...
-
 
334
 
392
 
335
align 16
393
i_end: ;ª®­¥æ ª®¤ 
336
i_end: ;ª®­¥æ ª®¤ 
394
    rb 1024
337
    rb 1024
395
  thread:
338
  thread:
396
    rb 1024
339
    rb 1024