Subversion Repositories Kolibri OS

Rev

Rev 240 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
223 Ghost 1
;
2
;
3
; Вкладка информации о системе
4
;
5
; Дописать ещё чтоить (маловато будет)
6
;
7
;
8
 
9
	; Пишем параметры
10
	mov	edx, lab_info_tab
11
	mov	ebx, 17 * 65536 + 285
12
	call	show_text
13
 
14
	; Пишем производителя процессора
15
	mov	edx, Vendor
16
	mov	esi, 12
17
	mov	ebx, 160 * 65536 + 285
18
	int	0x40
19
	; Поддержка MMX
20
	mov	ebx, 160 * 65536 + 305
21
	mov	esi, 3
22
	mov	edx, msg_yes
23
	cmp	byte[CPU_mmx], 1
24
	je	mmx_en
25
	mov	edx, msg_no
26
mmx_en:	int	0x40
27
	; Чип мониторинга
28
	mov	edx, [hwm_chip_name]
29
	mov	al, byte[edx]
30
	movzx	esi, al
31
	inc	edx
32
	mov	ebx, 160 * 65536 + 315
33
	mov	al, 4
34
	int	0x40
35
	; Частота процессора
36
	mov	eax, 18
37
	mov	ebx, 5
38
	int	0x40
39
	push	eax
40
	fild	dword[esp]
41
	push	1000;000
42
	fidiv	dword[esp]
43
	fidiv	dword[esp]
44
	fstp	dword[esp]
45
	mov	esi, esp
46
	call	ftoa
47
	mov	ebx, 160 * 65536 + 295
48
	mov	edx, Data_String
49
	mov	eax, 4
50
	mov	esi, 7
51
	xor	ecx, ecx
52
	int	0x40
53
	pop	eax
54
	pop	eax
55
 
56
	; Семейство и модель процессора
57
	mov	eax, 47
58
	mov	ebx, 0x10100
59
	xor	ecx, ecx
60
	mov	cl, [CPU_fam]
61
	mov	edx, 250 * 65536 + 285
62
	xor	esi, esi
63
	int	0x40
64
	mov	cl, [CPU_mod]
65
	add	edx, 10 * 65536
66
	int	0x40
67
 
68
	; коэффициент умножения
69
	call	multiplier
70
	test	ecx, ecx
71
	jz	@f
72
	movzx	ecx, cl
73
	push	ecx
74
	fild	dword[esp]
75
	push	10
76
	fidiv	dword[esp]
77
	fstp	dword[esp]
78
	mov	esi, esp
79
	call	ftoa
80
	mov	ebx, 160 * 65536 + 325
81
	mov	edx, Data_String
82
	mov	eax, 4
83
	mov	esi, eax
84
	xor	ecx, ecx
85
	int	0x40
86
	pop	eax
87
	pop	eax
88
@@:
89
	; Свободная память
90
if (OS_version >= 0x0530)
91
	mov	eax, 18
92
	mov	ebx, 16
93
	int	0x40
94
	mov	ecx, eax
95
	call	digit_len
96
	mov	eax, 47
97
	mov	edx, 160 * 65536 + 335
98
	xor	esi, esi
99
	int	0x40
100
end if
101
 
102
	; Расставляем двоеточия
103
	mov	eax, 4
104
	mov	ebx, 152 * 65536 + 285
105
	mov	edx, dub_p
106
	mov	esi, 1
107
	mov	ecx, 6		; <- количество строк
108
nxt_dp:	push	ecx
109
	mov	ecx, 0x10000000
110
	int	0x40
111
	add	ebx, 10
112
	pop	ecx
113
	loop	nxt_dp
114
;---------------------------------------------------------------------
115
	jmp	end_drow_tab
116
dub_p	db	':'
117
 
118
lab_info_tab mls \
119
	'CPU Vendor',\
120
	'CPU frequency (MHz)',\
121
	'MMX tehnology',\
122
	'Monitoring chip',\
123
	'Multiplier',\
124
	'Free memory (Kb)'