Subversion Repositories Kolibri OS

Rev

Rev 223 | Rev 313 | 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.  
  40.         xor     edx, edx
  41.         mov     ebx, 1000000
  42.         div     ebx
  43.         mov     ecx, eax
  44.         call    digit_len
  45.         mov     eax, 47
  46.         mov     edx, 160 * 65536 + 295
  47.         xor     esi, esi
  48.         int     0x40
  49.        
  50.         ; push  eax                     ; Âåðíóòü êîä ïîñëå èñïðàâëåíèÿ ftoa
  51.         ; fild  dword[esp]
  52.         ; push  1000;000
  53.         ; fidiv dword[esp]
  54.         ; fidiv dword[esp]
  55.         ; fstp  dword[esp]
  56.         ; mov   esi, esp
  57.         ; call  ftoa
  58.         ; mov   ebx, 160 * 65536 + 295
  59.         ; mov   edx, Data_String
  60.         ; mov   eax, 4
  61.         ; mov   esi, 7
  62.         ; xor   ecx, ecx
  63.         ; int   0x40
  64.         ; pop   eax
  65.         ; pop   eax
  66.        
  67.         ; Ñåìåéñòâî è ìîäåëü ïðîöåññîðà
  68.         mov     eax, 47
  69.         mov     ebx, 0x10100
  70.         xor     ecx, ecx
  71.         mov     cl, [CPU_fam]
  72.         mov     edx, 250 * 65536 + 285
  73.         xor     esi, esi
  74.         int     0x40
  75.         mov     cl, [CPU_mod]
  76.         add     edx, 10 * 65536
  77.         int     0x40
  78.        
  79.         ; êîýôôèöèåíò óìíîæåíèÿ
  80.         call    multiplier
  81.         test    ecx, ecx
  82.         jz      @f
  83.         movzx   ecx, cl
  84.         push    ecx
  85.         fild    dword[esp]
  86.         push    10
  87.         fidiv   dword[esp]
  88.         fstp    dword[esp]
  89.         mov     esi, esp
  90.         call    ftoa
  91.         mov     ebx, 160 * 65536 + 325
  92.         mov     edx, Data_String
  93.         mov     eax, 4
  94.         mov     esi, eax
  95.         xor     ecx, ecx
  96.         int     0x40
  97.         pop     eax
  98.         pop     eax
  99. @@:
  100.         ; Ñâîáîäíàÿ ïàìÿòü
  101. if (OS_version >= 0x0530)
  102.         mov     eax, 18
  103.         mov     ebx, 16
  104.         int     0x40
  105.         mov     ecx, eax
  106.         call    digit_len
  107.         mov     eax, 47
  108.         mov     edx, 160 * 65536 + 335
  109.         xor     esi, esi
  110.         int     0x40
  111. end if
  112.        
  113.         ; Ðàññòàâëÿåì äâîåòî÷èÿ
  114.         mov     eax, 4
  115.         mov     ebx, 152 * 65536 + 285
  116.         mov     edx, dub_p
  117.         mov     esi, 1
  118.         mov     ecx, 6          ; <- êîëè÷åñòâî ñòðîê
  119. nxt_dp: push    ecx
  120.         mov     ecx, 0x10000000
  121.         int     0x40
  122.         add     ebx, 10
  123.         pop     ecx
  124.         loop    nxt_dp
  125. ;--------------------------------------------------------------------- 
  126.         jmp     end_drow_tab
  127. dub_p   db      ':'
  128.  
  129. lab_info_tab mls \
  130.         'CPU Vendor',\
  131.         'CPU frequency (MHz)',\
  132.         'MMX tehnology',\
  133.         'Monitoring chip',\
  134.         'Multiplier',\
  135.         'Free memory (Kb)'
  136.