Rev 748 | Rev 1205 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 748 | Rev 1203 | ||
---|---|---|---|
Line 18... | Line 18... | ||
18 | dd 0x0 , 0x0 ; I_Param , I_Icon |
18 | dd 0x0 , 0x0 ; I_Param , I_Icon |
Line 19... | Line 19... | ||
19 | 19 | ||
20 | include 'lang.inc' |
20 | include 'lang.inc' |
21 | include '..\..\..\macros.inc' |
21 | include '..\..\..\macros.inc' |
- | 22 | display_processes=32 ; number of processes to show |
|
22 | display_processes=32 ; number of processes to show |
23 | align 4 |
23 | START: ; start of execution |
24 | START: ; start of execution |
24 | ; calculate window position |
25 | ; calculate window position |
25 | ; at the center of the screen |
26 | ; at the center of the screen |
Line 26... | Line 27... | ||
26 | call calculate_window_pos |
27 | call calculate_window_pos |
- | 28 | ||
27 | 29 | ;main loop when process name isn't edited. |
|
- | 30 | align 4 |
|
- | 31 | red: |
|
28 | ;main loop when process name isn't edited. |
32 | xor ebp,ebp |
29 | red: |
33 | inc ebp |
- | 34 | ; mov ebp,1 |
|
30 | mov ebp,1 |
35 | call draw_window ; redraw all window |
31 | call draw_window ; redraw all window |
36 | align 4 |
32 | still: |
37 | still: |
33 | mov eax,23 ; wait here for event |
38 | mov eax,23 ; wait here for event |
Line 34... | Line 39... | ||
34 | mov ebx,100 ; 1 sec. |
39 | mov ebx,200 ; 2 sec. |
35 | int 0x40 |
40 | mcall |
36 | 41 | ||
37 | cmp eax,1 ; redraw request ? |
42 | dec eax ; redraw request ? |
38 | je red |
43 | jz red |
39 | cmp eax,2 ; key in buffer ? |
44 | dec eax ; key in buffer ? |
- | 45 | jz key |
|
40 | je key |
46 | dec eax ; button in buffer ? |
41 | cmp eax,3 ; button in buffer ? |
47 | jz button |
42 | je button |
48 | align 4 |
43 | still_end: |
49 | still_end: |
Line 44... | Line 50... | ||
44 | xor ebp,ebp ; draw new state of processes |
50 | xor ebp,ebp ; draw new state of processes |
45 | call draw_window |
51 | call draw_window |
46 | jmp still |
52 | jmp still |
47 | 53 | ||
48 | 54 | align 4 |
|
49 | key: ; key |
55 | key: ; key |
50 | mov eax,2 |
56 | mov eax,2 |
51 | int 0x40 |
57 | mcall |
52 | cmp ah,184 ; PageUp |
58 | cmp ah,184 ; PageUp |
53 | je pgdn |
59 | je pgdn |
54 | cmp ah,183 |
60 | cmp ah,183 |
55 | je pgup ; PageDown |
61 | je pgup ; PageDown |
56 | cmp ah,27 |
62 | cmp ah,27 |
57 | je close ; Esc |
63 | je close ; Esc |
58 | jmp still_end |
64 | jmp still_end |
59 | 65 | align 4 |
|
60 | button: |
66 | button: |
Line 61... | Line 67... | ||
61 | ; get button id |
67 | ; get button id |
62 | mov eax,17 |
68 | mov eax,17 |
63 | int 0x40 |
69 | mcall |
Line 79... | Line 85... | ||
79 | test ecx,ecx |
85 | test ecx,ecx |
80 | jle still_end |
86 | jle still_end |
81 | ;terminate application |
87 | ;terminate application |
82 | mov eax,18 |
88 | mov eax,18 |
83 | mov ebx,2 |
89 | mov ebx,2 |
84 | int 0x40 |
90 | mcall |
85 | jmp still_end |
91 | jmp still_end |
- | 92 | align 4 |
|
86 | noterm: |
93 | noterm: |
Line 87... | Line 94... | ||
87 | 94 | ||
- | 95 | ;special buttons |
|
- | 96 | dec eax |
|
- | 97 | jz close |
|
88 | ;special buttons |
98 | |
89 | cmp eax,51 |
99 | sub eax,50 |
90 | jz pgdn |
100 | jz pgdn |
91 | cmp eax,52 |
101 | dec eax |
92 | jz pgup |
102 | jz pgup |
93 | cmp eax,53 |
103 | dec eax |
94 | jz read_string |
104 | jz read_string |
95 | cmp eax,54 |
105 | dec eax |
96 | jz program_start |
106 | jz program_start |
97 | cmp eax,55 |
107 | dec eax |
98 | jz reboot |
- | |
99 | cmp eax,1 |
- | |
100 | jz close |
108 | jz reboot |
Line 101... | Line 109... | ||
101 | jmp still_end |
109 | jmp still_end |
- | 110 | ||
102 | 111 | ;buttons handlers |
|
103 | ;buttons handlers |
112 | align 4 |
104 | pgdn: |
113 | pgdn: |
105 | sub [list_start],display_processes |
114 | sub [list_start],display_processes |
106 | ; cmp [list_start],0 |
115 | ; cmp [list_start],0 |
107 | jge still_end |
116 | jge still_end |
108 | mov [list_start],0 |
117 | mov [list_start],0 |
109 | jmp still_end |
118 | jmp still_end |
110 | 119 | align 4 |
|
111 | pgup: |
120 | pgup: |
112 | mov eax,[list_add] ;maximal displayed process slot |
121 | mov eax,[list_add] ;maximal displayed process slot |
113 | mov [list_start],eax |
122 | mov [list_start],eax |
114 | jmp still_end |
123 | jmp still_end |
115 | 124 | align 4 |
|
116 | program_start: |
125 | program_start: |
117 | mov eax,70 |
126 | mov eax,70 |
118 | mov ebx,file_start |
127 | mov ebx,file_start |
119 | int 0x40 |
128 | mcall |
120 | jmp still_end |
129 | jmp still_end |
121 | 130 | align 4 |
|
122 | reboot: |
131 | reboot: |
123 | mov eax,70 |
132 | mov eax,70 |
124 | mov ebx,sys_reboot |
133 | mov ebx,sys_reboot |
125 | int 0x40 |
134 | mcall |
126 | ;close program if we going to reboot |
135 | ;close program if we going to reboot |
127 | 136 | align 4 |
|
128 | close: |
137 | close: |
129 | or eax,-1 ; close this program |
138 | or eax,-1 ; close this program |
130 | int 0x40 |
139 | mcall |
131 | 140 | align 4 |
|
132 | draw_next_process: |
141 | draw_next_process: |
133 | ;input: |
142 | ;input: |
134 | ; edi - current slot |
143 | ; edi - current slot |
Line 142... | Line 151... | ||
142 | jnz .nodelete |
151 | jnz .nodelete |
143 | ;delete old button |
152 | ;delete old button |
144 | mov eax,8 |
153 | mov eax,8 |
145 | mov edx,[index] |
154 | mov edx,[index] |
146 | add edx,(1 shl 31)+11 |
155 | add edx,(1 shl 31)+11 |
147 | int 0x40 |
156 | mcall |
- | 157 | align 4 |
|
148 | .nodelete: |
158 | .nodelete: |
149 | ;create terminate process button |
159 | ;create terminate process button |
150 | mov eax,8 |
160 | mov eax,8 |
151 | mov ebx,15*65536+100 |
161 | mov ebx,15*65536+100 |
152 | mov ecx,[curposy] |
162 | mov ecx,[curposy] |
Line 157... | Line 167... | ||
157 | mov esi,0xaabbcc |
167 | mov esi,0xaabbcc |
158 | ;contrast |
168 | ;contrast |
159 | test dword [index],1 |
169 | test dword [index],1 |
160 | jz .change_color_button |
170 | jz .change_color_button |
161 | mov esi,0x8899aa |
171 | mov esi,0x8899aa |
- | 172 | align 4 |
|
162 | .change_color_button: |
173 | .change_color_button: |
163 | int 0x40 |
174 | mcall |
Line 164... | Line 175... | ||
164 | 175 | ||
165 | ;draw background for proccess information |
176 | ;draw background for proccess information |
166 | mov eax,13 |
177 | mov eax,13 |
167 | mov ebx,115*65536+395 |
178 | mov ebx,115*65536+395 |
168 | ;ecx was already set |
179 | ;ecx was already set |
169 | mov edx,0x88ff88 |
180 | mov edx,0x88ff88 |
170 | ;contrast |
181 | ;contrast |
171 | test dword [index],1 |
182 | test dword [index],1 |
172 | jz .change_color_info |
183 | jz .change_color_info |
- | 184 | mov edx,0xddffdd |
|
173 | mov edx,0xddffdd |
185 | align 4 |
174 | .change_color_info: |
186 | .change_color_info: |
Line 175... | Line 187... | ||
175 | int 0x40 |
187 | mcall |
176 | 188 | ||
177 | ;nothing else should be done |
189 | ;nothing else should be done |
178 | ;if there is no process for this button |
190 | ;if there is no process for this button |
Line 185... | Line 197... | ||
185 | mov ecx,edi |
197 | mov ecx,edi |
186 | ;precacluate pointer to process buffer |
198 | ;precacluate pointer to process buffer |
187 | mov ebx,process_info_buffer |
199 | mov ebx,process_info_buffer |
Line 188... | Line 200... | ||
188 | 200 | ||
- | 201 | ;find process loop |
|
189 | ;find process loop |
202 | align 4 |
190 | .find_loop: |
203 | .find_loop: |
191 | cmp ecx,256 |
204 | cmp ecx,256 |
Line 192... | Line 205... | ||
192 | jge .no_processes |
205 | jge .no_processes |
193 | 206 | ||
194 | ;load process information in buffer |
207 | ;load process information in buffer |
195 | mov eax,9 |
208 | mov eax,9 |
Line 196... | Line 209... | ||
196 | ; mov ebx,process_info_buffer |
209 | ; mov ebx,process_info_buffer |
197 | int 0x40 |
210 | mcall |
198 | 211 | ||
199 | ;if current slot greater than maximal slot, |
212 | ;if current slot greater than maximal slot, |
Line 205... | Line 218... | ||
205 | cmp [process_info_buffer+process_information.slot_state],9 |
218 | cmp [process_info_buffer+process_information.slot_state],9 |
206 | jnz .process_found |
219 | jnz .process_found |
Line 207... | Line 220... | ||
207 | 220 | ||
208 | inc ecx |
221 | inc ecx |
209 | jmp .find_loop |
222 | jmp .find_loop |
210 | 223 | align 4 |
|
211 | .no_processes: |
224 | .no_processes: |
212 | mov edi,-1 |
225 | mov edi,-1 |
213 | ret |
226 | ret |
214 | 227 | align 4 |
|
215 | .process_found: |
228 | .process_found: |
216 | mov edi,ecx |
229 | mov edi,ecx |
Line 217... | Line 230... | ||
217 | mov [list_add],ecx |
230 | mov [list_add],ecx |
218 | 231 | ||
219 | ;get processor cpeed |
232 | ;get processor cpeed |
220 | ;for percent calculating |
233 | ;for percent calculating |
221 | mov eax,18 |
234 | mov eax,18 |
Line 222... | Line 235... | ||
222 | mov ebx,5 |
235 | mov ebx,5 |
223 | int 0x40 |
236 | mcall |
224 | 237 | ||
Line 243... | Line 256... | ||
243 | ;81-100% : red |
256 | ;81-100% : red |
244 | test eax,eax |
257 | test eax,eax |
245 | jg .no_black |
258 | jg .no_black |
246 | mov [tcolor],eax |
259 | mov [tcolor],eax |
247 | jmp .color_set |
260 | jmp .color_set |
- | 261 | align 4 |
|
248 | .no_black: |
262 | .no_black: |
249 | cmp eax,80 |
263 | cmp eax,80 |
250 | ja .no_green |
264 | ja .no_green |
251 | mov dword [tcolor],0x107a30 |
265 | mov dword [tcolor],0x107a30 |
252 | jmp .color_set |
266 | jmp .color_set |
- | 267 | align 4 |
|
253 | .no_green: |
268 | .no_green: |
254 | mov dword [tcolor],0xac0000 |
269 | mov dword [tcolor],0xac0000 |
255 | .color_set: |
270 | .color_set: |
Line 256... | Line 271... | ||
256 | 271 | ||
Line 260... | Line 275... | ||
260 | ;ecx haven't changed since .process_found |
275 | ;ecx haven't changed since .process_found |
261 | ; mov ecx,edi |
276 | ; mov ecx,edi |
262 | mov edx,[curposy] |
277 | mov edx,[curposy] |
263 | add edx,20*65536+1 |
278 | add edx,20*65536+1 |
264 | mov esi,[tcolor] |
279 | mov esi,[tcolor] |
265 | int 0x40 |
280 | mcall |
Line 266... | Line 281... | ||
266 | 281 | ||
267 | ;show process name |
282 | ;show process name |
268 | mov eax,4 |
283 | mov eax,4 |
269 | mov ebx,[curposy] |
284 | mov ebx,[curposy] |
270 | add ebx,50*65536+1 |
285 | add ebx,50*65536+1 |
271 | mov ecx,[tcolor] |
286 | mov ecx,[tcolor] |
272 | mov edx,process_info_buffer.process_name |
287 | mov edx,process_info_buffer.process_name |
273 | mov esi,11 |
288 | mov esi,11 |
Line 274... | Line 289... | ||
274 | int 0x40 |
289 | mcall |
275 | 290 | ||
276 | ;show pid |
291 | ;show pid |
277 | mov eax,47 |
292 | mov eax,47 |
278 | mov ebx,8*65536+1*256 |
293 | mov ebx,8*65536+1*256 |
279 | mov ecx,[process_info_buffer.PID] |
294 | mov ecx,[process_info_buffer.PID] |
280 | mov edx,[curposy] |
295 | mov edx,[curposy] |
281 | add edx,130*65536+1 |
296 | add edx,130*65536+1 |
Line 282... | Line 297... | ||
282 | mov esi,[tcolor] |
297 | mov esi,[tcolor] |
283 | int 0x40 |
298 | mcall |
284 | 299 | ||
285 | ;show cpu usage |
300 | ;show cpu usage |
Line 286... | Line 301... | ||
286 | mov ecx,[process_info_buffer.cpu_usage] |
301 | mov ecx,[process_info_buffer.cpu_usage] |
287 | add edx,60*65536 |
302 | add edx,60*65536 |
288 | int 0x40 |
303 | mcall |
289 | 304 | ||
290 | ;show cpu percent |
305 | ;show cpu percent |
Line 291... | Line 306... | ||
291 | mov ebx,3*65536+0*256 |
306 | mov ebx,3*65536+0*256 |
292 | mov ecx,[cpu_percent] |
307 | mov ecx,[cpu_percent] |
293 | add edx,60*65536 |
308 | add edx,60*65536 |
294 | int 0x40 |
309 | mcall |
295 | 310 | ||
Line 296... | Line 311... | ||
296 | ;show memory start - obsolete |
311 | ;show memory start - obsolete |
297 | mov ebx,8*65536+1*256 |
312 | mov ebx,8*65536+1*256 |
298 | mov ecx,[process_info_buffer.memory_start] |
313 | mov ecx,[process_info_buffer.memory_start] |
299 | add edx,30*65536 |
314 | add edx,30*65536 |
300 | int 0x40 |
315 | mcall |
Line 301... | Line 316... | ||
301 | 316 | ||
302 | ;show memory usage |
317 | ;show memory usage |
303 | mov ecx,[process_info_buffer.used_memory] |
318 | mov ecx,[process_info_buffer.used_memory] |
304 | inc ecx |
319 | inc ecx |
Line 305... | Line 320... | ||
305 | add edx,60*65536 |
320 | add edx,60*65536 |
306 | int 0x40 |
321 | mcall |
307 | 322 | ||
308 | ;show window stack and value |
323 | ;show window stack and value |
309 | mov ecx,dword [process_info_buffer.window_stack_position] |
324 | mov ecx,dword [process_info_buffer.window_stack_position] |
310 | add edx,60*65536 |
325 | add edx,60*65536 |
311 | int 0x40 |
326 | mcall |
312 | 327 | ||
313 | ;show window xy size |
328 | ;show window xy size |
314 | mov ecx,[process_info_buffer.box.left] |
329 | mov ecx,[process_info_buffer.box.left] |
315 | shl ecx,16 |
330 | shl ecx,16 |
316 | add ecx,[process_info_buffer.box.top] |
331 | add ecx,[process_info_buffer.box.top] |
317 | add edx,60*65536 |
332 | add edx,60*65536 |
318 | int 0x40 |
333 | mcall |
Line 319... | Line 334... | ||
319 | 334 | align 4 |
|
320 | .ret: |
335 | .ret: |
321 | ;build index->slot map for terminating processes. |
336 | ;build index->slot map for terminating processes. |
Line 336... | Line 351... | ||
336 | mov edi,start_application |
351 | mov edi,start_application |
337 | ;edi now contains pointer to last symbol |
352 | ;edi now contains pointer to last symbol |
338 | jmp still1 |
353 | jmp still1 |
Line 339... | Line 354... | ||
339 | 354 | ||
- | 355 | ;read string main loop |
|
340 | ;read string main loop |
356 | align 4 |
341 | f11: |
357 | f11: |
342 | ;full update |
358 | ;full update |
343 | push edi |
359 | push edi |
344 | mov ebp,1 |
360 | mov ebp,1 |
345 | call draw_window |
361 | call draw_window |
- | 362 | pop edi |
|
346 | pop edi |
363 | align 4 |
347 | still1: |
364 | still1: |
348 | ;wait for message |
365 | ;wait for message |
349 | mov eax,23 |
366 | mov eax,23 |
350 | mov ebx,100 |
367 | mov ebx,100 |
351 | int 0x40 |
368 | mcall |
352 | cmp eax,1 |
369 | cmp eax,1 |
353 | je f11 |
370 | je f11 |
354 | ;if no message - update process information |
371 | ;if no message - update process information |
355 | cmp eax,0 |
372 | cmp eax,0 |
356 | jnz .message_received |
373 | jnz .message_received |
357 | push edi ;edi should be saved since draw_window |
374 | push edi ;edi should be saved since draw_window |
358 | xor ebp,ebp ;corrupt registers |
375 | xor ebp,ebp ;corrupt registers |
359 | call draw_window |
376 | call draw_window |
360 | pop edi |
377 | pop edi |
361 | jmp still1 |
378 | jmp still1 |
362 | 379 | align 4 |
|
363 | .message_received: |
380 | .message_received: |
364 | cmp eax,2 |
381 | cmp eax,2 |
365 | jne read_done ;buttons message |
382 | jne read_done ;buttons message |
366 | ;read char |
383 | ;read char |
367 | mov eax,2 |
384 | mov eax,2 |
368 | int 0x40 |
385 | mcall |
Line 369... | Line 386... | ||
369 | shr eax,8 |
386 | shr eax,8 |
370 | 387 | ||
371 | ;if enter pressed, exit read string loop |
388 | ;if enter pressed, exit read string loop |
Line 381... | Line 398... | ||
381 | ;fill last symbol with space because |
398 | ;fill last symbol with space because |
382 | ;print_text show all symbols |
399 | ;print_text show all symbols |
383 | mov [edi],byte 32 |
400 | mov [edi],byte 32 |
384 | call print_text |
401 | call print_text |
385 | jmp still1 |
402 | jmp still1 |
386 | 403 | align 4 |
|
387 | nobsl: |
404 | nobsl: |
388 | ;write new symbol |
405 | ;write new symbol |
389 | mov [edi],al |
406 | mov [edi],al |
390 | ;display new text |
407 | ;display new text |
391 | call print_text |
408 | call print_text |
Line 396... | Line 413... | ||
396 | add esi,60 |
413 | add esi,60 |
397 | cmp esi,edi |
414 | cmp esi,edi |
398 | jnz still1 |
415 | jnz still1 |
Line 399... | Line 416... | ||
399 | 416 | ||
- | 417 | ;exiting from read string loop |
|
400 | ;exiting from read string loop |
418 | align 4 |
401 | read_done: |
419 | read_done: |
402 | ;terminate string for file functions |
420 | ;terminate string for file functions |
Line 403... | Line 421... | ||
403 | mov [edi],byte 0 |
421 | mov [edi],byte 0 |
404 | 422 | ||
Line 405... | Line 423... | ||
405 | call print_text |
423 | call print_text |
406 | jmp still |
424 | jmp still |
407 | 425 | ||
Line 408... | Line 426... | ||
408 | 426 | align 4 |
|
Line 409... | Line 427... | ||
409 | print_text: |
427 | print_text: |
410 | ;display start_application string |
428 | ;display start_application string |
411 | 429 | ||
412 | pushad |
430 | pushad |
413 | 431 | ||
414 | ;display text background |
432 | ;display text background |
Line 415... | Line 433... | ||
415 | mov eax,13 |
433 | mov eax,13 |
416 | mov ebx,64*65536+62*6 |
434 | mov ebx,64*65536+62*6 |
417 | mov ecx,400*65536+12 |
435 | mov ecx,400*65536+12 |
418 | mov edx,0xffffcc ;0xeeeeee |
436 | mov edx,0xffffcc ;0xeeeeee |
419 | int 0x40 |
437 | mcall |
420 | 438 | ||
421 | ;display text |
439 | ;display text |
Line 422... | Line 440... | ||
422 | mov eax,4 |
440 | mov eax,4 |
423 | mov edx,start_application ;from start_application string |
441 | mov edx,start_application ;from start_application string |
Line 424... | Line 442... | ||
424 | mov ebx,70*65536+402 ;text center-aligned |
442 | mov ebx,70*65536+402 ;text center-aligned |
425 | xor ecx,ecx ;black text |
443 | xor ecx,ecx ;black text |
- | 444 | mov esi,60 ;60 symbols |
|
426 | mov esi,60 ;60 symbols |
445 | mcall |
427 | int 0x40 |
446 | |
428 | 447 | popad |
|
Line 429... | Line 448... | ||
429 | popad |
448 | ret |
430 | ret |
449 | |
431 | 450 | window_x_size=524 |
|
432 | window_x_size=524 |
451 | window_y_size=430 |
Line 433... | Line 452... | ||
433 | window_y_size=430 |
452 | align 4 |
434 | calculate_window_pos: |
453 | calculate_window_pos: |
435 | ;set window size and position for 0 function |
454 | ;set window size and position for 0 function |
Line 461... | Line 480... | ||
461 | 480 | ||
462 | ; ********************************************* |
481 | ; ********************************************* |
463 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
482 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
Line 464... | Line 483... | ||
464 | ; ********************************************* |
483 | ; ********************************************* |
465 | 484 | ||
466 | 485 | align 4 |
|
467 | draw_window: |
486 | draw_window: |
Line 468... | Line 487... | ||
468 | ;ebp=1 - redraw all |
487 | ;ebp=1 - redraw all |
469 | ;ebp=0 - redraw only process information |
488 | ;ebp=0 - redraw only process information |
Line 470... | Line 489... | ||
470 | 489 | ||
471 | test ebp,ebp |
490 | test ebp,ebp |
- | 491 | jz .show_process_info |
|
472 | jz .show_process_info |
492 | |
- | 493 | mov eax,12 ; function 12:tell os about windowdraw |
|
Line 473... | Line 494... | ||
473 | 494 | ; mov ebx,1 ; 1, start of draw |
|
474 | mov eax,12 ; function 12:tell os about windowdraw |
495 | xor ebx,ebx |
475 | mov ebx,1 ; 1, start of draw |
496 | inc ebx |
476 | int 0x40 |
497 | mcall |
477 | 498 | ||
478 | ; DRAW WINDOW |
499 | ; DRAW WINDOW |
479 | xor eax,eax ; function 0 : define and draw window |
500 | xor eax,eax ; function 0 : define and draw window |
Line 480... | Line 501... | ||
480 | mov ebx,[winxpos] ; [x start] *65536 + [x size] |
501 | mov ebx,[winxpos] ; [x start] *65536 + [x size] |
481 | mov ecx,[winypos] ; [y start] *65536 + [y size] |
502 | mov ecx,[winypos] ; [y start] *65536 + [y size] |
482 | mov edx,0x14ddffdd ;ffffff ; color of work area RRGGBB,8->color |
503 | mov edx,0x14ddffdd ;ffffff ; color of work area RRGGBB,8->color |
483 | mov edi,title ; WINDOW CAPTION; |
504 | mov edi,title ; WINDOW CAPTION; |
484 | int 0x40 |
505 | mcall |
485 | 506 | ||
486 | 507 | ||
487 | mov eax,4 ; function 4 : write text to window |
- | |
488 | mov ebx,22*65536+35 ; draw info text with function 4 |
508 | mov eax,4 ; function 4 : write text to window |
489 | xor ecx,ecx |
509 | mov ebx,22*65536+35 ; draw info text with function 4 |
490 | mov edx,text |
510 | xor ecx,ecx |
491 | mov esi,text_len |
511 | mov edx,text |
492 | mov eax,4 |
512 | mov esi,text_len |
- | 513 | mcall |
|
493 | int 0x40 |
514 | align 4 |
494 | 515 | .show_process_info: |
|
495 | .show_process_info: |
516 | mov edi,[list_start] |
496 | mov edi,[list_start] |
517 | mov [list_add],edi |
497 | mov [list_add],edi |
518 | mov dword [index],0 |
Line 511... | Line 532... | ||
511 | 532 | ||
512 | ; previous page button |
533 | ; previous page button |
513 | mov ebx,30*65536+96 |
534 | mov ebx,30*65536+96 |
514 | mov ecx,380*65536+10 |
535 | mov ecx,380*65536+10 |
515 | mov edx,51 |
536 | mov edx,51 |
Line 516... | Line 537... | ||
516 | int 0x40 |
537 | mcall |
517 | 538 | ||
518 | ; next page button |
539 | ; next page button |
519 | mov ebx,130*65536+96 |
540 | mov ebx,130*65536+96 |
Line 520... | Line 541... | ||
520 | inc edx |
541 | inc edx |
521 | int 0x40 |
542 | mcall |
522 | 543 | ||
523 | ; ">" (text enter) button |
544 | ; ">" (text enter) button |
524 | mov ebx,30*65536+20 |
545 | mov ebx,30*65536+20 |
Line 525... | Line 546... | ||
525 | add ecx,20 shl 16 |
546 | add ecx,20 shl 16 |
526 | inc edx |
547 | inc edx |
527 | int 0x40 |
548 | mcall |
528 | 549 | ||
Line 529... | Line 550... | ||
529 | ; run button |
550 | ; run button |
530 | mov ebx,456*65536+50 |
551 | mov ebx,456*65536+50 |
531 | inc edx |
552 | inc edx |
532 | int 0x40 |
553 | mcall |
533 | 554 | ||
534 | ; reboot button |
555 | ; reboot button |
Line 535... | Line 556... | ||
535 | sub ebx,120*65536 |
556 | sub ebx,120*65536 |
536 | add ebx,60 |
557 | add ebx,60 |
537 | sub ecx,20 shl 16 |
558 | sub ecx,20 shl 16 |
538 | inc edx |
559 | inc edx |
539 | int 0x40 |
560 | mcall |
540 | 561 | ||
541 | ;"PREV PAGE", "NEXT PAGE" and "REBOOT" labels |
562 | ;"PREV PAGE", "NEXT PAGE" and "REBOOT" labels |
Line 542... | Line 563... | ||
542 | mov eax,4 |
563 | mov eax,4 |
543 | mov ebx,50*65536+382 |
564 | mov ebx,50*65536+382 |
544 | xor ecx,ecx |
565 | xor ecx,ecx |
545 | mov edx,tbts |
566 | mov edx,tbts |
546 | mov esi,tbte-tbts |
567 | mov esi,tbte-tbts |
547 | int 0x40 |
568 | mcall |
548 | 569 | ||
Line 549... | Line 570... | ||
549 | ;">" labels |
570 | ;">" labels |
550 | mov eax,4 |
571 | mov eax,4 |
551 | mov ebx,40*65536+402 |
572 | mov ebx,40*65536+402 |
552 | xor ecx,ecx |
573 | xor ecx,ecx |
553 | mov edx,tbts_2 |
574 | mov edx,tbts_2 |
554 | mov esi,1 |
575 | mov esi,1 |
555 | int 0x40 |
576 | mcall |
Line 556... | Line 577... | ||
556 | 577 | ||
557 | ;"RUN" labels |
578 | ;"RUN" labels |
Line 558... | Line 579... | ||
558 | mov eax,4 |
579 | mov eax,4 |
559 | mov ebx,475*65536+402 |
580 | mov ebx,475*65536+402 |
560 | xor ecx,ecx |
581 | xor ecx,ecx |
561 | mov edx,tbts_3 |
582 | mov edx,tbts_3 |
562 | mov esi,tbte_2-tbts_3 |
583 | mov esi,tbte_2-tbts_3 |
563 | int 0x40 |
584 | mcall |
Line 564... | Line 585... | ||
564 | 585 |