Subversion Repositories Kolibri OS

Rev

Rev 223 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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