Subversion Repositories Kolibri OS

Rev

Rev 6353 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
223 Ghost 1
;
6353 nisargshah 2
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
313 Ghost 3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
4
; All Right Reserved
5
 
223 Ghost 6
;
313 Ghost 7
;
6353 nisargshah 8
; Вкладка информации о системе
223 Ghost 9
;
6353 nisargshah 10
; Дописать ещё чтоить (маловато будет)
223 Ghost 11
;
12
;
13
 
6353 nisargshah 14
	; Пишем параметры
223 Ghost 15
	mov	edx, lab_info_tab
16
	mov	ebx, 17 * 65536 + 285
17
	call	show_text
18
 
6353 nisargshah 19
	; Пишем производителя процессора
223 Ghost 20
	mov	edx, Vendor
21
	mov	esi, 12
22
	mov	ebx, 160 * 65536 + 285
23
	int	0x40
6353 nisargshah 24
	; Поддержка MMX
223 Ghost 25
	mov	ebx, 160 * 65536 + 305
26
	mov	esi, 3
27
	mov	edx, msg_yes
28
	cmp	byte[CPU_mmx], 1
29
	je	mmx_en
30
	mov	edx, msg_no
31
mmx_en:	int	0x40
6353 nisargshah 32
	; Чип мониторинга
223 Ghost 33
	mov	edx, [hwm_chip_name]
500 Ghost 34
	or	ecx, 0x80000000
313 Ghost 35
	mov	ebx, 160 * 65536 + 325
223 Ghost 36
	mov	al, 4
37
	int	0x40
6353 nisargshah 38
	; Частота процессора
223 Ghost 39
	mov	eax, 18
40
	mov	ebx, 5
41
	int	0x40
240 Ghost 42
 
43
	xor	edx, edx
44
	mov	ebx, 1000000
45
	div	ebx
46
	mov	ecx, eax
47
	call	digit_len
48
	mov	eax, 47
49
	mov	edx, 160 * 65536 + 295
50
	xor	esi, esi
223 Ghost 51
	int	0x40
3604 fedesco 52
 
6353 nisargshah 53
	; push	eax			; Вернуть код после исправления ftoa
240 Ghost 54
	; fild	dword[esp]
55
	; push	1000;000
56
	; fidiv	dword[esp]
57
	; fidiv	dword[esp]
58
	; fstp	dword[esp]
59
	; mov	esi, esp
60
	; call	ftoa
61
	; mov	ebx, 160 * 65536 + 295
62
	; mov	edx, Data_String
63
	; mov	eax, 4
64
	; mov	esi, 7
65
	; xor	ecx, ecx
66
	; int	0x40
67
	; pop	eax
68
	; pop	eax
3604 fedesco 69
 
6353 nisargshah 70
	; Семейство и модель процессора
223 Ghost 71
	mov	eax, 47
72
	mov	ebx, 0x10100
73
	xor	ecx, ecx
74
	mov	cl, [CPU_fam]
75
	mov	edx, 250 * 65536 + 285
76
	xor	esi, esi
77
	int	0x40
78
	mov	cl, [CPU_mod]
79
	add	edx, 10 * 65536
80
	int	0x40
3604 fedesco 81
 
6353 nisargshah 82
	; коэффициент умножения
223 Ghost 83
	call	multiplier
84
	test	ecx, ecx
85
	jz	@f
86
	movzx	ecx, cl
87
	push	ecx
88
	fild	dword[esp]
89
	push	10
90
	fidiv	dword[esp]
91
	fstp	dword[esp]
92
	mov	esi, esp
93
	call	ftoa
313 Ghost 94
	mov	ebx, 160 * 65536 + 315
223 Ghost 95
	mov	edx, Data_String
96
	mov	eax, 4
97
	mov	esi, eax
98
	xor	ecx, ecx
99
	int	0x40
100
	pop	eax
101
	pop	eax
102
@@:
3604 fedesco 103
 
6353 nisargshah 104
	; Расставляем двоеточия
223 Ghost 105
	mov	eax, 4
106
	mov	ebx, 152 * 65536 + 285
107
	mov	edx, dub_p
108
	mov	esi, 1
6353 nisargshah 109
	mov	ecx, 6		; <- количество строк
223 Ghost 110
nxt_dp:	push	ecx
5950 pathoswith 111
	xor	ecx, ecx
223 Ghost 112
	int	0x40
113
	add	ebx, 10
114
	pop	ecx
115
	loop	nxt_dp
3604 fedesco 116
;---------------------------------------------------------------------
6353 nisargshah 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
132
end if
133
	jmp end_drow_tab
134
 
223 Ghost 135
dub_p	db	':'
136
 
3604 fedesco 137
if lang eq it
138
	lab_info_tab mls \
139
		'Vendor CPU',\
140
		'Frequenza CPU (MHz)',\
141
		'MMX tehnology',\
142
		'Multiplier',\
143
		'Monitoring chip',\
144
		'Memoria libera (Kb)'
145
else
146
	lab_info_tab mls \
7817 hidnplayr 147
		'CPU vendor',\
3604 fedesco 148
		'CPU frequency (MHz)',\
7817 hidnplayr 149
		'MMX technology',\
3604 fedesco 150
		'Multiplier',\
151
		'Monitoring chip',\
152
		'Free memory (Kb)'
153
end if