Subversion Repositories Kolibri OS

Rev

Rev 2325 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2325 Rev 6088
1
use32
1
use32
2
 
2
 
3
db 'MENUET01'
3
db 'MENUET01'
4
dd 1
4
dd 1
5
dd start
5
dd start
6
dd i_end
6
dd i_end
7
dd mem
7
dd mem
8
dd mem
8
dd mem
9
dd cmdline
9
dd cmdline
10
dd path
10
dd path
11
 
11
 
-
 
12
SRV_CMDLINE equ 4
-
 
13
 
12
start:
14
start:
13
           mov eax, 68
15
       mov  eax, 68
14
           mov ebx, 16
16
       mov  ebx, 16
15
           mov ecx, sz_display
17
       mov  ecx, sz_display
16
           int 0x40
18
       int  0x40
17
           test eax, eax
19
       test eax, eax
18
           jnz .done             ; FIXME parse command line and
20
       jz   .load
-
 
21
 
-
 
22
       xor  ebx, ebx
-
 
23
 
-
 
24
       push ebx            ;.out_size
19
                                 ;       call service
25
       push ebx            ;.output
-
 
26
       push 4              ;.inp_size
20
 
27
       push cmdline        ;.input
-
 
28
       push SRV_CMDLINE    ;.code
-
 
29
       push eax            ;.handle
-
 
30
 
-
 
31
       mov  eax, 68
-
 
32
       mov  ebx, 17
-
 
33
       mov  ecx, esp        ;[ioctl]
-
 
34
       int  0x40
-
 
35
 
-
 
36
       mov  eax, -1
-
 
37
       int  0x40
-
 
38
 
-
 
39
.load:
21
	   xor eax, eax
40
       xor  eax, eax
22
	   mov ecx, 1024
41
       mov  ecx, 1024
23
	   mov edi, path
42
       mov  edi, path
24
	   cld
43
	   cld
25
	   repne scasb
44
	   repne scasb
26
	   dec edi
45
       dec  edi
27
	   mov [edi], dword '.dll'
46
       mov  [edi], dword '.dll'
28
	   mov [edi+4], al
47
       mov  [edi+4], al
29
	   mov eax, 68
48
       mov  eax, 68
30
	   mov ebx, 21
49
       mov  ebx, 21
31
	   mov ecx, path
50
       mov  ecx, path
32
	   mov edx, cmdline
51
       mov  edx, cmdline
33
	   int 0x40
52
       int  0x40
34
.done:
53
 
35
	   mov eax, -1
54
       mov  eax, -1
36
	   int 0x40
55
       int  0x40
37
 
56
 
38
sz_display db 'DISPLAY',0
57
sz_display db 'DISPLAY',0
39
 
58
 
40
align 4
59
align 4
41
i_end:
60
i_end:
42
cmdline  rb 256
61
cmdline  rb 256
43
path	 rb 1024
62
path	 rb 1024
44
	 rb 16	   ; stack
63
	 rb 16	   ; stack
45
mem:
64
mem: