Subversion Repositories Kolibri OS

Rev

Rev 647 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
647 andrew_pro 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]
7418 siemargl 34
;	siemargl moved to post-check
35
;        test al,al
36
;        jz exit_check_simbol
647 andrew_pro 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:
7418 siemargl 45
        test al,al
46
        jz exit_check_simbol
647 andrew_pro 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