Rev 488 | Rev 525 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 488 | Rev 521 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | $Revision: 488 $ |
1 | $Revision: 521 $ |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;; ;; |
3 | ;; ;; |
4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;; ;; |
6 | ;; ;; |
Line 524... | Line 524... | ||
524 | .exit: |
524 | .exit: |
525 | push eax |
525 | push eax |
526 | lea edi, [eax+ebx] ;cleanup remain space |
526 | lea edi, [eax+ebx] ;cleanup remain space |
527 | mov ecx, 4096 ;from file end |
527 | mov ecx, 4096 ;from file end |
528 | and ebx, 4095 |
528 | and ebx, 4095 |
- | 529 | jz @f |
|
529 | sub ecx, ebx |
530 | sub ecx, ebx |
530 | xor eax, eax |
531 | xor eax, eax |
531 | cld |
532 | cld |
532 | rep stosb |
533 | rep stosb |
- | 534 | @@: |
|
533 | mov ebx, [file_size] |
535 | mov ebx, [file_size] |
534 | pop eax |
536 | pop eax |
535 | ret |
537 | ret |
536 | .cleanup: |
538 | .cleanup: |
537 | stdcall kernel_free, [file] |
539 | stdcall kernel_free, [file] |
Line 694... | Line 696... | ||
694 | img_base dd ? |
696 | img_base dd ? |
695 | start dd ? |
697 | start dd ? |
Line 696... | Line 698... | ||
696 | 698 | ||
697 | exports dd ? ;fake exports table |
699 | exports dd ? ;fake exports table |
698 | dd ? |
700 | dd ? |
699 | file_name rb 14+16+4+1 ; '/rd/1/drivers/ |
701 | file_name rb 15+16+4+1 ; '/%sys%/drivers/ |
Line 700... | Line 702... | ||
700 | endl |
702 | endl |
701 | 703 | ||
702 | lea edx, [file_name] |
704 | lea edx, [file_name] |
703 | mov dword [edx], '%sys' |
705 | mov dword [edx], '/%sy' |
704 | mov dword [edx+4], '%/dr' |
706 | mov dword [edx+4], 's%/d' |
705 | mov dword [edx+8], 'iver' |
707 | mov dword [edx+8], 'rive' |
706 | mov word [edx+12], 's/' |
708 | mov dword [edx+12], 'rs/' |
707 | mov esi, [driver_name] |
709 | mov esi, [driver_name] |
708 | lea edi, [edx+14] |
710 | lea edi, [edx+15] |
709 | mov ecx, 16 |
711 | mov ecx, 16 |
710 | @@: |
712 | @@: |
711 | lodsb |
713 | lodsb |