Subversion Repositories Kolibri OS

Rev

Rev 223 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 223 Rev 313
-
 
1
;
-
 
2
; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
-
 
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
-
 
4
; All Right Reserved
-
 
5
 
1
; struc DiagramData size,color
6
; struc DiagramData size,color
2
; {
7
; {
3
      ; .color dd color
8
      ; .color dd color
4
      ; times size db 0 ;;change to value > 100
9
      ; times size db 0 ;;change to value > 100
5
; }
10
; }
6
 
11
 
7
;------------------------------------------------------
12
;------------------------------------------------------
8
d_show:
13
d_show:
9
; esi - pointer to struct
14
; esi - pointer to struct
10
	; åñëè öâåò ôîíà, òî íå ðèñóåì
15
	; åñëè öâåò ôîíà, òî íå ðèñóåì
11
	cmp	dword[esi], tcol
16
	cmp	dword[esi], tcol
12
	jne	@f
17
	jne	@f
13
	ret
18
	ret
14
@@:	pusha
19
@@:	pusha
15
 
20
 
16
	mov	edx, [esi]
21
	mov	edx, [esi]
17
	add	esi, 4
22
	add	esi, 4
18
	mov	edi, esi
23
	mov	edi, esi
19
	add	edi, 285
24
	add	edi, 285
20
 
25
 
21
	mov	ebx, 12 * 65536 + 13
26
	mov	ebx, 12 * 65536 + 13
22
	xor	eax, eax
27
	xor	eax, eax
23
	lodsb
28
	lodsb
24
	mov	cx, 240
29
	mov	cx, 240
25
	sub	ecx, eax
30
	sub	ecx, eax
26
 
31
 
27
@@:	shl	ecx, 16
32
@@:	shl	ecx, 16
28
	mov	cx, 240
33
	mov	cx, 240
29
	lodsb
34
	lodsb
30
	sub	ecx, eax	
35
	sub	ecx, eax	
31
	mov	eax, 38
36
	mov	eax, 38
32
	int	0x40
37
	int	0x40
33
	add	ebx, 0x10001
38
	add	ebx, 0x10001
34
	cmp	esi, edi
39
	cmp	esi, edi
35
	jle	@b
40
	jle	@b
36
 
41
 
37
	popa
42
	popa
38
	ret
43
	ret
39
;------------------------------------------------------
44
;------------------------------------------------------
40
d_add:
45
d_add:
41
; esi - pointer to struct
46
; esi - pointer to struct
42
;  al - value
47
;  al - value
43
	pusha
48
	pusha
44
	cmp	byte [diag_add_v], 0	; äîáàâëÿåì òîëüêî ïî òàéìåðó
49
	cmp	byte [diag_add_v], 0	; äîáàâëÿåì òîëüêî ïî òàéìåðó
45
	je	d_add_end
50
	je	d_add_end
46
	cld
51
	cld
47
	mov	ecx, 285
52
	mov	ecx, 285
48
	add	esi, 4
53
	add	esi, 4
49
	mov	edi, esi
54
	mov	edi, esi
50
	inc	esi
55
	inc	esi
51
	rep movsb
56
	rep movsb
52
	cmp	al, 100
57
	cmp	al, 100
53
	jbe	@f
58
	jbe	@f
54
	mov	al, 100
59
	mov	al, 100
55
@@:	mov	[edi], al
60
@@:	mov	[edi], al
56
d_add_end:
61
d_add_end:
57
	popa
62
	popa
58
	ret
63
	ret