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 |