Subversion Repositories Kolibri OS

Rev

Rev 313 | Rev 3604 | Go to most recent revision | 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. ;
  7. ;
  8. ; ┬ъырфър шэЇюЁьрЎшш ю ёшёЄхьх
  9. ;
  10. ; ─юяшёрЄ№ х∙╕ ўЄюшЄ№ (ьрыютрЄю сєфхЄ)
  11. ;
  12. ;
  13.  
  14.         ; ╧ш°хь ярЁрьхЄЁ√
  15.         mov     edx, lab_info_tab
  16.         mov     ebx, 17 * 65536 + 285
  17.         call    show_text
  18.  
  19.         ; ╧ш°хь яЁюшчтюфшЄхы  яЁюЎхёёюЁр
  20.         mov     edx, Vendor
  21.         mov     esi, 12
  22.         mov     ebx, 160 * 65536 + 285
  23.         int     0x40
  24.         ; ╧юффхЁцър MMX
  25.         mov     ebx, 160 * 65536 + 305
  26.         mov     esi, 3
  27.         mov     edx, msg_yes
  28.         cmp     byte[CPU_mmx], 1
  29.         je      mmx_en
  30.         mov     edx, msg_no
  31. mmx_en: int     0x40
  32.         ; ╫шя ьюэшЄюЁшэур
  33.         mov     edx, [hwm_chip_name]
  34.         or      ecx, 0x80000000
  35.         mov     ebx, 160 * 65536 + 325
  36.         mov     al, 4
  37.         int     0x40
  38.         ; ╫рёЄюЄр яЁюЎхёёюЁр
  39.         mov     eax, 18
  40.         mov     ebx, 5
  41.         int     0x40
  42.  
  43.         xor     edx, edx
  44.         mov     ebx, 1000000
  45.         div     ebx
  46.         mov     ecx, eax
  47.         call    digit_len
  48.         mov     eax, 47
  49.         mov     edx, 160 * 65536 + 295
  50.         xor     esi, esi
  51.         int     0x40
  52.        
  53.         ; push  eax                     ; ┬хЁэєЄ№ ъюф яюёых шёяЁртыхэш  ftoa
  54.         ; fild  dword[esp]
  55.         ; push  1000;000
  56.         ; fidiv dword[esp]
  57.         ; fidiv dword[esp]
  58.         ; fstp  dword[esp]
  59.         ; mov   esi, esp
  60.         ; call  ftoa
  61.         ; mov   ebx, 160 * 65536 + 295
  62.         ; mov   edx, Data_String
  63.         ; mov   eax, 4
  64.         ; mov   esi, 7
  65.         ; xor   ecx, ecx
  66.         ; int   0x40
  67.         ; pop   eax
  68.         ; pop   eax
  69.        
  70.         ; ╤хьхщёЄтю ш ьюфхы№ яЁюЎхёёюЁр
  71.         mov     eax, 47
  72.         mov     ebx, 0x10100
  73.         xor     ecx, ecx
  74.         mov     cl, [CPU_fam]
  75.         mov     edx, 250 * 65536 + 285
  76.         xor     esi, esi
  77.         int     0x40
  78.         mov     cl, [CPU_mod]
  79.         add     edx, 10 * 65536
  80.         int     0x40
  81.        
  82.         ; ъю¤ЇЇшЎшхэЄ єьэюцхэш 
  83.         call    multiplier
  84.         test    ecx, ecx
  85.         jz      @f
  86.         movzx   ecx, cl
  87.         push    ecx
  88.         fild    dword[esp]
  89.         push    10
  90.         fidiv   dword[esp]
  91.         fstp    dword[esp]
  92.         mov     esi, esp
  93.         call    ftoa
  94.         mov     ebx, 160 * 65536 + 315
  95.         mov     edx, Data_String
  96.         mov     eax, 4
  97.         mov     esi, eax
  98.         xor     ecx, ecx
  99.         int     0x40
  100.         pop     eax
  101.         pop     eax
  102. @@:
  103.         ; ╤тюсюфэр  ярь Є№
  104. if (OS_version >= 0x0530)
  105.         mov     eax, 18
  106.         mov     ebx, 16
  107.         int     0x40
  108.         mov     ecx, eax
  109.         call    digit_len
  110.         mov     eax, 47
  111.         mov     edx, 160 * 65536 + 335
  112.         xor     esi, esi
  113.         int     0x40
  114. end if
  115.        
  116.         ; ╨рёёЄрты хь фтюхЄюўш 
  117.         mov     eax, 4
  118.         mov     ebx, 152 * 65536 + 285
  119.         mov     edx, dub_p
  120.         mov     esi, 1
  121.         mov     ecx, 6          ; <- ъюышўхёЄтю ёЄЁюъ
  122. nxt_dp: push    ecx
  123.         mov     ecx, 0x10000000
  124.         int     0x40
  125.         add     ebx, 10
  126.         pop     ecx
  127.         loop    nxt_dp
  128. ;--------------------------------------------------------------------- 
  129.         jmp     end_drow_tab
  130. dub_p   db      ':'
  131.  
  132. lab_info_tab mls \
  133.         'CPU Vendor',\
  134.         'CPU frequency (MHz)',\
  135.         'MMX tehnology',\
  136.         'Multiplier',\
  137.         'Monitoring chip',\
  138.         'Free memory (Kb)'
  139.