Помогите иследовать процедуру.

Тема в разделе "WASM.RESEARCH", создана пользователем MSKZ, 3 июн 2005.

  1. MSKZ

    MSKZ New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    47
    Вообщем мне надо узнать что онпосылает в порты и в какие порты и что получает :dntknw:
    Код (Text):
    1.  
    2. proc    UpdateTempThread,   lpParam
    3.        
    4.         .sText          rb 70h
    5.        
    6.     enter
    7.         xor     ebx,ebx
    8.         lea     esi,[.sText]
    9.        
    10.     .Loop:
    11.        
    12.                                             ;   Temperature info
    13.         xor     eax,eax
    14.         xor     ecx,ecx
    15.        
    16.         mov     edx,6049h                       ;!!! 6000h -base port address for my machine, you should scan PCI for get it
    17.         in      al,dx
    18.         bswap   eax
    19.        
    20.         sub     edx,49h-1fh
    21.         in      al,dx
    22.        
    23.         shr     al,2
    24.         rol     eax,2
    25.         mov     cl,al
    26.        
    27.         push    ecx
    28.         fld     [.d0427]
    29.         fld     st
    30.         fld     st
    31.        
    32.         fimul   dword [esp]
    33.         fsub    [.d3208]
    34.         fistp   dword [esp]
    35.        
    36.         inc     edx
    37.         inc     edx
    38.         in      al,dx
    39.         shr     al,2
    40.         rol     al,2
    41.         mov     cl,al
    42.        
    43.         push    ecx
    44.         fimul   dword [esp]
    45.         fsub    [.d3208]
    46.         fistp   dword [esp]
    47.        
    48.         xor     eax,eax
    49.        
    50.         dec     edx
    51.         in      al,dx
    52.        
    53.         shl     eax,6
    54.        
    55.         add     edx,4bh-20h
    56.         in      al,dx
    57.        
    58.         shr     eax,6
    59.        
    60.         push    eax
    61.         fimul   dword [esp]
    62.         fsub    [.d3208]
    63.         fistp   dword [esp]
    64.        
    65.         invoke  wsprintf,esi,.sFmtTemp
    66.         add     esp,4*5
    67.        
    68.         invoke  SendMessage,[hTemp],WM_SETTEXT,ebx,esi
    69.        
    70.                                         ;   Voltage info
    71.         push    eax
    72.         fnstcw  [esp]
    73.         or      byte [esp+1],1100b
    74.         fldcw   [esp]
    75.        
    76.         push    5
    77.         pop     ecx
    78.        
    79.         mov     edx,6023h
    80.        
    81.     .NextVoltage:
    82.         xor     eax,eax
    83.         in      al,dx
    84.         imul    eax,25
    85.         add     eax,133
    86.        
    87.         push    eax
    88.         push    eax
    89.         fld     [.dVFactor+ecx*4-4]
    90.         fimul   dword [esp]
    91.         fld     st
    92.         frndint
    93.         fsub    st1,st
    94.         fistp   dword [esp]
    95.         fimul   [.d100]
    96.         fistp   dword [esp+4]
    97.         inc     edx
    98.         dec     ecx
    99.         jnz     .NextVoltage
    100.        
    101.         invoke  wsprintf,esi,.sFmtVoltage
    102.         add     esp,2*4+(2*4*5)
    103.        
    104.         invoke  SendMessage,[hVoltage],WM_SETTEXT,ebx,esi
    105.        
    106.         and     byte [esp+1],not 1100b
    107.         fldcw   [esp]
    108.         pop     eax
    109.        
    110.                                         ;   Fan info
    111.        
    112.         xor     eax,eax
    113.         mov     edx,602ah
    114.         in      al,dx
    115.         shl     eax,1
    116.        
    117.         push    eax
    118.         jz      .NextFan
    119.        
    120.         fild    [.d1350k]
    121.         fidiv   dword [esp]
    122.         fistp   dword [esp]
    123.        
    124.     .NextFan:
    125.         dec     edx
    126.         in      al,dx
    127.         shl     eax,1
    128.        
    129.         push    eax
    130.         jz      .PrintFan
    131.        
    132.         fild    [.d1350k]
    133.         fidiv   dword [esp]
    134.         fistp   dword [esp]
    135.        
    136.     .PrintFan:
    137.         invoke  wsprintf,esi,.sFmtFan
    138.         add     esp,4*4
    139.        
    140.         invoke  SendMessage,[hFan],WM_SETTEXT,ebx,esi
    141.        
    142.         invoke  Sleep,5000
    143.         jmp     .Loop
    144.    
    145.     .sFmtTemp           db 'CPU:',09h,'%i',0b0h,'C',0ah,\
    146.                            'Temp1:',09h,'%i',0b0h,'C',0ah,\
    147.                            'Temp2:',09h,'%i',0b0h,'C',0
    148.    
    149.     .sFmtVoltage            db 'Vccp:',09h,'%i.%iV',0ah,\
    150.                            '+2.5V:',09h,'%i.%iV',0ah,\
    151.                            '+3.3V:',09h,'%i.%iV',0ah,\
    152.                            '+5V:',09h,'%i.%iV',0ah,\
    153.                            '+12V:',09h,'%i.%iV',0h
    154.    
    155.     .sFmtFan                db 'CPU:',09h,'%i rpm',09h,\
    156.                            'Fan1:',09h,'%i rpm',00
    157.        
    158.     .d3208              dd 32.08
    159.     .d0427              dd 0.427
    160.     .d1350k             dd 1350000
    161.     .d100               dd 100
    162.     .dVFactor           dd 4.7564e-4,4.7564e-4,6.3545e-4,9.8935e-4,2.3973e-3
    163.  
    164.    
    165. endp
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Такой рулезный код нужно было писать в аттач.

    Если есть полностью программа залей ее пж-та, так народу проще.
     
  3. MSKZ

    MSKZ New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    47
    Это ViaTEMP сам же её мне предложил ;)