Subversion Repositories Kolibri OS

Rev

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