Subversion Repositories Kolibri OS

Rev

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

  1. ;
  2. ;
  3. ; Âêëàäêà èíôîðìàöèè î ñèñòåìå
  4. ;
  5. ; Äîïèñàòü åù¸ ÷òîèòü (ìàëîâàòî áóäåò)
  6. ;
  7. ;
  8.  
  9.         ; Ïèøåì ïàðàìåòðû
  10.         mov     edx, lab_info_tab
  11.         mov     ebx, 17 * 65536 + 285
  12.         call    show_text
  13.  
  14.         ; Ïèøåì ïðîèçâîäèòåëÿ ïðîöåññîðà
  15.         mov     edx, Vendor
  16.         mov     esi, 12
  17.         mov     ebx, 160 * 65536 + 285
  18.         int     0x40
  19.         ; Ïîääåðæêà MMX
  20.         mov     ebx, 160 * 65536 + 305
  21.         mov     esi, 3
  22.         mov     edx, msg_yes
  23.         cmp     byte[CPU_mmx], 1
  24.         je      mmx_en
  25.         mov     edx, msg_no
  26. mmx_en: int     0x40
  27.         ; ×èï ìîíèòîðèíãà
  28.         mov     edx, [hwm_chip_name]
  29.         mov     al, byte[edx]
  30.         movzx   esi, al
  31.         inc     edx
  32.         mov     ebx, 160 * 65536 + 315
  33.         mov     al, 4
  34.         int     0x40
  35.         ; ×àñòîòà ïðîöåññîðà
  36.         mov     eax, 18
  37.         mov     ebx, 5
  38.         int     0x40
  39.         push    eax
  40.         fild    dword[esp]
  41.         push    1000;000
  42.         fidiv   dword[esp]
  43.         fidiv   dword[esp]
  44.         fstp    dword[esp]
  45.         mov     esi, esp
  46.         call    ftoa
  47.         mov     ebx, 160 * 65536 + 295
  48.         mov     edx, Data_String
  49.         mov     eax, 4
  50.         mov     esi, 7
  51.         xor     ecx, ecx
  52.         int     0x40
  53.         pop     eax
  54.         pop     eax
  55.        
  56.         ; Ñåìåéñòâî è ìîäåëü ïðîöåññîðà
  57.         mov     eax, 47
  58.         mov     ebx, 0x10100
  59.         xor     ecx, ecx
  60.         mov     cl, [CPU_fam]
  61.         mov     edx, 250 * 65536 + 285
  62.         xor     esi, esi
  63.         int     0x40
  64.         mov     cl, [CPU_mod]
  65.         add     edx, 10 * 65536
  66.         int     0x40
  67.        
  68.         ; êîýôôèöèåíò óìíîæåíèÿ
  69.         call    multiplier
  70.         test    ecx, ecx
  71.         jz      @f
  72.         movzx   ecx, cl
  73.         push    ecx
  74.         fild    dword[esp]
  75.         push    10
  76.         fidiv   dword[esp]
  77.         fstp    dword[esp]
  78.         mov     esi, esp
  79.         call    ftoa
  80.         mov     ebx, 160 * 65536 + 325
  81.         mov     edx, Data_String
  82.         mov     eax, 4
  83.         mov     esi, eax
  84.         xor     ecx, ecx
  85.         int     0x40
  86.         pop     eax
  87.         pop     eax
  88. @@:
  89.         ; Ñâîáîäíàÿ ïàìÿòü
  90. if (OS_version >= 0x0530)
  91.         mov     eax, 18
  92.         mov     ebx, 16
  93.         int     0x40
  94.         mov     ecx, eax
  95.         call    digit_len
  96.         mov     eax, 47
  97.         mov     edx, 160 * 65536 + 335
  98.         xor     esi, esi
  99.         int     0x40
  100. end if
  101.        
  102.         ; Ðàññòàâëÿåì äâîåòî÷èÿ
  103.         mov     eax, 4
  104.         mov     ebx, 152 * 65536 + 285
  105.         mov     edx, dub_p
  106.         mov     esi, 1
  107.         mov     ecx, 6          ; <- êîëè÷åñòâî ñòðîê
  108. nxt_dp: push    ecx
  109.         mov     ecx, 0x10000000
  110.         int     0x40
  111.         add     ebx, 10
  112.         pop     ecx
  113.         loop    nxt_dp
  114. ;--------------------------------------------------------------------- 
  115.         jmp     end_drow_tab
  116. dub_p   db      ':'
  117.  
  118. lab_info_tab mls \
  119.         'CPU Vendor',\
  120.         'CPU frequency (MHz)',\
  121.         'MMX tehnology',\
  122.         'Monitoring chip',\
  123.         'Multiplier',\
  124.         'Free memory (Kb)'
  125.