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