Subversion Repositories Kolibri OS

Rev

Rev 223 | Rev 313 | Go to most recent revision | Details | Compare with Previous | 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
240 Ghost 39
 
40
	xor	edx, edx
41
	mov	ebx, 1000000
42
	div	ebx
43
	mov	ecx, eax
44
	call	digit_len
45
	mov	eax, 47
46
	mov	edx, 160 * 65536 + 295
47
	xor	esi, esi
223 Ghost 48
	int	0x40
49
 
240 Ghost 50
	; push	eax			; Вернуть код после исправления ftoa
51
	; fild	dword[esp]
52
	; push	1000;000
53
	; fidiv	dword[esp]
54
	; fidiv	dword[esp]
55
	; fstp	dword[esp]
56
	; mov	esi, esp
57
	; call	ftoa
58
	; mov	ebx, 160 * 65536 + 295
59
	; mov	edx, Data_String
60
	; mov	eax, 4
61
	; mov	esi, 7
62
	; xor	ecx, ecx
63
	; int	0x40
64
	; pop	eax
65
	; pop	eax
66
 
223 Ghost 67
	; Семейство и модель процессора
68
	mov	eax, 47
69
	mov	ebx, 0x10100
70
	xor	ecx, ecx
71
	mov	cl, [CPU_fam]
72
	mov	edx, 250 * 65536 + 285
73
	xor	esi, esi
74
	int	0x40
75
	mov	cl, [CPU_mod]
76
	add	edx, 10 * 65536
77
	int	0x40
78
 
79
	; коэффициент умножения
80
	call	multiplier
81
	test	ecx, ecx
82
	jz	@f
83
	movzx	ecx, cl
84
	push	ecx
85
	fild	dword[esp]
86
	push	10
87
	fidiv	dword[esp]
88
	fstp	dword[esp]
89
	mov	esi, esp
90
	call	ftoa
91
	mov	ebx, 160 * 65536 + 325
92
	mov	edx, Data_String
93
	mov	eax, 4
94
	mov	esi, eax
95
	xor	ecx, ecx
96
	int	0x40
97
	pop	eax
98
	pop	eax
99
@@:
100
	; Свободная память
101
if (OS_version >= 0x0530)
102
	mov	eax, 18
103
	mov	ebx, 16
104
	int	0x40
105
	mov	ecx, eax
106
	call	digit_len
107
	mov	eax, 47
108
	mov	edx, 160 * 65536 + 335
109
	xor	esi, esi
110
	int	0x40
111
end if
112
 
113
	; Расставляем двоеточия
114
	mov	eax, 4
115
	mov	ebx, 152 * 65536 + 285
116
	mov	edx, dub_p
117
	mov	esi, 1
118
	mov	ecx, 6		; <- количество строк
119
nxt_dp:	push	ecx
120
	mov	ecx, 0x10000000
121
	int	0x40
122
	add	ebx, 10
123
	pop	ecx
124
	loop	nxt_dp
125
;---------------------------------------------------------------------
126
	jmp	end_drow_tab
127
dub_p	db	':'
128
 
129
lab_info_tab mls \
130
	'CPU Vendor',\
131
	'CPU frequency (MHz)',\
132
	'MMX tehnology',\
133
	'Monitoring chip',\
134
	'Multiplier',\
135
	'Free memory (Kb)'