Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | 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 + 265
  12.         call    show_text
  13.  
  14.         ; Ïèøåì ïðîèçâîäèòåëÿ ïðîöåññîðà
  15.         mov     edx, Vendor
  16.         mov     esi, 12
  17.         mov     ebx, 160 * 65536 + 265
  18.         int     0x40
  19.         ; Ïîääåðæêà MMX
  20.         mov     ebx, 160 * 65536 + 275
  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.         int     0x40
  29.         mov     edx, [hwm_chip_name]
  30.         mov     al, byte[edx]
  31.         movzx   esi, al
  32.         inc     edx
  33.         mov     ebx, 160 * 65536 + 285
  34.         mov     al, 4
  35.         int     0x40
  36.         ; Ñåìåéñòâî è ìîäåëü ïðîöåññîðà
  37.         mov     eax, 47
  38.         mov     ebx, 0x10100
  39.         xor     ecx, ecx
  40.         mov     cl, [CPU_fam]
  41.         mov     edx, 250 * 65536 + 265
  42.         xor     esi, esi
  43.         int     0x40
  44.         mov     cl, [CPU_mod]
  45.         add     edx, 10 * 65536
  46.         int     0x40
  47.        
  48.         ; êîýôôèöèåíò óìíîæåíèÿ
  49.         call    multiplier
  50.         test    ecx, ecx
  51.         jz      @f
  52.         movzx   ecx, cl
  53.         push    ecx
  54.         fild    dword[esp]
  55.         push    10
  56.         fidiv   dword[esp]
  57.         fstp    dword[esp]
  58.         mov     esi, esp
  59.         call    ftoa
  60.         mov     ebx, 160 * 65536 + 295
  61.         mov     edx, Data_String
  62.         mov     eax, 4
  63.         mov     esi, eax
  64.         xor     ecx, ecx
  65.         int     0x40
  66.         pop     eax
  67.         pop     eax
  68. @@:
  69.         ; Ñâîáîäíàÿ ïàìÿòü
  70. if (OS_version >= 0x0530)
  71.         mov     eax, 18
  72.         mov     ebx, 16
  73.         int     0x40
  74.         mov     ecx, eax
  75.         call    digit_len
  76.         mov     eax, 47
  77.         mov     edx, 160 * 65536 + 305
  78.         xor     esi, esi
  79.         int     0x40
  80. end if
  81.        
  82.         ; Ðàññòàâëÿåì äâîåòî÷èÿ
  83.         mov     eax, 4
  84.         mov     ebx, 152 * 65536 + 265
  85.         mov     edx, dub_p
  86.         mov     esi, 1
  87.         mov     ecx, 5          ; <- êîëè÷åñòâî ñòðîê
  88. nxt_dp: push    ecx
  89.         mov     ecx, 0x10000000
  90.         int     0x40
  91.         add     ebx, 10
  92.         pop     ecx
  93.         loop    nxt_dp
  94. ;--------------------------------------------------------------------- 
  95.         jmp     end_drow_tab
  96. dub_p   db      ':'
  97.  
  98. lab_info_tab mls \
  99.         'CPU Vendor',\
  100.         'MMX tehnology',\
  101.         'Monitoring chip',\
  102.         'Multiplier',\
  103.         'Free memory (Kb)'
  104.