forked from KolibriOS/kolibrios
8871a59fcf
* kernel.asm free port area 0xe0-0xe4 (special for uGuru) + CPUID by Wildwest * APM GDT limit fix 3 git-svn-id: svn://kolibrios.org@223 a494cfbc-eb01-0410-851d-a64ba20cac60
59 lines
915 B
PHP
59 lines
915 B
PHP
; struc DiagramData size,color
|
|
; {
|
|
; .color dd color
|
|
; times size db 0 ;;change to value > 100
|
|
; }
|
|
|
|
;------------------------------------------------------
|
|
d_show:
|
|
; esi - pointer to struct
|
|
; åñëè öâåò ôîíà, òî íå ðèñóåì
|
|
cmp dword[esi], tcol
|
|
jne @f
|
|
ret
|
|
@@: pusha
|
|
|
|
mov edx, [esi]
|
|
add esi, 4
|
|
mov edi, esi
|
|
add edi, 285
|
|
|
|
mov ebx, 12 * 65536 + 13
|
|
xor eax, eax
|
|
lodsb
|
|
mov cx, 240
|
|
sub ecx, eax
|
|
|
|
@@: shl ecx, 16
|
|
mov cx, 240
|
|
lodsb
|
|
sub ecx, eax
|
|
mov eax, 38
|
|
int 0x40
|
|
add ebx, 0x10001
|
|
cmp esi, edi
|
|
jle @b
|
|
|
|
popa
|
|
ret
|
|
;------------------------------------------------------
|
|
d_add:
|
|
; esi - pointer to struct
|
|
; al - value
|
|
pusha
|
|
cmp byte [diag_add_v], 0 ; äîáàâëÿåì òîëüêî ïî òàéìåðó
|
|
je d_add_end
|
|
cld
|
|
mov ecx, 285
|
|
add esi, 4
|
|
mov edi, esi
|
|
inc esi
|
|
rep movsb
|
|
cmp al, 100
|
|
jbe @f
|
|
mov al, 100
|
|
@@: mov [edi], al
|
|
d_add_end:
|
|
popa
|
|
ret
|