Subversion Repositories Kolibri OS

Rev

Rev 223 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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