Rev 748 | Rev 1205 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
31 | halyavin | 1 | ; |
2 | ; PROCESS MANAGEMENT |
||
3 | ; |
||
4 | ; VTurjanmaa |
||
5 | ; additions by M.Lisovin lisovin@26.ru |
||
6 | ; Compile with FASM for Menuet |
||
7 | ; |
||
8 | |||
9 | use32 |
||
10 | org 0x0 |
||
11 | STACK_SIZE=1024 |
||
12 | db 'MENUET01' ; 8 byte id |
||
13 | dd 0x01 ; header version |
||
14 | dd START ; start of code |
||
15 | dd I_END ; size of image |
||
16 | dd U_END+STACK_SIZE ; memory for app |
||
17 | dd U_END+STACK_SIZE ; esp |
||
18 | dd 0x0 , 0x0 ; I_Param , I_Icon |
||
19 | |||
20 | include 'lang.inc' |
||
485 | heavyiron | 21 | include '..\..\..\macros.inc' |
31 | halyavin | 22 | display_processes=32 ; number of processes to show |
1203 | Lrz | 23 | align 4 |
31 | halyavin | 24 | START: ; start of execution |
25 | ; calculate window position |
||
26 | ; at the center of the screen |
||
27 | call calculate_window_pos |
||
28 | |||
29 | ;main loop when process name isn't edited. |
||
1203 | Lrz | 30 | align 4 |
31 | halyavin | 31 | red: |
1203 | Lrz | 32 | xor ebp,ebp |
33 | inc ebp |
||
34 | ; mov ebp,1 |
||
31 | halyavin | 35 | call draw_window ; redraw all window |
1203 | Lrz | 36 | align 4 |
31 | halyavin | 37 | still: |
38 | mov eax,23 ; wait here for event |
||
1203 | Lrz | 39 | mov ebx,200 ; 2 sec. |
40 | mcall |
||
31 | halyavin | 41 | |
1203 | Lrz | 42 | dec eax ; redraw request ? |
43 | jz red |
||
44 | dec eax ; key in buffer ? |
||
45 | jz key |
||
46 | dec eax ; button in buffer ? |
||
47 | jz button |
||
48 | align 4 |
||
31 | halyavin | 49 | still_end: |
50 | xor ebp,ebp ; draw new state of processes |
||
51 | call draw_window |
||
52 | jmp still |
||
53 | |||
1203 | Lrz | 54 | align 4 |
31 | halyavin | 55 | key: ; key |
56 | mov eax,2 |
||
1203 | Lrz | 57 | mcall |
31 | halyavin | 58 | cmp ah,184 ; PageUp |
59 | je pgdn |
||
60 | cmp ah,183 |
||
61 | je pgup ; PageDown |
||
62 | cmp ah,27 |
||
63 | je close ; Esc |
||
64 | jmp still_end |
||
1203 | Lrz | 65 | align 4 |
31 | halyavin | 66 | button: |
67 | ; get button id |
||
68 | mov eax,17 |
||
1203 | Lrz | 69 | mcall |
31 | halyavin | 70 | shr eax,8 |
71 | |||
72 | ;id in [10,50] corresponds to terminate buttons. |
||
73 | cmp eax,10 |
||
74 | jb noterm |
||
75 | cmp eax,50 |
||
76 | jg noterm |
||
77 | |||
78 | ;calculate button index |
||
79 | sub eax,11 |
||
80 | |||
81 | ;calculate process slot |
||
82 | mov ecx,[tasklist+4*eax] |
||
83 | |||
84 | ;ignore empty buttons |
||
85 | test ecx,ecx |
||
86 | jle still_end |
||
87 | ;terminate application |
||
88 | mov eax,18 |
||
89 | mov ebx,2 |
||
1203 | Lrz | 90 | mcall |
31 | halyavin | 91 | jmp still_end |
1203 | Lrz | 92 | align 4 |
31 | halyavin | 93 | noterm: |
94 | |||
95 | ;special buttons |
||
1203 | Lrz | 96 | dec eax |
97 | jz close |
||
98 | |||
99 | sub eax,50 |
||
31 | halyavin | 100 | jz pgdn |
1203 | Lrz | 101 | dec eax |
31 | halyavin | 102 | jz pgup |
1203 | Lrz | 103 | dec eax |
31 | halyavin | 104 | jz read_string |
1203 | Lrz | 105 | dec eax |
31 | halyavin | 106 | jz program_start |
1203 | Lrz | 107 | dec eax |
31 | halyavin | 108 | jz reboot |
109 | jmp still_end |
||
110 | |||
111 | ;buttons handlers |
||
1203 | Lrz | 112 | align 4 |
31 | halyavin | 113 | pgdn: |
114 | sub [list_start],display_processes |
||
205 | heavyiron | 115 | ; cmp [list_start],0 |
31 | halyavin | 116 | jge still_end |
117 | mov [list_start],0 |
||
118 | jmp still_end |
||
1203 | Lrz | 119 | align 4 |
31 | halyavin | 120 | pgup: |
121 | mov eax,[list_add] ;maximal displayed process slot |
||
122 | mov [list_start],eax |
||
123 | jmp still_end |
||
1203 | Lrz | 124 | align 4 |
31 | halyavin | 125 | program_start: |
205 | heavyiron | 126 | mov eax,70 |
31 | halyavin | 127 | mov ebx,file_start |
1203 | Lrz | 128 | mcall |
31 | halyavin | 129 | jmp still_end |
1203 | Lrz | 130 | align 4 |
31 | halyavin | 131 | reboot: |
748 | heavyiron | 132 | mov eax,70 |
133 | mov ebx,sys_reboot |
||
1203 | Lrz | 134 | mcall |
31 | halyavin | 135 | ;close program if we going to reboot |
1203 | Lrz | 136 | align 4 |
31 | halyavin | 137 | close: |
341 | heavyiron | 138 | or eax,-1 ; close this program |
1203 | Lrz | 139 | mcall |
140 | align 4 |
||
31 | halyavin | 141 | draw_next_process: |
142 | ;input: |
||
143 | ; edi - current slot |
||
144 | ; [curposy] - y position |
||
145 | ;output: |
||
146 | ; edi - next slot (or -1 if no next slot) |
||
147 | ;registers corrupted! |
||
148 | |||
149 | ;create button |
||
150 | test ebp,ebp |
||
151 | jnz .nodelete |
||
152 | ;delete old button |
||
153 | mov eax,8 |
||
154 | mov edx,[index] |
||
155 | add edx,(1 shl 31)+11 |
||
1203 | Lrz | 156 | mcall |
157 | align 4 |
||
31 | halyavin | 158 | .nodelete: |
159 | ;create terminate process button |
||
160 | mov eax,8 |
||
161 | mov ebx,15*65536+100 |
||
162 | mov ecx,[curposy] |
||
163 | shl ecx,16 |
||
164 | mov cx,10 |
||
165 | mov edx,[index] |
||
166 | add edx,11 |
||
167 | mov esi,0xaabbcc |
||
168 | ;contrast |
||
169 | test dword [index],1 |
||
170 | jz .change_color_button |
||
171 | mov esi,0x8899aa |
||
1203 | Lrz | 172 | align 4 |
31 | halyavin | 173 | .change_color_button: |
1203 | Lrz | 174 | mcall |
31 | halyavin | 175 | |
176 | ;draw background for proccess information |
||
177 | mov eax,13 |
||
178 | mov ebx,115*65536+395 |
||
179 | ;ecx was already set |
||
180 | mov edx,0x88ff88 |
||
181 | ;contrast |
||
182 | test dword [index],1 |
||
183 | jz .change_color_info |
||
184 | mov edx,0xddffdd |
||
1203 | Lrz | 185 | align 4 |
31 | halyavin | 186 | .change_color_info: |
1203 | Lrz | 187 | mcall |
31 | halyavin | 188 | |
189 | ;nothing else should be done |
||
190 | ;if there is no process for this button |
||
191 | test edi,edi |
||
192 | jl .ret |
||
193 | |||
194 | ;find process |
||
195 | inc edi |
||
196 | ;more comfortable register for next loop |
||
197 | mov ecx,edi |
||
198 | ;precacluate pointer to process buffer |
||
199 | mov ebx,process_info_buffer |
||
200 | |||
201 | ;find process loop |
||
1203 | Lrz | 202 | align 4 |
31 | halyavin | 203 | .find_loop: |
204 | cmp ecx,256 |
||
205 | jge .no_processes |
||
206 | |||
207 | ;load process information in buffer |
||
208 | mov eax,9 |
||
209 | ; mov ebx,process_info_buffer |
||
1203 | Lrz | 210 | mcall |
31 | halyavin | 211 | |
212 | ;if current slot greater than maximal slot, |
||
213 | ;there is no more proccesses. |
||
214 | cmp ecx,eax |
||
215 | jg .no_processes |
||
216 | |||
217 | ;if slot state is equal to 9, it is empty. |
||
218 | cmp [process_info_buffer+process_information.slot_state],9 |
||
219 | jnz .process_found |
||
220 | |||
221 | inc ecx |
||
222 | jmp .find_loop |
||
1203 | Lrz | 223 | align 4 |
31 | halyavin | 224 | .no_processes: |
225 | mov edi,-1 |
||
226 | ret |
||
1203 | Lrz | 227 | align 4 |
31 | halyavin | 228 | .process_found: |
229 | mov edi,ecx |
||
230 | mov [list_add],ecx |
||
231 | |||
232 | ;get processor cpeed |
||
233 | ;for percent calculating |
||
234 | mov eax,18 |
||
235 | mov ebx,5 |
||
1203 | Lrz | 236 | mcall |
31 | halyavin | 237 | |
238 | xor edx,edx |
||
239 | mov ebx,100 |
||
240 | div ebx |
||
241 | |||
242 | ;eax = number of operation for 1% now |
||
243 | ;calculate process cpu usage percent |
||
244 | mov ebx,eax |
||
245 | mov eax,[process_info_buffer+process_information.cpu_usage] |
||
246 | ; cdq |
||
1203 | Lrz | 247 | xor edx,edx ; for CPU more 2 GHz - mike.dld |
31 | halyavin | 248 | |
249 | div ebx |
||
250 | mov [cpu_percent],eax |
||
251 | |||
252 | ;set text color to display process information |
||
253 | ;([tcolor] variable) |
||
254 | ;0% : black |
||
255 | ;1-80% : green |
||
256 | ;81-100% : red |
||
257 | test eax,eax |
||
258 | jg .no_black |
||
259 | mov [tcolor],eax |
||
260 | jmp .color_set |
||
1203 | Lrz | 261 | align 4 |
31 | halyavin | 262 | .no_black: |
263 | cmp eax,80 |
||
264 | ja .no_green |
||
265 | mov dword [tcolor],0x107a30 |
||
266 | jmp .color_set |
||
1203 | Lrz | 267 | align 4 |
31 | halyavin | 268 | .no_green: |
269 | mov dword [tcolor],0xac0000 |
||
270 | .color_set: |
||
271 | |||
272 | ;show slot number |
||
273 | mov eax,47 |
||
274 | mov ebx,2*65536+1*256 |
||
275 | ;ecx haven't changed since .process_found |
||
276 | ; mov ecx,edi |
||
277 | mov edx,[curposy] |
||
278 | add edx,20*65536+1 |
||
279 | mov esi,[tcolor] |
||
1203 | Lrz | 280 | mcall |
31 | halyavin | 281 | |
282 | ;show process name |
||
283 | mov eax,4 |
||
284 | mov ebx,[curposy] |
||
285 | add ebx,50*65536+1 |
||
286 | mov ecx,[tcolor] |
||
287 | mov edx,process_info_buffer.process_name |
||
288 | mov esi,11 |
||
1203 | Lrz | 289 | mcall |
31 | halyavin | 290 | |
291 | ;show pid |
||
292 | mov eax,47 |
||
293 | mov ebx,8*65536+1*256 |
||
294 | mov ecx,[process_info_buffer.PID] |
||
295 | mov edx,[curposy] |
||
296 | add edx,130*65536+1 |
||
297 | mov esi,[tcolor] |
||
1203 | Lrz | 298 | mcall |
31 | halyavin | 299 | |
300 | ;show cpu usage |
||
301 | mov ecx,[process_info_buffer.cpu_usage] |
||
302 | add edx,60*65536 |
||
1203 | Lrz | 303 | mcall |
31 | halyavin | 304 | |
305 | ;show cpu percent |
||
306 | mov ebx,3*65536+0*256 |
||
307 | mov ecx,[cpu_percent] |
||
308 | add edx,60*65536 |
||
1203 | Lrz | 309 | mcall |
31 | halyavin | 310 | |
311 | ;show memory start - obsolete |
||
312 | mov ebx,8*65536+1*256 |
||
313 | mov ecx,[process_info_buffer.memory_start] |
||
314 | add edx,30*65536 |
||
1203 | Lrz | 315 | mcall |
31 | halyavin | 316 | |
317 | ;show memory usage |
||
318 | mov ecx,[process_info_buffer.used_memory] |
||
319 | inc ecx |
||
320 | add edx,60*65536 |
||
1203 | Lrz | 321 | mcall |
31 | halyavin | 322 | |
323 | ;show window stack and value |
||
324 | mov ecx,dword [process_info_buffer.window_stack_position] |
||
325 | add edx,60*65536 |
||
1203 | Lrz | 326 | mcall |
31 | halyavin | 327 | |
328 | ;show window xy size |
||
485 | heavyiron | 329 | mov ecx,[process_info_buffer.box.left] |
31 | halyavin | 330 | shl ecx,16 |
485 | heavyiron | 331 | add ecx,[process_info_buffer.box.top] |
31 | halyavin | 332 | add edx,60*65536 |
1203 | Lrz | 333 | mcall |
334 | align 4 |
||
31 | halyavin | 335 | .ret: |
336 | ;build index->slot map for terminating processes. |
||
337 | mov eax,[index] |
||
338 | mov [tasklist+4*eax],edi |
||
339 | ret |
||
1203 | Lrz | 340 | align 4 |
31 | halyavin | 341 | read_string: |
342 | |||
343 | ;clean string |
||
344 | mov edi,start_application |
||
345 | xor eax,eax |
||
346 | mov ecx,60 |
||
347 | cld |
||
348 | rep stosb |
||
349 | call print_text |
||
350 | |||
351 | mov edi,start_application |
||
352 | ;edi now contains pointer to last symbol |
||
353 | jmp still1 |
||
354 | |||
355 | ;read string main loop |
||
1203 | Lrz | 356 | align 4 |
31 | halyavin | 357 | f11: |
358 | ;full update |
||
359 | push edi |
||
360 | mov ebp,1 |
||
361 | call draw_window |
||
362 | pop edi |
||
1203 | Lrz | 363 | align 4 |
31 | halyavin | 364 | still1: |
365 | ;wait for message |
||
366 | mov eax,23 |
||
367 | mov ebx,100 |
||
1203 | Lrz | 368 | mcall |
31 | halyavin | 369 | cmp eax,1 |
370 | je f11 |
||
371 | ;if no message - update process information |
||
372 | cmp eax,0 |
||
373 | jnz .message_received |
||
374 | push edi ;edi should be saved since draw_window |
||
375 | xor ebp,ebp ;corrupt registers |
||
376 | call draw_window |
||
377 | pop edi |
||
378 | jmp still1 |
||
1203 | Lrz | 379 | align 4 |
31 | halyavin | 380 | .message_received: |
381 | cmp eax,2 |
||
382 | jne read_done ;buttons message |
||
383 | ;read char |
||
384 | mov eax,2 |
||
1203 | Lrz | 385 | mcall |
31 | halyavin | 386 | shr eax,8 |
387 | |||
388 | ;if enter pressed, exit read string loop |
||
389 | cmp eax,13 |
||
390 | je read_done |
||
391 | ;if backslash pressed? |
||
392 | cmp eax,8 |
||
393 | jnz nobsl |
||
394 | ;decrease pointer to last symbol |
||
395 | cmp edi,start_application |
||
396 | jz still1 |
||
397 | dec edi |
||
398 | ;fill last symbol with space because |
||
399 | ;print_text show all symbols |
||
400 | mov [edi],byte 32 |
||
401 | call print_text |
||
402 | jmp still1 |
||
1203 | Lrz | 403 | align 4 |
31 | halyavin | 404 | nobsl: |
405 | ;write new symbol |
||
406 | mov [edi],al |
||
407 | ;display new text |
||
408 | call print_text |
||
409 | ;increment pointer to last symbol |
||
410 | inc edi |
||
411 | ;compare with end of string |
||
412 | mov esi,start_application |
||
413 | add esi,60 |
||
414 | cmp esi,edi |
||
415 | jnz still1 |
||
416 | |||
417 | ;exiting from read string loop |
||
1203 | Lrz | 418 | align 4 |
31 | halyavin | 419 | read_done: |
420 | ;terminate string for file functions |
||
421 | mov [edi],byte 0 |
||
422 | |||
423 | call print_text |
||
424 | jmp still |
||
425 | |||
1203 | Lrz | 426 | align 4 |
31 | halyavin | 427 | print_text: |
428 | ;display start_application string |
||
429 | |||
430 | pushad |
||
431 | |||
432 | ;display text background |
||
433 | mov eax,13 |
||
434 | mov ebx,64*65536+62*6 |
||
435 | mov ecx,400*65536+12 |
||
436 | mov edx,0xffffcc ;0xeeeeee |
||
1203 | Lrz | 437 | mcall |
31 | halyavin | 438 | |
439 | ;display text |
||
440 | mov eax,4 |
||
441 | mov edx,start_application ;from start_application string |
||
442 | mov ebx,70*65536+402 ;text center-aligned |
||
443 | xor ecx,ecx ;black text |
||
444 | mov esi,60 ;60 symbols |
||
1203 | Lrz | 445 | mcall |
31 | halyavin | 446 | |
447 | popad |
||
448 | ret |
||
449 | |||
450 | window_x_size=524 |
||
451 | window_y_size=430 |
||
1203 | Lrz | 452 | align 4 |
31 | halyavin | 453 | calculate_window_pos: |
454 | ;set window size and position for 0 function |
||
455 | ;to [winxpos] and [winypos] variables |
||
456 | |||
457 | ;get screen size |
||
458 | mov eax,14 |
||
1203 | Lrz | 459 | mcall |
31 | halyavin | 460 | mov ebx,eax |
461 | |||
462 | ;calculate (x_screen-window_x_size)/2 |
||
463 | shr ebx,16+1 |
||
464 | sub ebx,window_x_size/2 |
||
465 | shl ebx,16 |
||
466 | mov bx,window_x_size |
||
467 | ;winxpos=xcoord*65536+xsize |
||
468 | mov [winxpos],ebx |
||
469 | |||
470 | ;calculate (y_screen-window_y_size)/2 |
||
471 | and eax,0xffff |
||
472 | shr eax,1 |
||
473 | sub eax,window_y_size/2 |
||
474 | shl eax,16 |
||
475 | mov ax,window_y_size |
||
476 | ;winypos=ycoord*65536+ysize |
||
477 | mov [winypos],eax |
||
478 | |||
479 | ret |
||
480 | |||
481 | ; ********************************************* |
||
482 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
||
483 | ; ********************************************* |
||
484 | |||
1203 | Lrz | 485 | align 4 |
31 | halyavin | 486 | draw_window: |
487 | ;ebp=1 - redraw all |
||
488 | ;ebp=0 - redraw only process information |
||
489 | |||
490 | test ebp,ebp |
||
491 | jz .show_process_info |
||
492 | |||
493 | mov eax,12 ; function 12:tell os about windowdraw |
||
1203 | Lrz | 494 | ; mov ebx,1 ; 1, start of draw |
495 | xor ebx,ebx |
||
496 | inc ebx |
||
497 | mcall |
||
31 | halyavin | 498 | |
499 | ; DRAW WINDOW |
||
500 | xor eax,eax ; function 0 : define and draw window |
||
501 | mov ebx,[winxpos] ; [x start] *65536 + [x size] |
||
502 | mov ecx,[winypos] ; [y start] *65536 + [y size] |
||
551 | spraid | 503 | mov edx,0x14ddffdd ;ffffff ; color of work area RRGGBB,8->color |
485 | heavyiron | 504 | mov edi,title ; WINDOW CAPTION; |
1203 | Lrz | 505 | mcall |
31 | halyavin | 506 | |
341 | heavyiron | 507 | |
31 | halyavin | 508 | mov eax,4 ; function 4 : write text to window |
509 | mov ebx,22*65536+35 ; draw info text with function 4 |
||
510 | xor ecx,ecx |
||
511 | mov edx,text |
||
205 | heavyiron | 512 | mov esi,text_len |
1203 | Lrz | 513 | mcall |
514 | align 4 |
||
31 | halyavin | 515 | .show_process_info: |
516 | mov edi,[list_start] |
||
517 | mov [list_add],edi |
||
518 | mov dword [index],0 |
||
519 | mov dword [curposy],54 |
||
1203 | Lrz | 520 | align 4 |
31 | halyavin | 521 | .loop_draw: |
522 | call draw_next_process |
||
523 | inc dword [index] |
||
524 | add dword [curposy],10 |
||
525 | cmp [index],display_processes |
||
526 | jl .loop_draw |
||
527 | |||
528 | test ebp,ebp |
||
529 | jz .end_redraw |
||
530 | mov eax,8 |
||
531 | mov esi,0xaabbcc |
||
532 | |||
533 | ; previous page button |
||
534 | mov ebx,30*65536+96 |
||
535 | mov ecx,380*65536+10 |
||
536 | mov edx,51 |
||
1203 | Lrz | 537 | mcall |
31 | halyavin | 538 | |
539 | ; next page button |
||
540 | mov ebx,130*65536+96 |
||
541 | inc edx |
||
1203 | Lrz | 542 | mcall |
31 | halyavin | 543 | |
544 | ; ">" (text enter) button |
||
545 | mov ebx,30*65536+20 |
||
546 | add ecx,20 shl 16 |
||
547 | inc edx |
||
1203 | Lrz | 548 | mcall |
31 | halyavin | 549 | |
550 | ; run button |
||
551 | mov ebx,456*65536+50 |
||
552 | inc edx |
||
1203 | Lrz | 553 | mcall |
31 | halyavin | 554 | |
555 | ; reboot button |
||
556 | sub ebx,120*65536 |
||
557 | add ebx,60 |
||
558 | sub ecx,20 shl 16 |
||
559 | inc edx |
||
1203 | Lrz | 560 | mcall |
31 | halyavin | 561 | |
562 | ;"PREV PAGE", "NEXT PAGE" and "REBOOT" labels |
||
563 | mov eax,4 |
||
564 | mov ebx,50*65536+382 |
||
565 | xor ecx,ecx |
||
566 | mov edx,tbts |
||
567 | mov esi,tbte-tbts |
||
1203 | Lrz | 568 | mcall |
31 | halyavin | 569 | |
570 | ;">" labels |
||
571 | mov eax,4 |
||
572 | mov ebx,40*65536+402 |
||
573 | xor ecx,ecx |
||
574 | mov edx,tbts_2 |
||
575 | mov esi,1 |
||
1203 | Lrz | 576 | mcall |
31 | halyavin | 577 | |
578 | ;"RUN" labels |
||
579 | mov eax,4 |
||
580 | mov ebx,475*65536+402 |
||
581 | xor ecx,ecx |
||
582 | mov edx,tbts_3 |
||
583 | mov esi,tbte_2-tbts_3 |
||
1203 | Lrz | 584 | mcall |
31 | halyavin | 585 | |
586 | ;print application name in text box |
||
587 | call print_text |
||
588 | |||
589 | mov eax,12 ; function 12:tell os about windowdraw |
||
590 | mov ebx,2 ; 2, end of draw |
||
1203 | Lrz | 591 | mcall |
592 | align 4 |
||
31 | halyavin | 593 | .end_redraw: |
594 | ret |
||
595 | |||
596 | |||
597 | ; DATA AREA |
||
598 | list_start dd 0 |
||
599 | |||
205 | heavyiron | 600 | file_start: dd 7 |
601 | dd 0,0,0,0 |
||
31 | halyavin | 602 | |
529 | spraid | 603 | start_application: db '/sys/LAUNCHER',0 |
31 | halyavin | 604 | times 60 db 32 |
605 | |||
748 | heavyiron | 606 | sys_reboot: |
607 | dd 7 |
||
608 | dd 0 |
||
609 | dd 0 |
||
610 | dd 0 |
||
611 | dd 0 |
||
612 | db '/sys/end',0 |
||
613 | |||
340 | heavyiron | 614 | if lang eq de |
31 | halyavin | 615 | text: |
205 | heavyiron | 616 | db ' NAME/BEENDEN PID CPU-LAST % ' |
617 | db 'SPEICHER START/NUTZUNG W-STACK W-SIZE' |
||
618 | text_len = $-text |
||
31 | halyavin | 619 | |
135 | diamond | 620 | tbts: db 'SEITE ZURUECK SEITE VOR REBOOT SYSTEM' |
621 | tbte: |
||
622 | tbts_2 db '>' |
||
623 | tbts_3 db 'START' |
||
624 | tbte_2: |
||
625 | |||
485 | heavyiron | 626 | title db 'Prozesse - Ctrl/Alt/Del',0 |
340 | heavyiron | 627 | |
268 | kaitz | 628 | else if lang eq et |
629 | text: |
||
630 | db ' NIMI/LÕPETA PID CPU-KASUTUS % ' |
||
631 | db 'MÄLU ALGUS/KASUTUS W-PUHVER W-SUURUS' |
||
632 | text_len = $-text |
||
633 | |||
634 | tbts: db 'EELMINE LEHT JÄRGMINE LEHT REBOODI SÜSTEEM' |
||
635 | tbte: |
||
636 | tbts_2 db '>' |
||
637 | tbts_3 db 'START' |
||
638 | tbte_2: |
||
639 | |||
485 | heavyiron | 640 | title db 'Protsessid - Ctrl/Alt/Del',0 |
340 | heavyiron | 641 | |
642 | else |
||
643 | text: |
||
644 | db ' NAME/TERMINATE PID CPU-USAGE % ' |
||
645 | db 'MEMORY START/USAGE W-STACK W-SIZE' |
||
646 | text_len = $-text |
||
647 | |||
648 | tbts: db 'PREV PAGE NEXT PAGE REBOOT SYSTEM' |
||
649 | tbte: |
||
650 | tbts_2 db '>' |
||
651 | tbts_3 db 'RUN' |
||
652 | tbte_2: |
||
653 | |||
485 | heavyiron | 654 | title db 'Processes - Ctrl/Alt/Del',0 |
340 | heavyiron | 655 | |
135 | diamond | 656 | end if |
657 | |||
31 | halyavin | 658 | I_END: |
659 | |||
660 | winxpos rd 1 |
||
661 | winypos rd 1 |
||
662 | |||
663 | cpu_percent rd 1 |
||
664 | tcolor rd 1 |
||
665 | list_add rd 1 |
||
666 | curposy rd 1 |
||
667 | index rd 1 |
||
668 | tasklist rd display_processes |
||
669 | process_info_buffer process_information |
||
670 | U_END: |