Subversion Repositories Kolibri OS

Rev

Rev 202 | Rev 211 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 202 Rev 206
Line 521... Line 521...
521
           lea eax, [attr]
521
           lea eax, [attr]
522
           stdcall get_fileinfo, [file_name], eax
522
           stdcall get_fileinfo, [file_name], eax
523
           test eax, eax
523
           test eax, eax
524
           jnz .fail
524
           jnz .fail
Line -... Line 525...
-
 
525
 
-
 
526
           mov eax, [file_size]
525
 
527
 
526
           stdcall kernel_alloc, [file_size]
528
           stdcall kernel_alloc, [file_size]
Line 527... Line 529...
527
           mov [file], eax
529
           mov [file], eax
528
 
530
 
Line 672... Line 674...
672
           add [eax], edx
674
           add [eax], edx
673
           add edi, 10
675
           add edi, 10
674
           dec ecx
676
           dec ecx
675
           jnz .next_reloc
677
           jnz .next_reloc
676
.next:
678
.next:
677
           add [sec], 40
679
           add [sec], COFF_SECTION_SIZE
678
           dec [n_sec]
680
           dec [n_sec]
679
           jnz .fix_sec
681
           jnz .fix_sec
680
.exit:
682
.exit:
681
	   ret
683
	   ret
682
endp
684
endp
Line 707... Line 709...
707
           lea edx, [eax+20]
709
           lea edx, [eax+20]
708
@@:
710
@@:
709
           add ebx, [edx+CFS.SizeOfRawData]
711
           add ebx, [edx+CFS.SizeOfRawData]
710
           add ebx, 15
712
           add ebx, 15
711
           and ebx, not 15
713
           and ebx, not 15
712
           add edx, 18
714
           add edx, COFF_SECTION_SIZE
713
           dec ecx
715
           dec ecx
714
           jnz @B
716
           jnz @B
715
           mov [img_size], ebx
717
           mov [img_size], ebx
Line 716... Line 718...
716
 
718
 
Line 745... Line 747...
745
           cld
747
           cld
746
           rep movsb
748
           rep movsb
747
.next:
749
.next:
748
           add edi, 15
750
           add edi, 15
749
           and edi, not 15
751
           and edi, not 15
750
           add eax, 40
752
           add eax, COFF_SECTION_SIZE
751
           dec ebx
753
           dec ebx
752
           jnz @B
754
           jnz @B
Line 753... Line 755...
753
 
755
 
754
           mov ebx, [edx+CFH.pSymTable]
756
           mov ebx, [edx+CFH.pSymTable]
Line 833... Line 835...
833
           lea edx, [eax+20]
835
           lea edx, [eax+20]
834
@@:
836
@@:
835
           add ebx, [edx+CFS.SizeOfRawData]
837
           add ebx, [edx+CFS.SizeOfRawData]
836
           add ebx, 15
838
           add ebx, 15
837
           and ebx, not 15
839
           and ebx, not 15
838
           add edx, 18
840
           add edx, COFF_SECTION_SIZE
839
           dec ecx
841
           dec ecx
840
           jnz @B
842
           jnz @B
841
           mov [img_size], ebx
843
           mov [img_size], ebx
Line 842... Line 844...
842
 
844
 
Line 865... Line 867...
865
           cld
867
           cld
866
           rep movsb
868
           rep movsb
867
.next:
869
.next:
868
           add edi, 15-new_app_base
870
           add edi, 15-new_app_base
869
           and edi, not 15
871
           and edi, not 15
870
           add eax, 40
872
           add eax, COFF_SECTION_SIZE
871
           dec ebx
873
           dec ebx
872
           jnz @B
874
           jnz @B
Line 873... Line 875...
873
 
875
 
874
           mov ebx, [edx+CFH.pSymTable]
876
           mov ebx, [edx+CFH.pSymTable]
Line 892... Line 894...
892
           movzx ebx, [edx+CFH.nSections]
894
           movzx ebx, [edx+CFH.nSections]
893
           mov edi, new_app_base
895
           mov edi, new_app_base
894
           lea eax, [edx+20]
896
           lea eax, [edx+20]
895
@@:
897
@@:
896
           add [eax+CFS.VirtualAddress], edi  ;patch user space offset
898
           add [eax+CFS.VirtualAddress], edi  ;patch user space offset
897
           add eax, 40
899
           add eax, COFF_SECTION_SIZE
898
           dec ebx
900
           dec ebx
899
           jnz @B
901
           jnz @B
Line 900... Line 902...
900
 
902
 
901
           add edx, 20
903
           add edx, 20