Subversion Repositories Kolibri OS

Rev

Rev 7418 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. format ELF
  2. include '../proc32.inc'
  3. section '.text' executable
  4.  
  5. public _ksys_cofflib_load
  6. public _ksys_cofflib_getproc
  7.  
  8. proc  _ksys_cofflib_load stdcall, name:dword
  9.  
  10.         mov eax, 68
  11.         mov ebx, 19
  12.         mov ecx, [name]
  13.         int 0x40
  14.         ret
  15. endp
  16.  
  17. proc  _ksys_cofflib_getproc stdcall, export:dword,name:dword
  18.  
  19.         mov ebx,[export]
  20.  
  21.         next_name_check:
  22.  
  23.         mov ecx,[ebx]
  24.         test ecx,ecx
  25.         jz end_export
  26.  
  27.         ;cmp export string with name
  28.         mov esi,[name]
  29.         xor edi,edi
  30.         next_simbol_check:
  31.  
  32.         xor eax,eax
  33.         mov al,[ecx]
  34. ;       siemargl moved to post-check
  35. ;        test al,al
  36. ;        jz exit_check_simbol
  37.  
  38.                 xor edx,edx
  39.                 mov dl,[esi]
  40.                 cmp al,dl
  41.                 je simbols_equvalent
  42.                         add edi,1
  43.                         jmp exit_check_simbol
  44.                 simbols_equvalent:
  45.         test al,al
  46.         jz exit_check_simbol
  47.  
  48.                   ;pushad
  49.  
  50.                   ;mov  cl,al
  51.                   ;mov  ebx,1
  52.                   ;mov  eax,63
  53.                   ;int  0x40
  54.  
  55.                   ;popad
  56.  
  57.         add ecx,1
  58.         add esi,1
  59.         jmp next_simbol_check
  60.         exit_check_simbol:
  61.  
  62.         test edi,edi
  63.         jnz function_not_finded
  64.                 mov eax,[ebx+4]
  65.                 jmp end_export
  66.         function_not_finded:
  67.  
  68.         add ebx,8
  69.  
  70.         jmp next_name_check
  71.  
  72.         end_export:
  73.  
  74.         ret
  75. endp
  76.  
  77.