Rev 8791 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8791 | turbocat | 1 | format binary as "kex" |
2 | |||
3 | use32 |
||
4 | org 0x0 |
||
5 | db 'MENUET01' |
||
6 | dd 0x01 |
||
7 | dd START |
||
8 | dd IM_END |
||
9 | dd MEM |
||
10 | dd MEM |
||
11 | dd 0 |
||
12 | dd 0 |
||
13 | |||
14 | include '../../../../macros.inc' |
||
15 | include '../../../../proc32.inc' |
||
16 | include '../../../../KOSfuncs.inc' |
||
17 | include '../../../../dll.inc' |
||
18 | include '../mtar.inc' |
||
19 | ;include '../../../../debug-fdo.inc' |
||
20 | |||
21 | ;__DEBUG__ = 1 |
||
22 | ;__DEBUG_LEVEL__ = 2 |
||
23 | |||
24 | START: |
||
25 | stdcall dll.Load, @IMPORT ; Имортироуем функции из mtar.obj |
||
26 | test eax, eax |
||
27 | jnz exit |
||
28 | |||
29 | ccall [mtar_init] ; Инициализируем библиотеку (на самом деле подгружается libc.obj |
||
30 | ccall [mtar_open], tar, tar_fname, tar_fmode ; Создаём новый файл 'test.tar' |
||
31 | ccall [mtar_write_file_header], tar, test1_txt , str1_len ; Создаём внутри 'test.tar' пустрой файл 'test1.txt' |
||
32 | |||
33 | ccall [mtar_write_data], tar, str1, str1_len ; Записываем данныев в этот файл |
||
34 | |||
35 | ccall [mtar_finalize], tar ; Указываем что больше с tar работать не будем |
||
36 | ccall [mtar_close], tar ; Закрываем 'test.tar' |
||
37 | |||
38 | exit: |
||
39 | mcall SF_TERMINATE_PROCESS ; Выходим из программы |
||
40 | |||
41 | ; data |
||
42 | |||
43 | str1 db 'Hello world!', 0 |
||
44 | str1_len = $ - str1 |
||
45 | |||
46 | str2 db 'Goodbye world!', 0 |
||
47 | |||
48 | tar_fname db 'test.tar', 0 |
||
49 | tar_fmode db 'w', 0 |
||
50 | |||
51 | test1_txt db 'test1.txt', 0 |
||
52 | |||
53 | tar rb 32 |
||
54 | |||
55 | align 4 |
||
56 | |||
57 | @IMPORT: |
||
58 | library mtar, 'mtar.obj' |
||
59 | import mtar, \ |
||
60 | mtar_init, 'mtar_init', \ |
||
61 | mtar_open, 'mtar_open', \ |
||
62 | mtar_write_file_header, 'mtar_write_file_header', \ |
||
63 | mtar_write_data, 'mtar_write_data', \ |
||
64 | mtar_finalize, 'mtar_finalize', \ |
||
8839 | leency | 65 | mtar_close, 'mtar_close' |
8791 | turbocat | 66 | |
67 | IM_END: |
||
68 | align 4 |
||
69 | rb 4096 ; stack |
||
70 | MEM: |