Subversion Repositories Kolibri OS

Rev

Rev 313 | Rev 3604 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
223 Ghost 1
;
313 Ghost 2
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
4
; All Right Reserved
5
 
223 Ghost 6
;
313 Ghost 7
;
223 Ghost 8
; Вкладка информации о системе
9
;
10
; Дописать ещё чтоить (маловато будет)
11
;
12
;
13
 
14
	; Пишем параметры
15
	mov	edx, lab_info_tab
16
	mov	ebx, 17 * 65536 + 285
17
	call	show_text
18
 
19
	; Пишем производителя процессора
20
	mov	edx, Vendor
21
	mov	esi, 12
22
	mov	ebx, 160 * 65536 + 285
23
	int	0x40
24
	; Поддержка MMX
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
32
	; Чип мониторинга
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
38
	; Частота процессора
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
52
 
240 Ghost 53
	; push	eax			; Вернуть код после исправления ftoa
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
69
 
223 Ghost 70
	; Семейство и модель процессора
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
81
 
82
	; коэффициент умножения
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
@@:
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
115
 
116
	; Расставляем двоеточия
117
	mov	eax, 4
118
	mov	ebx, 152 * 65536 + 285
119
	mov	edx, dub_p
120
	mov	esi, 1
121
	mov	ecx, 6		; <- количество строк
122
nxt_dp:	push	ecx
123
	mov	ecx, 0x10000000
124
	int	0x40
125
	add	ebx, 10
126
	pop	ecx
127
	loop	nxt_dp
128
;---------------------------------------------------------------------
129
	jmp	end_drow_tab
130
dub_p	db	':'
131
 
132
lab_info_tab mls \
133
	'CPU Vendor',\
134
	'CPU frequency (MHz)',\
135
	'MMX tehnology',\
313 Ghost 136
	'Multiplier',\
223 Ghost 137
	'Monitoring chip',\
138
	'Free memory (Kb)'