Subversion Repositories Kolibri OS

Rev

Rev 318 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 318 Rev 485
Line 6... Line 6...
6
;   e-mail: ivan-yar@bk.ru
6
;   e-mail: ivan-yar@bk.ru
7
;
7
;
8
;   Compile with flat assembler
8
;   Compile with flat assembler
9
;
9
;
10
include 'lang.inc'
10
include 'lang.inc'
11
include 'macros.inc'
11
include '..\..\..\macros.inc'
Line 12... Line 12...
12
 
12
 
13
meos_app_start
13
meos_app_start
Line -... Line 14...
-
 
14
code
-
 
15
 
-
 
16
  mov   eax, 48                   ; ¯®«ãç¨âì á¨á⥬­ë¥ 梥â 
-
 
17
  mov   ebx, 3
-
 
18
  mov   ecx, sc                   ;   ¤à¥á áâàãªâãàë
-
 
19
  mov   edx, sizeof.system_colors ;  ¨ ¥¥ à §¬¥à
14
code
20
  mcall
15
 
21
 
16
  mov   eax,40       ; ãáâ ­®¢¨¬ ¬ áªã ᮡë⨩
22
  mov   eax,40       ; ãáâ ­®¢¨¬ ¬ áªã ᮡë⨩
Line 17... Line 23...
17
  mov   ebx,100000b  ; ­ á ¨­â¥à¥áã¥â ⮫쪮 ¬ëèì
23
  mov   ebx,100000b  ; ­ á ¨­â¥à¥áã¥â ⮫쪮 ¬ëèì
Line 18... Line 24...
18
  int   0x40
24
  mcall
19
 
25
 
Line 20... Line 26...
20
still:               ; £« ¢­ë© 横« ®á­®¢­®£® ¯à®æ¥áá 
26
still:               ; £« ¢­ë© 横« ®á­®¢­®£® ¯à®æ¥áá 
21
 
27
 
22
  mov   eax,10       ; ¦¤ñ¬ ᮡëâ¨ï
28
  mov   eax,10       ; ¦¤ñ¬ ᮡëâ¨ï
Line 23... Line 29...
23
  int   0x40
29
  mcall
24
 
30
 
Line 25... Line 31...
25
  mov   eax,37       ; ª ª¨¥ ­ ¦ âë ª¯®¯ª¨?
31
  mov   eax,37       ; ª ª¨¥ ­ ¦ âë ª¯®¯ª¨?
Line 26... Line 32...
26
  mov   ebx,2
32
  mov   ebx,2
27
  int   0x40
33
  mcall
28
 
34
 
29
  cmp   eax,2        ; ¥á«¨ ­¥ ¯à ¢ ï, ¢®§¢à â
35
  cmp   eax,2        ; ¥á«¨ ­¥ ¯à ¢ ï, ¢®§¢à â
30
  jne   still
36
  jne   still
Line 31... Line 37...
31
 
37
 
32
;---¯®¥å «¨!---
38
;---¯®¥å «¨!---
33
 
39
 
34
;  mov   eax,37       ; íâ® ¤«ï ®â« ¤ª¨ - ¥á«¨ ¬ëèì ¢ â®çª¥ (0;0), § ªà®¥¬áï
40
;  mov   eax,37       ; íâ® ¤«ï ®â« ¤ª¨ - ¥á«¨ ¬ëèì ¢ â®çª¥ (0;0), § ªà®¥¬áï
Line 35... Line 41...
35
;  xor   ebx,ebx
41
;  xor   ebx,ebx
36
;  int   0x40
42
;  mcall
37
;  test  eax,eax      ; ªãàá®à ¢ â®çª¥ (0;0), â.¥. eax = 0
43
;  test  eax,eax      ; ªãàá®à ¢ â®çª¥ (0;0), â.¥. eax = 0
Line 38... Line 44...
38
;  je    exit
44
;  je    exit
39
 
45
 
40
 
46
 
41
  mov   eax,9        ; ¯®«ã稬 ç¨á«® ¯à®æ¥áᮢ ¢ á¨á⥬¥
47
  mov   eax,9        ; ¯®«ã稬 ç¨á«® ¯à®æ¥áᮢ ¢ á¨á⥬¥
42
  mov   ebx,procinfo
48
  mov   ebx,procinfo
43
  xor   ecx,ecx
49
  xor   ecx,ecx
44
  int   0x40
50
  mcall
45
 
51
 
46
  inc   eax          ; ⥯¥àì ¢ eax ᮤ¥à¦¨âáï ç¨á«® ¯à®æ¥áᮢ + 1
52
  inc   eax          ; ⥯¥àì ¢ eax ᮤ¥à¦¨âáï ç¨á«® ¯à®æ¥áᮢ + 1
47
  mov   [processes],eax
53
  mov   [processes],eax
48
  mov   ecx,1
54
  mov   ecx,1
49
 
55
 
50
 new_process:
56
 new_process:
51
  pushad
57
  pushad
52
  mov   eax,9        ; ¯®«ã稬 ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥; ­®¬¥à - ¢ ecx
58
  mov   eax,9        ; ¯®«ã稬 ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥; ­®¬¥à - ¢ ecx
53
  mov   ebx,procinfo
59
  mov   ebx,procinfo
54
  int   0x40
60
  mcall
55
  mov   eax,37       ; ª®®à¤¨­ âë ªãàá®à 
61
  mov   eax,37       ; ª®®à¤¨­ âë ªãàá®à 
56
  xor   ebx,ebx
62
  xor   ebx,ebx
57
  int   0x40
63
  mcall
Line 58... Line 64...
58
  mov   ebx,eax                  ; eax = cursor_x
64
  mov   ebx,eax                  ; eax = cursor_x
59
  shr   eax,16                   ; ebx = cursor_y
65
  shr   eax,16                   ; ebx = cursor_y
60
  and   ebx,0xffff
66
  and   ebx,0xffff
61
  mov   [curx1],eax              ; curx1 = cursor_x
67
  mov   [curx1],eax              ; curx1 = cursor_x
Line 62... Line 68...
62
  mov   [cury1],ebx              ; cury1 = cursor_y
68
  mov   [cury1],ebx              ; cury1 = cursor_y
63
; \begin{diamond}[18.09.2006]
69
; \begin{diamond}[18.09.2006]
64
; ignore minimized windows
70
; ignore minimized windows
Line 94... Line 100...
94
 
100
 
95
 
101
 
96
@@:             ; ¯®¤®¦¤ñ¬, ¯®ª  ¯®«ì§®¢ â¥«ì ­¥ ®â¯ãá⨫ ¯à ¢ãî ª­®¯ªã ¬ëè¨
102
@@:             ; ¯®¤®¦¤ñ¬, ¯®ª  ¯®«ì§®¢ â¥«ì ­¥ ®â¯ãá⨫ ¯à ¢ãî ª­®¯ªã ¬ëè¨
97
  mov   eax,37
103
  mov   eax,37
98
  mov   ebx,2   ; äã­ªæ¨ï 37-2:
104
  mov   ebx,2   ; äã­ªæ¨ï 37-2:
99
  int   0x40    ;   ­ ¦ âë «¨ ª­®¯ª¨ ¬ëè¨?
105
  mcall    ;   ­ ¦ âë «¨ ª­®¯ª¨ ¬ëè¨?
Line 100... Line 106...
100
  cmp   eax,ebx ; ¥á«¨ ®â¯ãá⨫, (eax != 2)
106
  cmp   eax,ebx ; ¥á«¨ ®â¯ãá⨫, (eax != 2)
101
  jnz   @f      ;   ¨¤ñ¬ ¢ ­ ç «® £« ¢­®£® 横« 
107
  jnz   @f      ;   ¨¤ñ¬ ¢ ­ ç «® £« ¢­®£® 横« 
102
 
108
 
Line 103... Line 109...
103
  mov   eax,5   ; ¨­ ç¥
109
  mov   eax,5   ; ¨­ ç¥
104
  mov   ebx,2   ;   ¯®¤®¦¤ñ¬ 2 ¬á
110
  mov   ebx,2   ;   ¯®¤®¦¤ñ¬ 2 ¬á
Line 105... Line 111...
105
  int   0x40
111
  mcall
106
 
112
 
107
  jmp   @b      ;   ¨ ¯à®¢¥à¨¬ ¬ëèì ®¯ïâì
113
  jmp   @b      ;   ¨ ¯à®¢¥à¨¬ ¬ëèì ®¯ïâì
108
@@:
114
@@:
109
 
115
 
110
; ¥á«¨ 㦥 ¡ë«® ®âªàëâ® ¬¥­î, ­ã¦­® ¯®¤®¦¤ âì, ¯®ª  ®­® § ªà®¥âáï:
116
; ¥á«¨ 㦥 ¡ë«® ®âªàëâ® ¬¥­î, ­ã¦­® ¯®¤®¦¤ âì, ¯®ª  ®­® § ªà®¥âáï:
111
@@:
117
@@:
112
  cmp   [menu_opened],0
118
  cmp   [menu_opened],0
113
  je    @f
119
  je    @f
Line 114... Line 120...
114
  mov   eax,5
120
  mov   eax,5
115
  mov   ebx,3  ; ¦¤ñ¬ 3 ¬á
121
  mov   ebx,3  ; ¦¤ñ¬ 3 ¬á
116
  int   0x40
122
  mcall
117
  jmp   @b
123
  jmp   @b
118
@@:
124
@@:
Line 119... Line 125...
119
 
125
 
Line 120... Line 126...
120
  mov   eax,51           ;   ⥯¥àì ¬®¦­® ᬥ«® § ¯ã᪠âì ¯à®æ¥áá (¯®â®ª) ¬¥­î
126
  mov   eax,51           ;   ⥯¥àì ¬®¦­® ᬥ«® § ¯ã᪠âì ¯à®æ¥áá (¯®â®ª) ¬¥­î
121
  mov   ebx,1            ; ᮧ¤ ñ¬ ¯®â®ª (thread)
127
  mov   ebx,1            ; ᮧ¤ ñ¬ ¯®â®ª (thread)
122
  mov   ecx,start_wnd    ; â®çª  ¢å®¤  ¯®â®ª 
128
  mov   ecx,start_wnd    ; â®çª  ¢å®¤  ¯®â®ª 
123
  mov   edx,stack_wnd    ; ¢¥à設  áâíª  ¤«ï ¯®â®ª 
129
  mov   edx,stack_wnd    ; ¢¥à設  áâíª  ¤«ï ¯®â®ª 
124
  int   0x40
130
  mcall
Line 125... Line 131...
125
 
131
 
126
  jmp   still
132
  jmp   still
127
 
133
 
128
 
134
 
129
 
135
 
130
exit_menu:            ; ¥á«¨ ¢ë室¨¬ ¨§ ¬¥­î, ­ ¤® § ¯¨á âì ¢ [menu_opened] 0
136
exit_menu:            ; ¥á«¨ ¢ë室¨¬ ¨§ ¬¥­î, ­ ¤® § ¯¨á âì ¢ [menu_opened] 0
Line 131... Line 137...
131
  mov   [menu_opened],0
137
  mov   [menu_opened],0
132
exit:                 ; á ¬ë ¨¤ñ¬, ª®£¤  ¢ë室¨¬ ¨§ ®á­®¢­®£® ¯à®æ¥áá 
138
exit:                 ; á ¬ë ¨¤ñ¬, ª®£¤  ¢ë室¨¬ ¨§ ®á­®¢­®£® ¯à®æ¥áá 
Line 133... Line 139...
133
  or    eax,-1        ; eax = -1
139
  or    eax,-1        ; eax = -1
Line 134... Line 140...
134
  int   0x40
140
  mcall
135
 
141
 
Line 136... Line 142...
136
 
142
 
137
 
143
 
138
 
144
 
139
; §¤¥áì áâ àâã¥â ¯à®æ¥áá ¬¥­î
145
; §¤¥áì áâ àâã¥â ¯à®æ¥áá ¬¥­î
Line 163... Line 169...
163
 
169
 
164
; Ž€Ž’—ˆŠ Œ›˜ˆ
170
; Ž€Ž’—ˆŠ Œ›˜ˆ
165
mouse:            ; ª®£¤  ¯®«ì§®¢ â¥«ì ­ ¦¬ñâ ª­®¯ªã ¬ëè¨, § ªà®¥¬áï
171
mouse:            ; ª®£¤  ¯®«ì§®¢ â¥«ì ­ ¦¬ñâ ª­®¯ªã ¬ëè¨, § ªà®¥¬áï
166
  mov   eax,37
172
  mov   eax,37
167
  mov   ebx,2     ; ª ª¨¥ ª­®¯ª¨ ­ ¦ âë?
173
  mov   ebx,2     ; ª ª¨¥ ª­®¯ª¨ ­ ¦ âë?
168
  int   0x40
174
  mcall
169
  test  eax,eax   ; ­¨ª ª¨¥? - ⮣¤  ¯à¥ªà á­®! ¢¥à­ñ¬áï ¢ £« ­ë© 横«
175
  test  eax,eax   ; ­¨ª ª¨¥? - ⮣¤  ¯à¥ªà á­®! ¢¥à­ñ¬áï ¢ £« ­ë© 横«
170
  jz    still2
176
  jz    still2
Line 171... Line 177...
171
  jmp   exit_menu ;   ¥á«¨ ¢áñ-â ª¨ ­ ¦ âë - § ªà®¥¬ ®ª­®
177
  jmp   exit_menu ;   ¥á«¨ ¢áñ-â ª¨ ­ ¦ âë - § ªà®¥¬ ®ª­®
172
 
178
 
173
 
179
 
174
; €†€’€ ŠŽŠ€
180
; €†€’€ ŠŽŠ€
Line 175... Line 181...
175
button:
181
button:
176
  mov   eax,17        ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
182
  mov   eax,17        ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
Line 177... Line 183...
177
  int   0x40
183
  mcall
Line 190... Line 196...
190
  jnz   @b
196
  jnz   @b
191
  mcall 70, start_info
197
  mcall 70, start_info
Line 192... Line 198...
192
 
198
 
193
;  mov   eax,5         ; ¯®¤®¦¤ñ¬, ¯®ª  ¯à®£à ¬¬  § ¯ãáâ¨âìáï
199
;  mov   eax,5         ; ¯®¤®¦¤ñ¬, ¯®ª  ¯à®£à ¬¬  § ¯ãáâ¨âìáï
194
;  mov   ebx,1         ;   â® ¥ñ ®ª­® ­¥ ¡ã¤¥â ®âà¨á®¢ ­® (¡ £ ¢ ï¤à¥???)
200
;  mov   ebx,1         ;   â® ¥ñ ®ª­® ­¥ ¡ã¤¥â ®âà¨á®¢ ­® (¡ £ ¢ ï¤à¥???)
195
;  int   0x40          ; à áª®¬¬¥­â¨àã©â¥ í⨠áâப¨, ¥á«¨ ã ¢ á ¯à®¡«¥¬ë
201
;  mcall          ; à áª®¬¬¥­â¨àã©â¥ í⨠áâப¨, ¥á«¨ ã ¢ á ¯à®¡«¥¬ë
Line 196... Line 202...
196
                       ; á ®âà¨á®¢ª®©
202
                       ; á ®âà¨á®¢ª®©
197
 
203
 
Line 198... Line 204...
198
nofuncbtns:           ; § ªà뢠¥¬ ¬¥­î
204
nofuncbtns:           ; § ªà뢠¥¬ ¬¥­î
Line 199... Line 205...
199
  jmp   exit_menu
205
  jmp   exit_menu
200
 
206
 
201
 
207
 
202
 
208
 
203
_BTNS_            = 7     ; ª®«¨ç¥á⢮ ª­®¯®ª ("¯ã­ªâ®¢ ¬¥­î")
209
_BTNS_            = 6     ; ª®«¨ç¥á⢮ ª­®¯®ª ("¯ã­ªâ®¢ ¬¥­î")
204
 
210
 
205
if lang eq ru
211
if lang eq ru
206
  font            = 0x00000000
212
  font            = 0x00000000
207
  string_length   = 20          ; ¤«¨­  áâப¨
213
  string_length   = 20          ; ¤«¨­  áâப¨
208
  wnd_x_size      = 133         ; è¨à¨­  ®ª­ 
214
  wnd_x_size      = 133         ; è¨à¨­  ®ª­ 
209
  header_pos      = 36 shl 16 + 7
215
  title_pos      = 36 shl 16 + 7
Line 210... Line 216...
210
else
216
else
211
  font            = 0x10000000
217
  font            = 0x10000000
212
  string_length   = 12          ; ¤«¨­  áâப¨
218
  string_length   = 12          ; ¤«¨­  áâப¨
Line 213... Line 219...
213
  wnd_x_size      = 105         ; è¨à¨­  ®ª­ 
219
  wnd_x_size      = 105         ; è¨à¨­  ®ª­ 
Line 214... Line 220...
214
  header_pos      = 23 shl 16 + 7
220
  title_pos      = 23 shl 16 + 7
215
end if
221
end if
216
 
222
 
Line 217... Line 223...
217
;*******************************
223
;*******************************
218
;********  ˆ‘“…Œ ŽŠŽ  ********
224
;********  ˆ‘“…Œ ŽŠŽ  ********
219
;*******************************
225
;*******************************
220
 
226
 
Line 221... Line 227...
221
draw_window:
227
draw_window:
222
 
228
 
223
  mov   eax,12           ; ­ ç¨­ ¥¬ "à¨á®¢ âì"
229
  mov   eax,12           ; ­ ç¨­ ¥¬ "à¨á®¢ âì"
224
  mov   ebx,1
230
  mov   ebx,1
225
  int   0x40
231
  mcall
226
 
232
 
227
  mov   eax,[curx1]      ; ⥪ã騥 ª®®à¤¨­ âë ªãàá®à 
233
  mov   eax,[curx1]      ; ⥪ã騥 ª®®à¤¨­ âë ªãàá®à 
228
  mov   [curx],eax       ; § ¯¨è¥¬ ¢ ª®®à¤¨­ âë ®ª­ 
234
  mov   [curx],eax       ; § ¯¨è¥¬ ¢ ª®®à¤¨­ âë ®ª­ 
Line 246... Line 252...
246
  cmp   ebx, [cury]
252
  cmp   ebx, [cury]
247
  jg    .oky                  ; ¯® ¢¥à⨪ «¨ â®ç­® â ª¦¥
253
  jg    .oky                  ; ¯® ¢¥à⨪ «¨ â®ç­® â ª¦¥
248
  add   [cury], -_BTNS_*15-21
254
  add   [cury], -_BTNS_*15-21
249
 .oky:
255
 .oky:
Line 250... Line -...
250
 
-
 
251
  mov   eax, 48                   ; ¯®«ãç¨âì á¨á⥬­ë¥ 梥â 
-
 
252
  mov   ebx, 3
-
 
253
  mov   ecx, sc                   ;   ¤à¥á áâàãªâãàë
-
 
254
  mov   edx, sizeof.system_colors ;  ¨ ¥¥ à §¬¥à
-
 
255
  int   0x40
-
 
256
 
256
 
257
  xor   eax, eax           ; äã­ªæ¨ï 0 - ᮧ¤ âì ®ª­®
257
  xor   eax, eax           ; äã­ªæ¨ï 0 - ᮧ¤ âì ®ª­®
258
  mov   ebx, [curx]        ;  ebx = [ª®®à¤¨­ â  ¯® x] shl 16 + [è¨à¨­ ]
258
  mov   ebx, [curx]        ;  ebx = [ª®®à¤¨­ â  ¯® x] shl 16 + [è¨à¨­ ]
259
  shl   ebx, 16
259
  shl   ebx, 16
260
  add   ebx, wnd_x_size
260
  add   ebx, wnd_x_size
Line 263... Line 263...
263
  add   ecx, _BTNS_*15+21
263
  add   ecx, _BTNS_*15+21
264
  mov   edx, [sc.work]     ;  梥â à ¡®ç¥© ®¡« áâ¨
264
  mov   edx, [sc.work]     ;  梥â à ¡®ç¥© ®¡« áâ¨
265
  mov   esi, [sc.grab]     ;  梥⠧ £®«®¢ª 
265
  mov   esi, [sc.grab]     ;  梥⠧ £®«®¢ª 
266
  or    esi, 0x81000000
266
  or    esi, 0x81000000
267
  mov   edi, [sc.frame]    ;  梥â à ¬ª¨
267
  mov   edi, [sc.frame]    ;  梥â à ¬ª¨
268
  int   0x40
268
  mcall
Line 269... Line 269...
269
 
269
 
270
  mov   eax, 4             ; § £®«®¢®ª
270
  mov   eax, 4             ; § £®«®¢®ª
271
  mov   ebx, header_pos    ;  [x] shl 16 + [y]
271
  mov   ebx, title_pos    ;  [x] shl 16 + [y]
272
  mov   ecx, [sc.grab_text];  èà¨äâ ¨ 梥â (á¥àë©)
272
  mov   ecx, [sc.grab_text];  èà¨äâ ¨ 梥â (á¥àë©)
273
  or    ecx, 0x10000000
273
  or    ecx, 0x10000000
274
;  add   ecx, -0x333333
274
;  add   ecx, -0x333333
275
  push  ecx
275
  push  ecx
Line 281... Line 281...
281
  mov   byte [esp+edx], 0
281
  mov   byte [esp+edx], 0
282
@@:
282
@@:
283
  inc   edx
283
  inc   edx
284
  jnp   .dec_color
284
  jnp   .dec_color
285
  pop   ecx
285
  pop   ecx
286
  mov   edx, header        ;   ¤à¥á § £®«®¢ª 
286
  mov   edx, title        ;   ¤à¥á § £®«®¢ª 
287
  mov   esi, header.size   ;  ¤«¨­  § £®«®¢ª  ("M E N U")
287
  mov   esi, title.size   ;  ¤«¨­  § £®«®¢ª  ("M E N U")
288
  int   0x40
288
  mcall
289
  pop   ecx
289
  pop   ecx
290
  add   ebx, 1 shl 16      ;  ᤢ¨­¥¬ ¢¯à ¢® ­  1
290
  add   ebx, 1 shl 16      ;  ᤢ¨­¥¬ ¢¯à ¢® ­  1
291
  int   0x40
291
  mcall
Line 292... Line 292...
292
 
292
 
293
  mov   ebx, 1*65536+wnd_x_size-2  ; ­ ç¨­ ¥¬ ¤¥« âì ª­®¯ª¨
293
  mov   ebx, 1*65536+wnd_x_size-2  ; ­ ç¨­ ¥¬ ¤¥« âì ª­®¯ª¨
294
  mov   ecx, 20*65536+15
294
  mov   ecx, 20*65536+15
Line 295... Line 295...
295
  mov   edx, 10 or 0x40000000 ; ¡¨â 30 ãáâ ­®¢«¥­ => ª­®¯ª  ­¥ à¨áã¥âáï
295
  mov   edx, 10 or 0x40000000 ; ¡¨â 30 ãáâ ­®¢«¥­ => ª­®¯ª  ­¥ à¨áã¥âáï
Line 296... Line 296...
296
 
296
 
297
  mov   edi,_BTNS_           ; ª®«¨ç¥á⢮ ª­®¯®ª (áçñâ稪)
297
  mov   edi,_BTNS_           ; ª®«¨ç¥á⢮ ª­®¯®ª (áçñâ稪)
298
 
298
 
Line 299... Line 299...
299
 newbtn:                     ; ­ ç «® 横« 
299
 newbtn:                     ; ­ ç «® 横« 
300
  mov   eax,8                ;  ᮧ¤ ñ¬ ª­®¯ªã
300
  mov   eax,8                ;  ᮧ¤ ñ¬ ª­®¯ªã
301
  int   0x40
301
  mcall
302
 
302
 
Line 311... Line 311...
311
  add   edx, -10             ;   edx = ­®¬¥à ª­®¯ª¨;
311
  add   edx, -10             ;   edx = ­®¬¥à ª­®¯ª¨;
312
  imul  edx, string_length   ;   edx *= ¤«¨­  áâப¨;
312
  imul  edx, string_length   ;   edx *= ¤«¨­  áâப¨;
313
  add   edx, text            ;   edx += text;  ⥯¥àì ¢ edx  ¤à¥á áâப¨
313
  add   edx, text            ;   edx += text;  ⥯¥àì ¢ edx  ¤à¥á áâப¨
314
  mov   esi, string_length   ;   ¢ esi - ¤«¨­  áâப¨
314
  mov   esi, string_length   ;   ¢ esi - ¤«¨­  áâப¨
315
  mov   eax, 4               ;   äã­ªæ¨ï 4 - ¢ë¢®¤ ⥪áâ 
315
  mov   eax, 4               ;   äã­ªæ¨ï 4 - ¢ë¢®¤ ⥪áâ 
316
  int   0x40
316
  mcall
317
  popad
317
  popad
Line 318... Line 318...
318
 
318
 
319
  inc   edx                  ;  ­®¬¥à ª­®¯ª¨++;
319
  inc   edx                  ;  ­®¬¥à ª­®¯ª¨++;
320
  add   ecx,15*65536         ;  㢥«¨ç¨¬ ᬥ饭¨¥ ¯® y
320
  add   ecx,15*65536         ;  㢥«¨ç¨¬ ᬥ饭¨¥ ¯® y
321
  dec   edi                  ;  㬥­ì訬 áçñâ稪
321
  dec   edi                  ;  㬥­ì訬 áçñâ稪
Line 322... Line 322...
322
  jnz   newbtn               ; ¥á«¨ ­¥ ­®«ì, ¯®¢â®à¨¬ ¢áñ ¥éñ à §
322
  jnz   newbtn               ; ¥á«¨ ­¥ ­®«ì, ¯®¢â®à¨¬ ¢áñ ¥éñ à §
323
 
323
 
324
  mov   eax,12               ; § ª®­ç¨«¨ "à¨á®¢ âì"
324
  mov   eax,12               ; § ª®­ç¨«¨ "à¨á®¢ âì"
Line 325... Line 325...
325
  mov   ebx,2
325
  mov   ebx,2
Line 343... Line 343...
343
     str db string
343
     str db string
344
  }
344
  }
Line 345... Line 345...
345
 
345
 
346
  strtbl startapps       ,\
346
  strtbl startapps       ,\
347
    <"/RD/1/PIC4",0>     ,\
-
 
348
    <"/RD/1/SKINSEL",0>  ,\
347
    <"/RD/1/PIC4",0>     ,\
349
    <"/RD/1/DESKTOP",0>  ,\
348
    <"/RD/1/DESKTOP",0>  ,\
350
    <"/RD/1/ICON",0>     ,\
349
    <"/RD/1/ICON",0>,\
351
    <"/RD/1/SETUP",0>    ,\
350
    <"/RD/1/SETUP",0>    ,\
352
    <"/RD/1/VRR",0> ,\
351
    <"/RD/1/VRR",0> ,\
Line 353... Line 352...
353
    <"/RD/1/CPU",0> 
352
    <"/RD/1/CPU",0> 
Line 354... Line 353...
354
    
353
    
355
  sz header, "KolibriOS"
354
  sz title, "KolibriOS"
356
 
-
 
357
  lsz text,\
355
 
358
    en, 'Background  ',\
356
  lsz text,\
359
    en, 'Change skin ',\
357
    en, 'Background  ',\
360
    en, 'Desktop     ',\
358
    en, 'Desktop     ',\
361
    en, 'Icon manager',\
359
    en, 'Icon manager',\
362
    en, 'Device setup',\
360
    en, 'Device setup',\
363
    en, 'VRR         ',\
361
    en, 'VRR         ',\
364
    en, 'Processes   ',\
-
 
365
    \
362
    en, 'Processes   ',\
366
    ru, 'ƒ¥­¥à â®à ®¡®¥¢     ',\
363
    \
367
    ru, '‘¬¥­  ᪨­          ',\
364
    ru, 'ƒ¥­¥à â®à ®¡®¥¢     ',\
368
    ru, ' áâனª  ®ª®­      ',\
365
    ru, ' áâனª  ®ª®­      ',\
369
    ru, '“¯à ¢«¥­¨¥ ¨ª®­ª ¬¨ ',\
366
    ru, '“¯à ¢«¥­¨¥ ¨ª®­ª ¬¨ ',\