Subversion Repositories Kolibri OS

Rev

Rev 205 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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