Rev 783 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
717 | mikedld | 1 | |
2 | mov esi,[import_table] |
||
3 | .next_lib: mov edx,[esi] |
||
4 | or edx,edx |
||
5 | jz .exit |
||
6 | push esi |
||
7 | mov esi,[esi+4] |
||
8 | mov edi,s_libdir.fname |
||
9 | @@: lodsb |
||
10 | stosb |
||
11 | or al,al |
||
12 | jnz @b |
||
13 | mcall 68,19,s_libdir |
||
14 | or eax,eax |
||
15 | jz .fail |
||
16 | stdcall dll.Link,eax,edx |
||
17 | push eax |
||
1102 | diamond | 18 | mov eax, [eax] |
19 | cmp dword [eax], 'lib_' |
||
20 | pop eax |
||
21 | jnz @f |
||
22 | stdcall dll.Init,[eax+4] |
||
717 | mikedld | 23 | @@: |
1102 | diamond | 24 | pop esi |
717 | mikedld | 25 | add esi,8 |
26 | jmp .next_lib |
||
27 | .exit: xor eax,eax |
||
28 | ret |
||
29 | .fail: add esp,4 |
||
30 | xor eax,eax |
||
31 | inc eax |
||
32 | ret |
||
33 | endp |
||
34 | |||
35 | |||
36 | push eax |
||
37 | mov esi,[imp] |
||
38 | test esi,esi |
||
39 | jz .done |
||
40 | .next: lodsd |
||
41 | test eax,eax |
||
42 | jz .done |
||
43 | stdcall dll.GetProcAddress,[exp],eax |
||
44 | or eax,eax |
||
45 | jz @f |
||
46 | mov [esi-4],eax |
||
47 | jmp .next |
||
48 | @@: mov dword[esp],0 |
||
49 | .done: pop eax |
||
50 | ret |
||
51 | endp |
||
52 | |||
53 | |||
54 | pushad |
||
55 | mov eax,mem.Alloc |
||
56 | mov ebx,mem.Free |
||
57 | mov ecx,mem.ReAlloc |
||
58 | mov edx,dll.Load |
||
59 | stdcall [dllentry] |
||
60 | popad |
||
61 | ret |
||
62 | endp |
||
63 | |||
64 | |||
65 | mov edx,[exp] |
||
66 | xor eax,eax |
||
783 | mikedld | 67 | .next: or edx,edx |
68 | jz .end |
||
69 | cmp dword[edx],0 |
||
70 | jz .end |
||
717 | mikedld | 71 | stdcall strcmp,[edx],[sz_name] |
72 | test eax,eax |
||
73 | jz .ok |
||
74 | add edx,8 |
||
75 | jmp .next |
||
76 | .ok: mov eax,[edx+4] |
||
77 | .end: ret |
||
78 | endp |
||
79 | |||
80 | |||
81 | push esi edi |
||
82 | mov esi,[str1] |
||
83 | mov edi,[str2] |
||
84 | xor eax,eax |
||
85 | @@: lodsb |
||
86 | scasb |
||
87 | jne .fail |
||
88 | or al,al |
||
89 | jnz @b |
||
90 | jmp .ok |
||
91 | .fail: or eax,-1 |
||
92 | .ok: pop edi esi |
||
93 | ret |
||
94 | endp |
||
95 | |||
96 | |||
97 | db '/sys/lib/' |
||
98 | .fname rb 32 |
||
99 |