Subversion Repositories Kolibri OS

Rev

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: