Rev 5950 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5950 | Rev 6353 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; |
1 | ; |
2 | ; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû |
2 | ; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы |
3 | ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) |
3 | ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) |
4 | ; All Right Reserved |
4 | ; All Right Reserved |
Line 5... | Line 5... | ||
5 | 5 | ||
6 | ; |
6 | ; |
7 | ; |
7 | ; |
8 | ; Âêëàäêà èíôîðìàöèè î ñèñòåìå |
8 | ; Вкладка информации о системе |
9 | ; |
9 | ; |
10 | ; Äîïèñàòü åù¸ ÷òîèòü (ìàëîâàòî áóäåò) |
10 | ; Дописать ещё чтоить (маловато будет) |
11 | ; |
11 | ; |
Line 12... | Line 12... | ||
12 | ; |
12 | ; |
13 | 13 | ||
14 | ; Ïèøåì ïàðàìåòðû |
14 | ; Пишем параметры |
15 | mov edx, lab_info_tab |
15 | mov edx, lab_info_tab |
Line 16... | Line 16... | ||
16 | mov ebx, 17 * 65536 + 285 |
16 | mov ebx, 17 * 65536 + 285 |
17 | call show_text |
17 | call show_text |
18 | 18 | ||
19 | ; Ïèøåì ïðîèçâîäèòåëÿ ïðîöåññîðà |
19 | ; Пишем производителя процессора |
20 | mov edx, Vendor |
20 | mov edx, Vendor |
21 | mov esi, 12 |
21 | mov esi, 12 |
22 | mov ebx, 160 * 65536 + 285 |
22 | mov ebx, 160 * 65536 + 285 |
23 | int 0x40 |
23 | int 0x40 |
24 | ; Ïîääåðæêà MMX |
24 | ; Поддержка MMX |
25 | mov ebx, 160 * 65536 + 305 |
25 | mov ebx, 160 * 65536 + 305 |
26 | mov esi, 3 |
26 | mov esi, 3 |
27 | mov edx, msg_yes |
27 | mov edx, msg_yes |
28 | cmp byte[CPU_mmx], 1 |
28 | cmp byte[CPU_mmx], 1 |
29 | je mmx_en |
29 | je mmx_en |
30 | mov edx, msg_no |
30 | mov edx, msg_no |
31 | mmx_en: int 0x40 |
31 | mmx_en: int 0x40 |
32 | ; ×èï ìîíèòîðèíãà |
32 | ; Чип мониторинга |
33 | mov edx, [hwm_chip_name] |
33 | mov edx, [hwm_chip_name] |
34 | or ecx, 0x80000000 |
34 | or ecx, 0x80000000 |
35 | mov ebx, 160 * 65536 + 325 |
35 | mov ebx, 160 * 65536 + 325 |
36 | mov al, 4 |
36 | mov al, 4 |
37 | int 0x40 |
37 | int 0x40 |
38 | ; ×àñòîòà ïðîöåññîðà |
38 | ; Частота процессора |
Line 39... | Line 39... | ||
39 | mov eax, 18 |
39 | mov eax, 18 |
Line 48... | Line 48... | ||
48 | mov eax, 47 |
48 | mov eax, 47 |
49 | mov edx, 160 * 65536 + 295 |
49 | mov edx, 160 * 65536 + 295 |
50 | xor esi, esi |
50 | xor esi, esi |
51 | int 0x40 |
51 | int 0x40 |
Line 52... | Line 52... | ||
52 | 52 | ||
53 | ; push eax ; Âåðíóòü êîä ïîñëå èñïðàâëåíèÿ ftoa |
53 | ; push eax ; Вернуть код после исправления ftoa |
54 | ; fild dword[esp] |
54 | ; fild dword[esp] |
55 | ; push 1000;000 |
55 | ; push 1000;000 |
56 | ; fidiv dword[esp] |
56 | ; fidiv dword[esp] |
57 | ; fidiv dword[esp] |
57 | ; fidiv dword[esp] |
Line 65... | Line 65... | ||
65 | ; xor ecx, ecx |
65 | ; xor ecx, ecx |
66 | ; int 0x40 |
66 | ; int 0x40 |
67 | ; pop eax |
67 | ; pop eax |
68 | ; pop eax |
68 | ; pop eax |
Line 69... | Line 69... | ||
69 | 69 | ||
70 | ; Ñåìåéñòâî è ìîäåëü ïðîöåññîðà |
70 | ; Семейство и модель процессора |
71 | mov eax, 47 |
71 | mov eax, 47 |
72 | mov ebx, 0x10100 |
72 | mov ebx, 0x10100 |
73 | xor ecx, ecx |
73 | xor ecx, ecx |
74 | mov cl, [CPU_fam] |
74 | mov cl, [CPU_fam] |
Line 77... | Line 77... | ||
77 | int 0x40 |
77 | int 0x40 |
78 | mov cl, [CPU_mod] |
78 | mov cl, [CPU_mod] |
79 | add edx, 10 * 65536 |
79 | add edx, 10 * 65536 |
80 | int 0x40 |
80 | int 0x40 |
Line 81... | Line 81... | ||
81 | 81 | ||
82 | ; êîýôôèöèåíò óìíîæåíèÿ |
82 | ; коэффициент умножения |
83 | call multiplier |
83 | call multiplier |
84 | test ecx, ecx |
84 | test ecx, ecx |
85 | jz @f |
85 | jz @f |
86 | movzx ecx, cl |
86 | movzx ecx, cl |
Line 98... | Line 98... | ||
98 | xor ecx, ecx |
98 | xor ecx, ecx |
99 | int 0x40 |
99 | int 0x40 |
100 | pop eax |
100 | pop eax |
101 | pop eax |
101 | pop eax |
102 | @@: |
102 | @@: |
103 | ; Ñâîáîäíàÿ ïàìÿòü |
- | |
104 | if (OS_version >= 0x0530) |
- | |
105 | mov eax, 18 |
- | |
106 | mov ebx, 16 |
- | |
107 | int 0x40 |
- | |
108 | mov ecx, eax |
- | |
109 | call digit_len |
- | |
110 | mov eax, 47 |
- | |
111 | mov edx, 160 * 65536 + 335 |
- | |
112 | xor esi, esi |
- | |
113 | int 0x40 |
- | |
114 | end if |
- | |
Line 115... | Line 103... | ||
115 | 103 | ||
116 | ; Ðàññòàâëÿåì äâîåòî÷èÿ |
104 | ; Расставляем двоеточия |
117 | mov eax, 4 |
105 | mov eax, 4 |
118 | mov ebx, 152 * 65536 + 285 |
106 | mov ebx, 152 * 65536 + 285 |
119 | mov edx, dub_p |
107 | mov edx, dub_p |
120 | mov esi, 1 |
108 | mov esi, 1 |
121 | mov ecx, 6 ; <- êîëè÷åñòâî ñòðîê |
109 | mov ecx, 6 ; <- количество строк |
122 | nxt_dp: push ecx |
110 | nxt_dp: push ecx |
123 | xor ecx, ecx |
111 | xor ecx, ecx |
124 | int 0x40 |
112 | int 0x40 |
125 | add ebx, 10 |
113 | add ebx, 10 |
126 | pop ecx |
114 | pop ecx |
127 | loop nxt_dp |
115 | loop nxt_dp |
- | 116 | ;--------------------------------------------------------------------- |
|
- | 117 | jmp redraw |
|
- | 118 | ||
- | 119 | free_mem: |
|
- | 120 | ; Свободная память |
|
- | 121 | if (OS_version >= 0x0530) |
|
- | 122 | mov eax, 18 |
|
- | 123 | mov ebx, 16 |
|
- | 124 | int 0x40 |
|
- | 125 | mov ecx, eax |
|
- | 126 | call digit_len |
|
- | 127 | mov eax, 47 |
|
- | 128 | mov edx, 160 * 65536 + 335 |
|
- | 129 | xor esi, esi |
|
- | 130 | clear_prev_no edx |
|
- | 131 | int 0x40 |
|
128 | ;--------------------------------------------------------------------- |
132 | end if |
- | 133 | jmp end_drow_tab |
|
129 | jmp end_drow_tab |
134 | |
Line 130... | Line 135... | ||
130 | dub_p db ':' |
135 | dub_p db ':' |
131 | 136 | ||
132 | if lang eq it |
137 | if lang eq it |