Subversion Repositories Kolibri OS

Rev

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

Rev 551 Rev 1017
Line 463... Line 463...
463
 pop  eax
463
 pop  eax
464
 cmp  eax, 516
464
 cmp  eax, 516
465
 je  cfr002
465
 je  cfr002
Line 466... Line 466...
466
   
466
   
467
 ; Write the file
467
 ; Write the file
468
 mov  eax, 33
468
	mov	ebx, writeinfo
-
 
469
	lea	esi, [ebx + 20]
-
 
470
@@:
469
 mov  ebx, source
471
	lodsb
-
 
472
	test	al, al
-
 
473
	jnz	@b
-
 
474
@@:
470
 mov  edx, [filesize]
475
	dec	esi
-
 
476
	cmp	byte [esi-1], ' '
471
 mov  ecx, I_END + 512
477
	jnz	@b
472
 mov  esi, 0
478
	mov	byte [esi], 0
-
 
479
	mcall	70, writeinfo
Line 473... Line 480...
473
 mcall
480
	mov	byte [esi], ' '
Line 474... Line 481...
474
   
481
   
475
 jmp  cfrexit
482
 jmp  cfrexit
Line 885... Line 892...
885
   
892
   
Line 886... Line 893...
886
    ret
893
    ret
-
 
894
   
-
 
895
   
-
 
896
; DATA AREA
-
 
897
; file name: source
-
 
898
; file data: I_END + 512
-
 
899
; file size: [filesize]
887
   
900
writeinfo:
-
 
901
	dd	2
-
 
902
	dd	0
888
   
903
	dd	0
889
; DATA AREA
904
filesize dd	0	 ; The number of bytes written / left to write
Line 890... Line 905...
890
   
905
	dd	I_END + 512
891
source	     db  'KERNEL.ASM     '
906
source	     db  'KERNEL.ASM     ',0
Line 898... Line 913...
898
   
913
   
899
addr  dd  0x0
914
addr  dd  0x0
Line 900... Line 915...
900
ya    dd  0x0
915
ya    dd  0x0
901
   
-
 
902
fileposition dd 0 ; Points to the current point in the file
916
   
Line 903... Line 917...
903
filesize  dd 0 ; The number of bytes written / left to write
917
fileposition dd 0 ; Points to the current point in the file
904
fileblocksize dw 0 ; The number of bytes to send in this frame
918
fileblocksize dw 0 ; The number of bytes to send in this frame
905
   
919