Subversion Repositories Kolibri OS

Rev

Rev 5449 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5449 Rev 9587
1
;
1
;
2
;   Compile with flat assembler
2
;   Compile with flat assembler
3
;   à®£à ¬¬ª  ¯®§¢®«ïîé ï ¯à®¨£à뢠âì ¯«¥©«¨áâ
3
;   à®£à ¬¬ª  ¯®§¢®«ïîé ï ¯à®¨£à뢠âì ¯«¥©«¨áâ
4
;    §à ¡®â «:   „¥¤Žª  :)
4
;    §à ¡®â «:   „¥¤Žª  :)
5
 
5
 
6
use32
6
use32
7
 
7
 
8
    org    0x0
8
    org    0x0
9
 
9
 
10
	    db	   'MENUET01'	    ; 8 byte id
10
	    db	   'MENUET01'	    ; 8 byte id
11
	    dd	   0x01 	    ; header version
11
	    dd	   0x01 	    ; header version
12
	    dd	   START	    ; start of code
12
	    dd	   START	    ; start of code
13
	    dd	   I_END	    ; size of image
13
	    dd	   I_END	    ; size of image
14
	    dd	   0x25000	     ; memory for app
14
	    dd	   0x25000	     ; memory for app
15
	    dd	   0x20000	     ; esp
15
	    dd	   0x20000	     ; esp
16
	    dd	   playlist,  0x0
16
	    dd	   playlist,  0x0
17
 
17
 
18
include '../../../macros.inc'
18
include '../../../macros.inc'
19
 
19
 
20
START:			   ; start of execution
20
START:			   ; start of execution
21
cmp  [playlist],0x00000000
21
cmp  [playlist],0x00000000
22
jne  dprod
22
jne  dprod
23
mcall  -1
23
mcall  -1
24
dprod:
24
dprod:
25
or   [trig_sys],40h
25
or   [trig_sys],40h
26
call scandr
26
call scandr
27
jmp  mmm.seach
27
jmp  mmm.seach
28
still:
28
still:
29
    not   [trig_sys]
29
    not   [trig_sys]
30
    or	 [trig_sys],400h
30
    or	 [trig_sys],400h
31
    not   [trig_sys]
31
    not   [trig_sys]
32
    or	 [trig_sys],200h
32
    or	 [trig_sys],200h
33
    call enproc
33
    call enproc
34
    call delproc
34
    call delproc
35
    mov  eax,23 		 ; wait here for event
35
    mov  eax,23 		 ; wait here for event
36
    mov  ebx,20
36
    mov  ebx,20
37
    mcall
37
    mcall
38
    cmp  eax,1			; redraw request ?
38
    cmp  eax,1			; redraw request ?
39
    je	 red
39
    je	 red
40
    cmp  eax,3			; button in buffer ?
40
    cmp  eax,3			; button in buffer ?
41
    je	button
41
    je	button
42
    test [trig_sys],200h
42
    test [trig_sys],200h
43
    jz	 next_song
43
    jz	 next_song
44
    jmp  still
44
    jmp  still
45
next_song:
45
next_song:
46
    add  [poz_butt],1
46
    add  [poz_butt],1
47
    movzx eax,[poz_song]
47
    movzx eax,[poz_song]
48
    add  eax,1
48
    add  eax,1
49
    mov  [poz_song],al
49
    mov  [poz_song],al
50
    mov  dx,255
50
    mov  dx,255
51
    mul  dx
51
    mul  dx
52
    mov  [song_poz], eax
52
    mov  [song_poz], eax
53
    movzx eax,[poz_song]
53
    movzx eax,[poz_song]
54
    sub  eax,1
54
    sub  eax,1
55
    cmp  [song_count],eax
55
    cmp  [song_count],eax
56
    ja	 .dgo
56
    ja	 .dgo
57
    mov  [poz_song],1
57
    mov  [poz_song],1
58
    mov  [song_poz],255
58
    mov  [song_poz],255
59
    mov  [poz_butt],6
59
    mov  [poz_butt],6
60
.dgo:
60
.dgo:
61
    call  load_song
61
    call  load_song
62
    call procskan
62
    call procskan
63
    call start
63
    call start
64
    or	 [trig_sys],200h
64
    or	 [trig_sys],200h
65
    call draw_window
65
    call draw_window
66
    jmp  still
66
    jmp  still
67
red:
67
red:
68
    call draw_window
68
    call draw_window
69
    jmp  still
69
    jmp  still
70
button: 		      ; button
70
button: 		      ; button
71
    mov   eax,17
71
    mov   eax,17
72
    mcall
72
    mcall
73
    cmp ah,1
73
    cmp ah,1
74
    je	close
74
    je	close
75
    cmp ah,2
75
    cmp ah,2
76
    je	mmm
76
    je	mmm
77
    cmp ah,3
77
    cmp ah,3
78
    je	mma
78
    je	mma
79
    cmp ah,4
79
    cmp ah,4
80
    je	mmd
80
    je	mmd
81
    cmp ah,5
81
    cmp ah,5
82
    je	mmf
82
    je	mmf
83
    cmp ah,38
83
    cmp ah,38
84
    jb	mma
84
    jb	mma
85
    ret
85
    ret
86
close:
86
close:
87
    mov  eax,-1
87
    mov  eax,-1
88
    mcall
88
    mcall
89
mma:
89
mma:
90
    mov [poz_butt],ah
90
    mov [poz_butt],ah
91
    mov [poz_song],ah
91
    mov [poz_song],ah
92
    sub [poz_song],5
92
    sub [poz_song],5
93
    movzx eax,[poz_song]
93
    movzx eax,[poz_song]
94
    add  eax,[sme]
94
    add  eax,[sme]
95
    mov  [poz_song],al
95
    mov  [poz_song],al
96
    mov  dx,255
96
    mov  dx,255
97
    mul  dx
97
    mul  dx
98
    mov  [song_poz], eax
98
    mov  [song_poz], eax
99
    call  load_song
99
    call  load_song
100
    call procskan
100
    call procskan
101
    call start
101
    call start
102
    or	 [trig_sys],200h
102
    or	 [trig_sys],200h
103
    call draw_window
103
    call draw_window
104
    jmp still
104
    jmp still
105
mmw:
105
mmw:
106
    mov  ebx,file_info2
106
    mov  ebx,file_info2
107
    mov  ecx,[razm_str]
107
    mov  ecx,[razm_str]
108
    add  dword [ebx+4],ecx
108
    add  dword [ebx+4],ecx
109
    or	 [trig_sys],40h
109
    or	 [trig_sys],40h
110
    jmp  mmm.seach
110
    jmp  mmm.seach
111
    ret
111
    ret
112
mmm:
112
mmm:
113
.seach:
113
.seach:
114
    call getstring
114
    call getstring
115
    call get_drive
115
    call get_drive
116
    call put_db
116
    call put_db
117
    call draw_window
117
    call draw_window
118
    test [trig_sys],04h
118
    test [trig_sys],04h
119
    jz	 mmw
119
    jz	 mmw
120
    jmp  still
120
    jmp  still
121
mmd:
121
mmd:
122
    cmp  [poz_db3],510
122
    cmp  [poz_db3],510
123
    jb	 .emd
123
    jb	 .emd
124
    sub  [poz_db3],255
124
    sub  [poz_db3],255
125
    add  [poz_butt],1
125
    add  [poz_butt],1
126
    sub  [sme],1
126
    sub  [sme],1
127
.emd:
127
.emd:
128
    call draw_window
128
    call draw_window
129
    jmp  still
129
    jmp  still
130
mmf:
130
mmf:
131
    add  [poz_db3],255
131
    add  [poz_db3],255
132
    sub  [poz_butt],1
132
    sub  [poz_butt],1
133
    add  [sme],1
133
    add  [sme],1
134
    call draw_window
134
    call draw_window
135
    jmp  still
135
    jmp  still
136
procskan:
136
procskan:
137
    mov  [num_proc],255
137
    mov  [num_proc],255
138
qqqqq:
138
qqqqq:
139
    mov  eax,9
139
    mov  eax,9
140
    mov  ebx,pib
140
    mov  ebx,pib
141
    mov  ecx, [num_proc]
141
    mov  ecx, [num_proc]
142
    mcall
142
    mcall
143
    cld
143
    cld
144
    lea si,[pib.process_name]
144
    lea si,[pib.process_name]
145
    lea di,[minus]
145
    lea di,[minus]
146
    mov cx,7
146
    mov cx,7
147
    rep cmps byte [si],[di]
147
    rep cmps byte [si],[di]
148
    jcxz mat
148
    jcxz mat
149
    sub  [num_proc],1
149
    sub  [num_proc],1
150
    cmp  [num_proc],1
150
    cmp  [num_proc],1
151
    jne  qqqqq
151
    jne  qqqqq
152
    ret
152
    ret
153
mat:
153
mat:
154
    mov eax,18
154
    mov eax,18
155
    mov ebx,2
155
    mov ebx,2
156
    mov ecx,[num_proc]
156
    mov ecx,[num_proc]
157
    mcall
157
    mcall
158
    jmp  procskan
158
    jmp  procskan
159
scandr:
159
scandr:
160
    mov  eax,18
160
    mov  eax,18
161
    mov  ebx,11
161
    mov  ebx,11
162
    mov  ecx,1
162
    mov  ecx,1
163
    mov  edx,scan_rez
163
    mov  edx,scan_rez
164
    mcall
164
    mcall
165
    ret
165
    ret
166
mountpl:
166
mountpl:
167
    mov  cx,255
167
    mov  cx,255
168
    cld
168
    cld
169
    lea  di,[fl]
169
    lea  di,[fl]
170
    mov  al,00h
170
    mov  al,00h
171
    repne stos byte [di]
171
    repne stos byte [di]
172
    cld
172
    cld
173
    mov  cx,6
173
    mov  cx,6
174
    lea  si,[play_list]
174
    lea  si,[play_list]
175
    lea  di,[fl]
175
    lea  di,[fl]
176
    rep movs byte [di],[si]
176
    rep movs byte [di],[si]
177
    mov  cx,0
177
    mov  cx,0
178
    ret
178
    ret
179
get_drive:
179
get_drive:
180
    mov  al,byte[scan_rez+1]
180
    mov  al,byte[scan_rez+1]
181
    mov  [my_draw],al
181
    mov  [my_draw],al
182
    mov  [ns],48
182
    mov  [ns],48
183
    cmp  [my_draw],0
183
    cmp  [my_draw],0
184
    jne  .c0
184
    jne  .c0
185
    or	 [trig_sys],01h
185
    or	 [trig_sys],01h
186
.c0:
186
.c0:
187
    cmp  [my_draw],0x80
187
    cmp  [my_draw],0x80
188
    jb	 .h0
188
    jb	 .h0
189
    sub  [my_draw],0x80
189
    sub  [my_draw],0x80
190
    mov  [n_razd],1
190
    mov  [n_razd],1
191
    mov  [nd],49
191
    mov  [nd],49
192
    mov  al,[cd_0]
192
    mov  al,[cd_0]
193
    mov  [td],al
193
    mov  [td],al
194
    call  folscan
194
    call  folscan
195
.h0:
195
.h0:
196
    cmp  [trig_scan],1
196
    cmp  [trig_scan],1
197
    je	 ex1
197
    je	 ex1
198
    cmp  [my_draw],0x40
198
    cmp  [my_draw],0x40
199
    jb	 .c1
199
    jb	 .c1
200
    sub  [my_draw],0x40
200
    sub  [my_draw],0x40
201
    mov  al,byte[scan_rez+2]
201
    mov  al,byte[scan_rez+2]
202
    mov  [n_razd],al
202
    mov  [n_razd],al
203
    add  al,48
203
    add  al,48
204
    mov  [nd],al
204
    mov  [nd],al
205
    mov  al,[hd_0]
205
    mov  al,[hd_0]
206
    mov  [td],al
206
    mov  [td],al
207
    call  folscan
207
    call  folscan
208
.c1:
208
.c1:
209
    cmp  [trig_scan],1
209
    cmp  [trig_scan],1
210
    je	 ex1
210
    je	 ex1
211
    cmp  [my_draw],0x20
211
    cmp  [my_draw],0x20
212
    jb	 .h1
212
    jb	 .h1
213
    sub  [my_draw],0x20
213
    sub  [my_draw],0x20
214
    mov  [n_razd],1
214
    mov  [n_razd],1
215
    mov  [nd],49
215
    mov  [nd],49
216
    mov  al,[cd_0]
216
    mov  al,[cd_0]
217
    mov  [ns],19
217
    mov  [ns],19
218
    call  folscan
218
    call  folscan
219
.h1:
219
.h1:
220
    cmp  [trig_scan],1
220
    cmp  [trig_scan],1
221
    je	 ex1
221
    je	 ex1
222
    cmp  [my_draw],0x10
222
    cmp  [my_draw],0x10
223
    jb	 .c2
223
    jb	 .c2
224
    sub  [my_draw],0x10
224
    sub  [my_draw],0x10
225
    mov  al,byte[scan_rez+3]
225
    mov  al,byte[scan_rez+3]
226
    mov  [n_razd],al
226
    mov  [n_razd],al
227
    add  al,48
227
    add  al,48
228
    mov  [nd],al
228
    mov  [nd],al
229
    mov  al,[hd_0]
229
    mov  al,[hd_0]
230
    mov  [td],al
230
    mov  [td],al
231
    mov  [ns],49
231
    mov  [ns],49
232
    call  folscan
232
    call  folscan
233
.c2:
233
.c2:
234
    cmp  [trig_scan],1
234
    cmp  [trig_scan],1
235
    je	 ex1
235
    je	 ex1
236
    cmp  [my_draw],0x08
236
    cmp  [my_draw],0x08
237
    jb	 .h2
237
    jb	 .h2
238
    sub  [my_draw],0x08
238
    sub  [my_draw],0x08
239
    mov  [n_razd],1
239
    mov  [n_razd],1
240
    mov  [nd],49
240
    mov  [nd],49
241
    mov  al,[cd_0]
241
    mov  al,[cd_0]
242
    mov  [td],al
242
    mov  [td],al
243
    mov  [ns],50
243
    mov  [ns],50
244
    call  folscan
244
    call  folscan
245
.h2:
245
.h2:
246
    cmp  [trig_scan],1
246
    cmp  [trig_scan],1
247
    je	 ex1
247
    je	 ex1
248
    cmp  [my_draw],0x04
248
    cmp  [my_draw],0x04
249
    jb	 .c3
249
    jb	 .c3
250
    sub  [my_draw],0x04
250
    sub  [my_draw],0x04
251
    mov  al,byte[scan_rez+4]
251
    mov  al,byte[scan_rez+4]
252
    mov  [n_razd],al
252
    mov  [n_razd],al
253
    add  al,48
253
    add  al,48
254
    mov  [nd],al
254
    mov  [nd],al
255
    mov  al,[hd_0]
255
    mov  al,[hd_0]
256
    mov  [td],al
256
    mov  [td],al
257
    mov  [ns],50
257
    mov  [ns],50
258
    call folscan
258
    call folscan
259
.c3:
259
.c3:
260
    cmp  [trig_scan],1
260
    cmp  [trig_scan],1
261
     je  ex1
261
     je  ex1
262
    cmp  [my_draw],0x02
262
    cmp  [my_draw],0x02
263
    jb	 .h3
263
    jb	 .h3
264
    sub  [my_draw],0x02
264
    sub  [my_draw],0x02
265
    mov  [n_razd],1
265
    mov  [n_razd],1
266
    mov  [nd],49
266
    mov  [nd],49
267
    mov  al,[cd_0]
267
    mov  al,[cd_0]
268
    mov  [td],al
268
    mov  [td],al
269
    mov  [ns],51
269
    mov  [ns],51
270
    call folscan
270
    call folscan
271
.h3:
271
.h3:
272
    cmp  [trig_scan],1
272
    cmp  [trig_scan],1
273
    je	 ex1
273
    je	 ex1
274
    cmp  [my_draw],0x01
274
    cmp  [my_draw],0x01
275
    jb	 ex1
275
    jb	 ex1
276
    sub  [my_draw],0x01
276
    sub  [my_draw],0x01
277
    mov  al,byte[scan_rez+5]
277
    mov  al,byte[scan_rez+5]
278
    mov  [n_razd],al
278
    mov  [n_razd],al
279
    add  al,48
279
    add  al,48
280
    mov  [nd],al
280
    mov  [nd],al
281
    mov  al,[hd_0]
281
    mov  al,[hd_0]
282
    mov  [td],al
282
    mov  [td],al
283
    mov  [ns],51
283
    mov  [ns],51
284
    call folscan
284
    call folscan
285
ex1:
285
ex1:
286
    cmp  [fold],05h
286
    cmp  [fold],05h
287
    jne  ext2
287
    jne  ext2
288
    or	 [trig_sys],04h
288
    or	 [trig_sys],04h
289
ext2:
289
ext2:
290
    cmp  [fold],0Ah
290
    cmp  [fold],0Ah
291
    jne  ext3
291
    jne  ext3
292
    or	 [trig_sys],08h
292
    or	 [trig_sys],08h
293
    jmp  eext
293
    jmp  eext
294
ext3:
294
ext3:
295
    mov  [trig_scan],0
295
    mov  [trig_scan],0
296
    not  [trig_sys]
296
    not  [trig_sys]
297
    or	 [trig_sys],0Eh
297
    or	 [trig_sys],0Eh
298
    not  [trig_sys]
298
    not  [trig_sys]
299
eext:
299
eext:
300
    ret
300
    ret
301
folscan:
301
folscan:
302
    cmp  [trig_scan],1
302
    cmp  [trig_scan],1
303
    je	 .out2
303
    je	 .out2
304
    mov  eax,70
304
    mov  eax,70
305
    mov  ebx,file_info
305
    mov  ebx,file_info
306
    mcall
306
    mcall
307
    mov  [fold],eax
307
    mov  [fold],eax
308
    cmp  [fold],0
308
    cmp  [fold],0
309
    jne  .out
309
    jne  .out
310
    mov  al,1
310
    mov  al,1
311
    mov  [trig_scan],al
311
    mov  [trig_scan],al
312
    jmp  .out2
312
    jmp  .out2
313
.out:
313
.out:
314
     mov  al,1
314
     mov  al,1
315
    sub  [n_razd],al
315
    sub  [n_razd],al
316
    mov  al,1
316
    mov  al,1
317
    sub  [nd],al
317
    sub  [nd],al
318
    cmp  [n_razd],0
318
    cmp  [n_razd],0
319
    jne  folscan
319
    jne  folscan
320
.out2:
320
.out2:
321
    ret
321
    ret
322
get_play:
322
get_play:
323
    mov  cx,255
323
    mov  cx,255
324
    lea  si,[floc]
324
    lea  si,[floc]
325
    lea  di,[playlist]
325
    lea  di,[playlist]
326
    rep movs byte [di],[si]
326
    rep movs byte [di],[si]
327
    mov  cx,0
327
    mov  cx,0
328
ret
328
ret
329
getstring:
329
getstring:
330
    mov  eax,70
330
    mov  eax,70
331
    mov  ebx,file_info2
331
    mov  ebx,file_info2
332
    mov  dword [ebx+12], 255
332
    mov  dword [ebx+12], 255
333
    mov  dword [ebx+16],string1
333
    mov  dword [ebx+16],string1
334
    mov  dword [ebx+21],playlist
334
    mov  dword [ebx+21],playlist
335
    mcall
335
    mcall
336
    cmp eax,6
336
    cmp eax,6
337
    jne .pro
337
    jne .pro
338
    or	 [trig_sys],04h
338
    or	 [trig_sys],04h
339
    call draw_window
339
    call draw_window
340
    jmp  still
340
    jmp  still
341
.pro:
341
.pro:
342
 
342
 
343
    cmp  ebx,0xFFFFFFFF
343
    cmp  ebx,0xFFFFFFFF
344
    je	.exit
344
    je	.exit
345
    call rus_m
345
    call rus_m
346
    cld
346
    cld
347
    lea  di,[string1]
347
    lea  di,[string1]
348
    mov  cx,255
348
    mov  cx,255
349
    mov  al,0ah
349
    mov  al,0ah
350
    repne  scas byte  [es:di]
350
    repne  scas byte  [es:di]
351
    je	 .calc
351
    je	 .calc
352
    mov [razm_str],0
352
    mov [razm_str],0
353
    mov  ebx,file_info2
353
    mov  ebx,file_info2
354
    add  dword [ebx+4], 255
354
    add  dword [ebx+4], 255
355
    or	 [trig_sys],40h
355
    or	 [trig_sys],40h
356
    jmp mmm.seach
356
    jmp mmm.seach
357
.calc:
357
.calc:
358
     mov  [razm_str],255
358
     mov  [razm_str],255
359
     sub  [razm_str],ecx
359
     sub  [razm_str],ecx
360
.kon:
360
.kon:
361
    mov  [razm_path],0
361
    mov  [razm_path],0
362
    cld
362
    cld
363
    lea  di,[string1]
363
    lea  di,[string1]
364
    mov  ecx,0
364
    mov  ecx,0
365
.ppr:
365
.ppr:
366
    cmp byte [es:di],70h
366
    cmp byte [es:di],70h
367
    je	.s1
367
    je	.s1
368
    cmp byte [es:di],50h
368
    cmp byte [es:di],50h
369
    je	.s1
369
    je	.s1
370
    add  ecx,1
370
    add  ecx,1
371
    add  di,1
371
    add  di,1
372
    cmp  ecx,[razm_str]
372
    cmp  ecx,[razm_str]
373
    jb	.ppr
373
    jb	.ppr
374
    jmp .next
374
    jmp .next
375
.s1:
375
.s1:
376
    add  di,1
376
    add  di,1
377
    cmp  byte [es:di],33h
377
    cmp  byte [es:di],33h
378
    je	 .s2
378
    je	 .s2
379
    sub  di,1
379
    sub  di,1
380
    jmp .next
380
    jmp .next
381
    ret
381
    ret
382
.s2:
382
.s2:
383
 
383
 
384
    or	 [trig_sys],80h
384
    or	 [trig_sys],80h
385
    mov  [razm_path],ecx
385
    mov  [razm_path],ecx
386
    add  [razm_path],2
386
    add  [razm_path],2
387
 
387
 
388
;    mov  [ss2],0
388
;    mov  [ss2],0
389
    cld
389
    cld
390
    lea  di,[string1]
390
    lea  di,[string1]
391
    mov  cx,0
391
    mov  cx,0
392
    mov  [zzz],cx
392
    mov  [zzz],cx
393
.ppre:
393
.ppre:
394
    cmp byte [es:di],3Ah
394
    cmp byte [es:di],3Ah
395
    je	.se1
395
    je	.se1
396
    add  cx,1
396
    add  cx,1
397
    add  di,1
397
    add  di,1
398
    cmp  ecx,[razm_path]
398
    cmp  ecx,[razm_path]
399
    jne  .ppre
399
    jne  .ppre
400
    jmp  .mount
400
    jmp  .mount
401
.se1:
401
.se1:
402
    add  di,1
402
    add  di,1
403
    cmp  byte [es:di],5Ch
403
    cmp  byte [es:di],5Ch
404
    je	 .se2
404
    je	 .se2
405
    sub  di,1
405
    sub  di,1
406
    jmp  .mount
406
    jmp  .mount
407
.se2:
407
.se2:
408
    cmp  ecx,250
408
    cmp  ecx,250
409
    jb	 .se3
409
    jb	 .se3
410
    mov  ecx,0
410
    mov  ecx,0
411
.se3:
411
.se3:
412
    add  cx,2
412
    add  cx,2
413
;    mov  [ss2],cx
413
;    mov  [ss2],cx
414
    mov  [zzz],cx
414
    mov  [zzz],cx
415
.mount:
415
.mount:
416
    movzx  ecx,[zzz]
416
    movzx  ecx,[zzz]
417
    cmp  ecx, [razm_path]
417
    cmp  ecx, [razm_path]
418
    jb	.mount1
418
    jb	.mount1
419
    or	 [trig_sys],04h
419
    or	 [trig_sys],04h
420
    jmp  still
420
    jmp  still
421
.mount1:
421
.mount1:
422
    mov  ecx,255
422
    mov  ecx,255
423
    cld
423
    cld
424
    lea  di,[fl]
424
    lea  di,[fl]
425
    mov  al,00h
425
    mov  al,00h
426
    repne stos byte [di]
426
    repne stos byte [di]
427
    cld
427
    cld
428
    mov  ecx,[razm_path]
428
    mov  ecx,[razm_path]
429
    sub  cx,[zzz]
429
    sub  cx,[zzz]
430
    lea  si,[string1]
430
    lea  si,[string1]
431
    add  si,[zzz]
431
    add  si,[zzz]
432
    lea  di,[fl]
432
    lea  di,[fl]
433
    rep movs byte [di],[si]
433
    rep movs byte [di],[si]
434
    mov  ecx,0
434
    mov  ecx,0
435
.sl_m:
435
.sl_m:
436
    mov  ecx,0
436
    mov  ecx,0
437
    lea  di,[fl]
437
    lea  di,[fl]
438
.cikl_mx:
438
.cikl_mx:
439
    mov  al,byte[di]
439
    mov  al,byte[di]
440
    mov  [char_con],al
440
    mov  [char_con],al
441
    cmp  al,5Ch
441
    cmp  al,5Ch
442
    je	 .con_sl
442
    je	 .con_sl
443
    jmp  .ext6
443
    jmp  .ext6
444
.con_sl:
444
.con_sl:
445
    mov al,2Fh
445
    mov al,2Fh
446
.ext6:
446
.ext6:
447
    stos byte [di]
447
    stos byte [di]
448
    add  ecx,1
448
    add  ecx,1
449
    cmp  ecx,[razm_path]
449
    cmp  ecx,[razm_path]
450
    jb	.cikl_mx
450
    jb	.cikl_mx
451
 
451
 
452
.exit:
452
.exit:
453
    ret
453
    ret
454
.next:
454
.next:
455
    not  [trig_sys]
455
    not  [trig_sys]
456
    or	 [trig_sys],80h
456
    or	 [trig_sys],80h
457
    not  [trig_sys]
457
    not  [trig_sys]
458
    mov  ebx,file_info2
458
    mov  ebx,file_info2
459
    mov  ecx,[razm_str]
459
    mov  ecx,[razm_str]
460
    add  dword [ebx+4],ecx
460
    add  dword [ebx+4],ecx
461
    or	 [trig_sys],40h
461
    or	 [trig_sys],40h
462
    jmp mmm.seach
462
    jmp mmm.seach
463
rus_m:
463
rus_m:
464
    test  [trig_sys],40h
464
    test  [trig_sys],40h
465
    jnz   ddff
465
    jnz   ddff
466
    ret
466
    ret
467
ddff:
467
ddff:
468
    mov  ecx,0
468
    mov  ecx,0
469
    lea  di,[string1]
469
    lea  di,[string1]
470
cicl_m:
470
cicl_m:
471
    mov  al,byte[di]
471
    mov  al,byte[di]
472
    mov  [char_con],al
472
    mov  [char_con],al
473
    shr  al,4
473
    shr  al,4
474
    cmp  al,0Eh
474
    cmp  al,0Eh
475
    je	 min_sor
475
    je	 min_sor
476
    cmp  al,0Ch
476
    cmp  al,0Ch
477
    je	 min_sor
477
    je	 min_sor
478
    cmp  al,0Dh
478
    cmp  al,0Dh
479
    je	 min_sor
479
    je	 min_sor
480
    cmp  al,0Fh
480
    cmp  al,0Fh
481
    je	 min_des
481
    je	 min_des
482
    shl  al,4
482
    shl  al,4
483
    mov  al,0
483
    mov  al,0
484
    jmp  ext5
484
    jmp  ext5
485
min_sor:
485
min_sor:
486
    sub  [char_con],40h
486
    sub  [char_con],40h
487
    jmp  ext5
487
    jmp  ext5
488
min_des:
488
min_des:
489
     sub  [char_con],10h
489
     sub  [char_con],10h
490
    jmp  ext5
490
    jmp  ext5
491
ext5:
491
ext5:
492
    mov  al,[char_con]
492
    mov  al,[char_con]
493
    stos byte [di]
493
    stos byte [di]
494
    add  ecx,1
494
    add  ecx,1
495
    cmp  ecx,255
495
    cmp  ecx,255
496
    jb	cicl_m
496
    jb	cicl_m
497
    not  [trig_sys]
497
    not  [trig_sys]
498
    or	 [trig_sys],40h
498
    or	 [trig_sys],40h
499
    not  [trig_sys]
499
    not  [trig_sys]
500
    ret
500
    ret
501
 
501
 
502
put_db:
502
put_db:
503
    test [trig_sys],80h
503
    test [trig_sys],80h
504
    jz	.exit
504
    jz	.exit
505
    add  [song_count],1
505
    add  [song_count],1
506
    add  [poz_db],255
506
    add  [poz_db],255
507
    mov  ecx,255
507
    mov  ecx,255
508
    cld
508
    cld
509
    mov  ebx,[poz_db]
509
    mov  ebx,[poz_db]
510
    lea  di,[memlist+ebx]
510
    lea  di,[memlist+ebx]
511
    mov  al,00h
511
    mov  al,00h
512
    repne stos byte [di]
512
    repne stos byte [di]
513
    cld
513
    cld
514
    mov  ecx,255
514
    mov  ecx,255
515
    lea  si,[floc]
515
    lea  si,[floc]
516
    mov  ebx,[poz_db]
516
    mov  ebx,[poz_db]
517
    lea  di,[memlist+ebx]
517
    lea  di,[memlist+ebx]
518
    rep movs byte [di],[si]
518
    rep movs byte [di],[si]
519
    mov  ecx,0
519
    mov  ecx,0
520
.exit:
520
.exit:
521
    ret
521
    ret
522
load_song:
522
load_song:
523
    cld
523
    cld
524
    mov  ecx,255
524
    mov  ecx,255
525
    lea  di,[song_path]
525
    lea  di,[song_path]
526
    mov  ebx,[song_poz]
526
    mov  ebx,[song_poz]
527
    lea  si,[memlist+ebx]
527
    lea  si,[memlist+ebx]
528
    rep movs byte [di],[si]
528
    rep movs byte [di],[si]
529
    mov  ecx,0
529
    mov  ecx,0
530
    ret
530
    ret
531
start:
531
start:
532
    mov  eax,70
532
    mov  eax,70
533
    mov  ebx,folder_inf
533
    mov  ebx,folder_inf
534
    mcall
534
    mcall
535
    ret
535
    ret
536
delproc:
536
delproc:
537
    test [trig_sys],400h
537
    test [trig_sys],400h
538
    jnz   .sdf
538
    jnz   .sdf
539
    ret
539
    ret
540
.sdf:
540
.sdf:
541
       mov  [num_proc],255
541
       mov  [num_proc],255
542
.fgf:
542
.fgf:
543
    mov  eax,9
543
    mov  eax,9
544
    mov  ebx,pib
544
    mov  ebx,pib
545
    mov  ecx, [num_proc]
545
    mov  ecx, [num_proc]
546
    mcall
546
    mcall
547
    cld
547
    cld
548
    lea si,[pib.process_name]
548
    lea si,[pib.process_name]
549
    lea di,[minus]
549
    lea di,[minus]
550
    mov cx,7
550
    mov cx,7
551
    rep cmps byte [si],[di]
551
    rep cmps byte [si],[di]
552
    jcxz .qwer
552
    jcxz .qwer
553
    sub  [num_proc],1
553
    sub  [num_proc],1
554
    cmp  [num_proc],1
554
    cmp  [num_proc],1
555
    jne  .fgf
555
    jne  .fgf
556
     test [trig_sys],200h
556
     test [trig_sys],200h
557
    ret
557
    ret
558
.qwer:
558
.qwer:
559
    mov  eax,[pib+process_information.cpu_usage]
559
    mov  eax,[pib+process_information.cpu_usage]
560
    mov  [q_takt],eax
560
    mov  [q_takt],eax
561
    cmp  [q_takt],200000
561
    cmp  [q_takt],200000
562
    jb	 .asdf
562
    jb	 .asdf
563
    ret
563
    ret
564
.asdf:
564
.asdf:
565
    add   [count_err],1
565
    add   [count_err],1
566
    cmp   [count_err],6
566
    cmp   [count_err],6
567
    ja	  .djbn
567
    ja	  .djbn
568
    ret
568
    ret
569
.djbn:
569
.djbn:
570
    mov   [count_err],0
570
    mov   [count_err],0
571
    not   [trig_sys]
571
    not   [trig_sys]
572
    or	 [trig_sys],200h
572
    or	 [trig_sys],200h
573
    not   [trig_sys]
573
    not   [trig_sys]
574
    ret
574
    ret
575
enproc:
575
enproc:
576
    mov  [num_proc],255
576
    mov  [num_proc],255
577
.fgf:
577
.fgf:
578
    mov  eax,9
578
    mov  eax,9
579
    mov  ebx,pib
579
    mov  ebx,pib
580
    mov  ecx, [num_proc]
580
    mov  ecx, [num_proc]
581
    mcall
581
    mcall
582
    cld
582
    cld
583
    lea si,[pib.process_name]
583
    lea si,[pib.process_name]
584
    lea di,[minus]
584
    lea di,[minus]
585
    mov cx,7
585
    mov cx,7
586
    rep cmps byte [si],[di]
586
    rep cmps byte [si],[di]
587
    jcxz .qwer
587
    jcxz .qwer
588
    sub  [num_proc],1
588
    sub  [num_proc],1
589
    cmp  [num_proc],1
589
    cmp  [num_proc],1
590
    jne  .fgf
590
    jne  .fgf
591
    ret
591
    ret
592
.qwer:
592
.qwer:
593
    or	 [trig_sys],400h
593
    or	 [trig_sys],400h
594
    ret
594
    ret
595
 
595
 
596
;   *********************************************
596
;   *********************************************
597
;   *******  WINDOW DEFINITIONS AND DRAW ********
597
;   *******  WINDOW DEFINITIONS AND DRAW ********
598
;   *********************************************
598
;   *********************************************
599
 
599
 
600
draw_window:
600
draw_window:
601
    mov  eax,48
601
    mov  eax,48
602
    mov  ebx,3
602
    mov  ebx,3
603
    mov  ecx,sc
603
    mov  ecx,sc
604
    mov  edx,sizeof.system_colors
604
    mov  edx,sizeof.system_colors
605
    mcall
605
    mcall
606
    mov  eax,12 		   ; function 12:tell os about windowdraw
606
    mov  eax,12 		   ; function 12:tell os about windowdraw
607
    mov  ebx,1			   ; 1, start of draw
607
    mov  ebx,1			   ; 1, start of draw
608
    mcall
608
    mcall
609
				   ; DRAW WINDOW
609
				   ; DRAW WINDOW
610
    xor  eax,eax	    ; function 0 : define and draw window
610
    xor  eax,eax	    ; function 0 : define and draw window
611
    mov  ebx,100*65536+550	   ; [x start] *65536 + [x size]
611
    mov  ebx,100*65536+550	   ; [x start] *65536 + [x size]
612
    mov  ecx,100*65536+420	    ; [y start] *65536 + [y size]
612
    mov  ecx,100*65536+420	    ; [y start] *65536 + [y size]
613
    mov  edx,[sc.work]		   ; color of work area RRGGBB,8->color gl
613
    mov  edx,[sc.work]		   ; color of work area RRGGBB,8->color gl
614
    or	 edx,0x33000000
614
    or	 edx,0x33000000
615
    mov  edi,title
615
    mov  edi,title
616
    mcall
616
    mcall
617
    mov  eax,4
617
    mov  eax,4
618
    mov  ebx,5*65536+5
618
    mov  ebx,5*65536+5
619
    mov  ecx,0xC0000000
619
    mov  ecx,0xC0000000
620
    mov  edx,label1
620
    mov  edx,label1
621
    mov  edi,[sc.work]
621
    mov  edi,[sc.work]
622
    mcall
622
    mcall
623
    mov  eax,4
623
    mov  eax,4
624
    mov  ebx,300*65536+5
624
    mov  ebx,300*65536+5
625
    mov  ecx,0xC0000000
625
    mov  ecx,0xC0000000
626
    mov  edx,label5
626
    mov  edx,label5
627
    mov  edi,[sc.work]
627
    mov  edi,[sc.work]
628
    mcall
628
    mcall
629
    mov  eax,4
629
    mov  eax,4
630
    mov  ebx,300*65536+15
630
    mov  ebx,300*65536+15
631
    mov  ecx,0xC0000000
631
    mov  ecx,0xC0000000
632
    mov  edx,label6
632
    mov  edx,label6
633
    mov  edi,[sc.work]
633
    mov  edi,[sc.work]
634
    mcall
634
    mcall
635
    mov  eax,4
635
    mov  eax,4
636
    mov  ebx,25*65536+35
636
    mov  ebx,25*65536+35
637
    mov  ecx,0xC00000dd
637
    mov  ecx,0xC00000dd
638
    mov  edx,song_path
638
    mov  edx,song_path
639
    mov  edi,[sc.work]
639
    mov  edi,[sc.work]
640
    mcall
640
    mcall
641
    mov  eax,4
641
    mov  eax,4
642
    mov  ebx,100*65536+5
642
    mov  ebx,100*65536+5
643
    mov  ecx,0xC0000000
643
    mov  ecx,0xC0000000
644
    mov  edx,playlist
644
    mov  edx,playlist
645
    mov  edi,[sc.work]
645
    mov  edi,[sc.work]
646
    mcall
646
    mcall
647
    test [trig_sys],4h
647
    test [trig_sys],4h
648
    jnz   .zam1
648
    jnz   .zam1
649
    mov  eax,4
649
    mov  eax,4
650
    mov  ebx,5*65536+15
650
    mov  ebx,5*65536+15
651
    mov  ecx,0xC0000000
651
    mov  ecx,0xC0000000
652
    mov  edx,label3
652
    mov  edx,label3
653
    mov  edi,[sc.work]
653
    mov  edi,[sc.work]
654
    mcall
654
    mcall
655
    jmp  .zam2
655
    jmp  .zam2
656
.zam1:
656
.zam1:
657
    mov  eax,4
657
    mov  eax,4
658
    mov  ebx,5*65536+15
658
    mov  ebx,5*65536+15
659
    mov  ecx,0xC0000000
659
    mov  ecx,0xC0000000
660
    mov  edx,label2
660
    mov  edx,label2
661
    mov  edi,[sc.work]
661
    mov  edi,[sc.work]
662
    mcall
662
    mcall
663
    mov  eax,4
663
    mov  eax,4
664
    mov  ebx,5*65536+25
664
    mov  ebx,5*65536+25
665
    mov  ecx,0xC0000000
665
    mov  ecx,0xC0000000
666
    mov  edx,label4
666
    mov  edx,label4
667
    mov  edi,[sc.work]
667
    mov  edi,[sc.work]
668
    mcall
668
    mcall
669
.zam2:
669
.zam2:
670
 
670
 
671
;    mov  eax,47
671
;    mov  eax,47
672
;    mov  esi,0x50000000
672
;    mov  esi,0x50000000
673
;    mov  ecx, [trig_sys]
673
;    mov  ecx, [trig_sys]
674
;    mov  edi,[sc.work]
674
;    mov  edi,[sc.work]
675
;    mov  ebx,0x00080100
675
;    mov  ebx,0x00080100
676
;    mov  edx,385*65536+25
676
;    mov  edx,385*65536+25
677
;    mcall
677
;    mcall
678
    mov  eax,47
678
    mov  eax,47
679
    mov  esi,0x50000000
679
    mov  esi,0x50000000
680
    mov  ecx, [song_count]
680
    mov  ecx, [song_count]
681
    mov  edi,[sc.work]
681
    mov  edi,[sc.work]
682
    mov  ebx,0x00030000
682
    mov  ebx,0x00030000
683
    mov  edx,500*65536+5
683
    mov  edx,500*65536+5
684
    mcall
684
    mcall
685
    mov  eax,47
685
    mov  eax,47
686
    mov  esi,0x50000000
686
    mov  esi,0x50000000
687
    movzx  ecx, [poz_song]
687
    movzx  ecx, [poz_song]
688
    mov  edi,[sc.work]
688
    mov  edi,[sc.work]
689
    mov  ebx,0x00030000
689
    mov  ebx,0x00030000
690
    mov  edx,500*65536+15
690
    mov  edx,500*65536+15
691
    mcall
691
    mcall
692
    mov  [bbut],32
692
    mov  [bbut],32
693
    mov  [poz_but],48*65536+10
693
    mov  [poz_but],48*65536+10
694
    mov  edx,6
694
    mov  edx,6
695
butt1:
695
butt1:
696
    mov  ebx,0*65536+20
696
    mov  ebx,0*65536+20
697
    mov  ecx,[poz_but]
697
    mov  ecx,[poz_but]
698
    mov  esi,[color1]
698
    mov  esi,[color1]
699
    movzx  eax,[poz_butt]
699
    movzx  eax,[poz_butt]
700
    cmp  edx,eax
700
    cmp  edx,eax
701
    jne  .uuu
701
    jne  .uuu
702
    mov  esi,[color2]
702
    mov  esi,[color2]
703
.uuu:
703
.uuu:
704
    mov  eax,8
704
    mov  eax,8
705
    mcall
705
    mcall
706
    add  edx,1
706
    add  edx,1
707
    add  [poz_but],10*65536
707
    add  [poz_but],10*65536
708
    sub  [bbut],1
708
    sub  [bbut],1
709
    cmp  [bbut],0
709
    cmp  [bbut],0
710
    jne   butt1
710
    jne   butt1
711
    mov  eax,8
711
    mov  eax,8
712
    mov  ebx,525*65536+15
712
    mov  ebx,525*65536+15
713
    mov  ecx,45*65536+15
713
    mov  ecx,45*65536+15
714
    mov  esi,0x00aaaadd
714
    mov  esi,0x00aaaadd
715
    mov  edx,4
715
    mov  edx,4
716
    mcall
716
    mcall
717
    mov  eax,8
717
    mov  eax,8
718
    mov  ebx,525*65536+15
718
    mov  ebx,525*65536+15
719
    mov  ecx,365*65536+15
719
    mov  ecx,365*65536+15
720
    mov  esi,0x00aaaadd
720
    mov  esi,0x00aaaadd
721
    mov  edx,5
721
    mov  edx,5
722
    mcall
722
    mcall
723
    mov  [ai],32
723
    mov  [ai],32
724
    mov  [list_poz],25*65536+50
724
    mov  [list_poz],25*65536+50
725
    mov  ebx,[poz_db3]
725
    mov  ebx,[poz_db3]
726
    mov  [poz_db2],ebx
726
    mov  [poz_db2],ebx
727
list:
727
list:
728
    mov  eax,4
728
    mov  eax,4
729
    mov  ecx,0xC0000000
729
    mov  ecx,0xC0000000
730
    mov  ebx,[poz_db2]
730
    mov  ebx,[poz_db2]
731
    lea  edx,[memlist+ebx]
731
    lea  edx,[memlist+ebx]
732
    mov  ebx, [list_poz]
732
    mov  ebx, [list_poz]
733
    mov  edi,[sc.work]
733
    mov  edi,[sc.work]
734
    mcall
734
    mcall
735
    add  [list_poz],10
735
    add  [list_poz],10
736
    add  [poz_db2],255
736
    add  [poz_db2],255
737
    sub  [ai],1
737
    sub  [ai],1
738
    cmp  [ai],0
738
    cmp  [ai],0
739
    ja	list
739
    ja	list
740
    mov  eax,12 		   ; function 12:tell os about windowdraw
740
    mov  eax,12 		   ; function 12:tell os about windowdraw
741
    mov  ebx,2			   ; 2, end of draw
741
    mov  ebx,2			   ; 2, end of draw
742
    mcall
742
    mcall
743
    ret
743
    ret
744
 
744
 
745
 
745
 
746
 
746
 
747
; DATA AREA
747
; DATA AREA
748
 
748
 
749
 
749
 
750
title:        db   'à®¨£à뢠¥¬ ¯«¥©«¨áâ v 0.20',0
750
title:        db   'à®¨£à뢠¥¬ ¯«¥©«¨áâ v 0.20',0
751
play_list:     db   '1.kpl',0
751
play_list:     db   '1.kpl',0
752
cd_0:	       db   'c',0
752
cd_0:	       db   'c',0
753
hd_0:	       db   'h',0
753
hd_0:	       db   'h',0
754
label1:        db   '” ©« ¯«¥©«¨áâ :',0
754
label1:        db   '” ©« ¯«¥©«¨áâ :',0
755
label2:        db   '᪠­¨à®¢ ­¨¥ § ª®­ç¥­®... :)            ',0
755
label2:        db   '᪠­¨à®¢ ­¨¥ § ª®­ç¥­®... :)            ',0
756
label3:        db   '®¤®¦¤¨â¥, ¯®¦ «ã©áâ , ¨¤ñâ ᪠­¨à®¢ ­¨¥',0
756
label3:        db   '®¤®¦¤¨â¥, ¯®¦ «ã©áâ , ¨¤ñâ ᪠­¨à®¢ ­¨¥',0
757
label4:        db   '‚®á¯à®¨§¢®¤¨¬ë© ä ©«:',0
757
label4:        db   '‚®á¯à®¨§¢®¤¨¬ë© ä ©«:',0
758
label5:        db   '‚ᥣ® ä ©«®¢ ¢ ¯«¥©«¨á⥠­ ©¤¥­®:',0
758
label5:        db   '‚ᥣ® ä ©«®¢ ¢ ¯«¥©«¨á⥠­ ©¤¥­®:',0
759
label6:        db   '®¬¥à ¢®á¯à®¨§¢®¤¨¬®£® ä ©« :',0
759
label6:        db   '®¬¥à ¢®á¯à®¨§¢®¤¨¬®£® ä ©« :',0
760
minus:	       db   'ac97snd',0
760
minus:	       db   'ac97snd',0
761
player:        db   '/rd/1/media/ac97snd' ,0
761
player:        db   '/sys/media/ac97snd' ,0
762
my_draw        db   0
762
my_draw        db   0
763
n_razd	       db   0
763
n_razd	       db   0
764
trig_scan      db   0
764
trig_scan      db   0
765
char_con       db   0
765
char_con       db   0
766
poz_butt       db   0
766
poz_butt       db   0
767
poz_song       db   0
767
poz_song       db   0
768
count_err      dd   0
768
count_err      dd   0
769
num_proc       dd   0
769
num_proc       dd   0
770
q_takt	       dd   0
770
q_takt	       dd   0
771
razm_str       dd   0
771
razm_str       dd   0
772
fold	       dd   0
772
fold	       dd   0
773
razm_path      dd   0
773
razm_path      dd   0
774
trig_sys       dd   0
774
trig_sys       dd   0
775
poz_db	       dd   0
775
poz_db	       dd   0
776
poz_db2        dd   0
776
poz_db2        dd   0
777
poz_db3        dd   255
777
poz_db3        dd   255
778
song_poz       dd   0
778
song_poz       dd   0
779
list_poz       dd   5*65536+50
779
list_poz       dd   5*65536+50
780
song_count     dd   0
780
song_count     dd   0
781
ai	       dd   0
781
ai	       dd   0
782
st_r	       dd   0
782
st_r	       dd   0
783
bbut	       dd   0
783
bbut	       dd   0
784
poz_but        dd   0
784
poz_but        dd   0
785
sme	       dd   0
785
sme	       dd   0
786
color1	       dd   0x006666dd
786
color1	       dd   0x006666dd
787
color2	       dd   0x00dddddd
787
color2	       dd   0x00dddddd
788
ss2	       dd   0
788
ss2	       dd   0
789
zzz	       dw   22
789
zzz	       dw   22
790
scan_rez:
790
scan_rez:
791
	       db   0
791
	       db   0
792
	       db   0
792
	       db   0
793
	       db   0
793
	       db   0
794
	       db   0
794
	       db   0
795
	       db   0
795
	       db   0
796
	       db   0
796
	       db   0
797
	       db   0
797
	       db   0
798
	       db   0
798
	       db   0
799
	       db   0
799
	       db   0
800
	       db   0
800
	       db   0
801
floc:
801
floc:
802
pc:	       db   '/'
802
pc:	       db   '/'
803
td:	       db   'h'
803
td:	       db   'h'
804
dr:	       db   'd'
804
dr:	       db   'd'
805
ns	       db   48
805
ns	       db   48
806
vc:	       db   '/'
806
vc:	       db   '/'
807
nd	       db   48
807
nd	       db   48
808
ks:	       db   '/'
808
ks:	       db   '/'
809
fl:
809
fl:
810
	       rb   255
810
	       rb   255
811
playlist       rb   255
811
playlist       rb   255
812
song_path      rb   255
812
song_path      rb   255
813
folder_inf:
813
folder_inf:
814
	       dd   7
814
	       dd   7
815
	       dd   0
815
	       dd   0
816
	       dd   song_path
816
	       dd   song_path
817
	       dd   0
817
	       dd   0
818
	       dd   0
818
	       dd   0
819
	       db   0
819
	       db   0
820
	       dd   player
820
	       dd   player
821
file_info:
821
file_info:
822
	       dd   0
822
	       dd   0
823
	       dd   0
823
	       dd   0
824
	       dd   0
824
	       dd   0
825
	       dd   0
825
	       dd   0
826
	       dd   0
826
	       dd   0
827
	       db   0
827
	       db   0
828
	       dd   floc
828
	       dd   floc
829
file_info2:
829
file_info2:
830
	       dd   0
830
	       dd   0
831
	       dd   0
831
	       dd   0
832
	       dd   0
832
	       dd   0
833
	       dd   0
833
	       dd   0
834
	       dd   0
834
	       dd   0
835
	       db   0
835
	       db   0
836
	       dd   0
836
	       dd   0
837
string1        rb   255
837
string1        rb   255
838
 
838
 
839
I_END:
839
I_END:
840
 
840
 
841
 
841
 
842
 
842
 
843
temp dd ?
843
temp dd ?
844
sc system_colors
844
sc system_colors
845
pib process_information
845
pib process_information
846
memlist        rb   65536
846
memlist        rb   65536