Subversion Repositories Kolibri OS

Rev

Rev 3634 | Rev 4270 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
341 heavyiron 1
;   RDsave для Kolibri (0.6.5.0 и старше)
4213 heavyiron 2
;   Save RAM-disk to hard or floppy drive
1606 mario79 3
;---------------------------------------------------------------------
205 heavyiron 4
;   Mario79 2005
341 heavyiron 5
;   Heavyiron 12.02.2007
1070 Lrz 6
;        11.05.2009 - для работы нужна системная библиотека box_lib.obj
4213 heavyiron 7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
8
;   Heavyiron 01.12.2013 - new logic
341 heavyiron 9
;---------------------------------------------------------------------
205 heavyiron 10
appname equ 'RDsave '
4213 heavyiron 11
version equ '1.4'
12
debug   equ no
3634 fedesco 13
 
4213 heavyiron 14
use32        ; включить 32-битный режим ассемблера
15
org 0x0      ; адресация с нуля
205 heavyiron 16
 
4213 heavyiron 17
db 'MENUET01'    ; 8-байтный идентификатор MenuetOS
18
dd 0x01          ; версия заголовка (всегда 1)
19
dd START         ; адрес первой команды
20
dd IM_END        ; размер программы
21
dd I_END         ; количество памяти
22
dd stacktop      ; адрес вершины стека
23
dd PARAMS        ; адрес буфера для параметров
24
dd cur_dir_path
205 heavyiron 25
 
4213 heavyiron 26
 
27
include 'lang.inc'
28
include '../../../macros.inc'
29
if debug eq yes
30
include '../../../debug.inc'
31
end if
32
include '../../../proc32.inc'
33
include '../../../dll.inc'
1111 Lrz 34
include '../../../develop/libraries/box_lib/load_lib.mac'
1373 IgorA 35
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
4213 heavyiron 36
include 'str.inc'
1070 Lrz 37
 
4213 heavyiron 38
        @use_library
341 heavyiron 39
;---------------------------------------------------------------------
40
;---  НАЧАЛО ПРОГРАММЫ  ----------------------------------------------
41
;---------------------------------------------------------------------
1070 Lrz 42
align 4
43
START:
4213 heavyiron 44
;---------------------------------------------------------------------
45
        mcall  48,3,sc,sizeof.system_colors
46
        mcall  68,11
1606 mario79 47
 
48
load_libraries l_libs_start,end_l_libs
4213 heavyiron 49
        inc     eax
50
        test    eax,eax
51
        jz      close
1606 mario79 52
 
4213 heavyiron 53
stdcall dll.Init,[init_lib]
205 heavyiron 54
 
4213 heavyiron 55
invoke  ini_get_int,ini_file,asettings,aautoclose,0
56
        mov   [autoclose],eax
57
 
58
        mov   ecx,PARAMS
59
        cmp   byte[ecx], 0
60
        je    no_params
61
        cmp   byte[ecx], 'h'
62
        je    @f
63
        cmp   byte[ecx], 'H'
64
        jne   .no_h
1606 mario79 65
@@:
4213 heavyiron 66
        mov   [hidden],1
67
        jmp   no_params
68
.no_h:
69
        mov   [param],1
70
        mov   ah,2
71
        jmp   noclose
1228 Lrz 72
 
4213 heavyiron 73
no_params:
1606 mario79 74
 
4213 heavyiron 75
invoke  ini_get_str,ini_file,apath,apath,fname_buf,4096,path
1606 mario79 76
 
4213 heavyiron 77
stdcall _lstrcpy,filename_area,start_temp_file_name
1606 mario79 78
 
4213 heavyiron 79
;---------------------------------------------------------------------
80
stdcall _lstrcpy,check_dir,fname_buf
81
        call    check_path
82
        test    eax,eax
83
        jz      path_ok
84
        cmp     eax,6
85
        je      path_ok
86
;---------------------------------------------------------------------
87
if debug eq yes
88
dps 'read_folder_error'
89
newline
90
end if
91
;---------------------------------------------------------------------
92
 
93
stdcall _lstrcpy,fname_buf,communication_area_default_path
94
 
95
        mov     [hidden],0
96
 
97
;OpenDialog     initialisation
98
        push    dword OpenDialog_data
99
        call    [OpenDialog_Init]
100
 
1606 mario79 101
; prepare for PathShow
4213 heavyiron 102
        push    dword PathShow_data_1
103
        call    [PathShow_prepare]
104
        call    draw_window
105
        mov     ah,3
106
        mov     ecx,fname_buf
107
        jmp     noclose
108
;---------------------------------------------------------------------
109
path_ok:
110
;OpenDialog     initialisation
111
        push    dword OpenDialog_data
112
        call    [OpenDialog_Init]
1606 mario79 113
 
4213 heavyiron 114
; prepare for PathShow
115
        push    dword PathShow_data_1
116
        call    [PathShow_prepare]
205 heavyiron 117
 
4213 heavyiron 118
        mcall   40,0x00000027
119
 
120
        cmp     [hidden],1
121
        jne     red
122
        mov     ah,2
123
        mov     ecx,fname_buf
124
        jmp     noclose
125
red:
126
        call    draw_window
341 heavyiron 127
;---------------------------------------------------------------------
128
still:
4213 heavyiron 129
        mcall 10
205 heavyiron 130
 
4213 heavyiron 131
        dec     eax      ; перерисовать окно?
132
        jz      red      ; если да - на метку red
133
        dec     eax
134
        jz      key
135
        dec     eax
136
        jz      button
137
        jmp     still
1606 mario79 138
;---------------------------------------------------------------------
341 heavyiron 139
button:
4213 heavyiron 140
        mcall   17      ; получить идентификатор нажатой кнопки
141
        dec     ah
142
        jz      close
143
        mov     ecx,fname_buf
144
        cmp     ah,1             ; кнопка с id=1("закрыть")?
145
        jne     noclose
1070 Lrz 146
close:
4213 heavyiron 147
        or       eax,-1          ; функция -1: завершить программу
148
        mcall
149
;---------------------------------------------------------------------
150
key:
151
        mcall   2
152
        cmp     ah,0x1b
153
        je      close
154
        mov     ecx,fname_buf
155
        cmp     ah,0x0D
156
        jne     @f
157
        mov     ah,2
158
        jmp     noclose
159
@@:
160
        cmp     ah,9h
161
        jne     still
162
;---------------------------------------------------------------------
341 heavyiron 163
noclose:
4213 heavyiron 164
        push  16
165
        mov   ebx,1
166
        cmp   byte[ecx+1],'f'
167
        je    @f
168
        cmp   byte[ecx+1],'F'
169
        jne   not_fdd
170
@@:
171
        cmp   byte[ecx+4],'1'
172
        jne   @f
173
        cmp   ah,2
174
        je    doit
175
@@:
176
        inc   ebx
177
        cmp   ah,2
178
        je    doit
179
not_fdd:
180
        push  18
181
        mov   ebx,6     ; 18.6 = save to specified folder
182
        cmp   ah,2
183
        je    doit
1606 mario79 184
 
185
; invoke OpenDialog
4213 heavyiron 186
        push    dword OpenDialog_data
187
        call    [OpenDialog_Start]
188
        cmp     [OpenDialog_data.status],1
189
        jne     still
1606 mario79 190
 
191
; prepare for PathShow
4213 heavyiron 192
        push    dword PathShow_data_1
193
        call    [PathShow_prepare]
194
        call    draw_window
195
        mov     ecx,fname_buf
196
        mov     ah,2
197
        jmp     noclose
1606 mario79 198
 
4213 heavyiron 199
doit:
200
        call    save_ini
201
        pop     eax
202
        mcall
203
        call    check_for_error
204
        cmp     [param],1
205
        je      @f
206
        jmp     still
207
@@:
208
        jmp     no_params
1606 mario79 209
 
210
;---------------------------------------------------------------------
4213 heavyiron 211
check_for_error:                      ;Обработчик ошибок
212
stdcall _lstrcpy,check_dir,ok
213
stdcall _lstrcat,check_dir,fname_buf
214
        mov     edx,check_dir
215
        test    eax,eax
216
        jz      print_ok
217
        cmp     ebx,6
218
        je      @f
219
        mov     edx,error11
220
        jmp     print_err
221
@@:
222
        mov     edi, error_msg
223
        cmp     eax, 11
224
        ja      .unknown
225
        mov     esi, [errors+eax*4]
226
@@:
227
        lodsb
228
        stosb
229
        test    al, al
230
        jnz     @b
231
        mov     edx, error_msg
232
        jmp     print_err
233
.unknown:
234
        mov     edx, aUnknownError
235
print_err:
236
        mov   dword [is_notify + 8], edx
237
        mcall 70, is_notify
238
        ret
239
print_ok:
240
        mov   dword [is_notify + 8], edx
241
        mcall 70, is_notify
242
        cmp     [hidden],1
243
        je      close
244
        cmp   [autoclose],0
245
        je   @f
246
        mcall 5,50
247
        jmp   close
248
@@:
249
        ret
1606 mario79 250
;---------------------------------------------------------------------
4213 heavyiron 251
draw_PathShow:
252
        pushad
253
        mcall   13,<15,280>,<32,16>,0xffffff
254
        push    dword PathShow_data_1
255
        call    [PathShow_draw]
256
        popad
257
        ret
1606 mario79 258
;---------------------------------------------------------------------
4213 heavyiron 259
save_ini:
260
        pushad
261
        stdcall _lstrlen,fname_buf
262
        invoke  ini_set_str,ini_file,apath,apath,fname_buf,eax
263
        invoke  ini_set_int,ini_file,asettings,aautoclose,[autoclose]
264
        popad
265
        ret
341 heavyiron 266
;---------------------------------------------------------------------
4213 heavyiron 267
check_path:
268
stdcall _lstrlen,check_dir
269
        mov     edi,check_dir
270
        add     edi,eax
271
@@:
272
        mov     byte [edi],0
273
        dec     edi
274
        cmp     byte [edi],'/'
275
        jne     @b
276
 
277
if debug eq yes
278
dps     'read_folder_name: '
279
        mov     edx,check_dir
280
        call    debug_outstr
281
newline
282
end if
283
        mcall   70,read_folder
284
        ret
1606 mario79 285
;---------------------------------------------------------------------
4213 heavyiron 286
;---  Draw window  ---------------------------------------------------
341 heavyiron 287
;---------------------------------------------------------------------
205 heavyiron 288
draw_window:
4213 heavyiron 289
        mcall   12,1
205 heavyiron 290
 
4213 heavyiron 291
        mov     edx,[sc.work]
292
        or      edx,0x34000000
293
        mcall   0,<200,400>,<200,120>, , ,title
205 heavyiron 294
 
4213 heavyiron 295
;buttons
296
        mcall   8,<198,70>,<68,20>,2,[sc.work_button]
297
        inc     edx
298
        mcall    ,<125,70>,
299
        inc     edx
300
        mcall    ,<300,75>,<30,20>
1070 Lrz 301
 
4213 heavyiron 302
;labels
303
        mov     ecx,[sc.work_button_text]
304
        or      ecx,0x80000000
305
        mcall   4,<134,75>, ,save
306
        mcall    ,<215,75>, ,cansel
307
        mcall    ,<315,36>, ,select
308
 
309
        mov     ecx,[sc.work]
310
        mov     dword [frame_data.font_backgr_color],ecx
311
        push    dword frame_data
312
        call    [Frame_draw]
205 heavyiron 313
 
4213 heavyiron 314
        call    draw_PathShow
205 heavyiron 315
 
4213 heavyiron 316
        mcall   12,2
317
        ret
205 heavyiron 318
 
341 heavyiron 319
;---------------------------------------------------------------------
4213 heavyiron 320
;---  Data  ----------------------------------------------------------
1606 mario79 321
;---------------------------------------------------------------------
205 heavyiron 322
if lang eq ru
4213 heavyiron 323
save            db 'Сохранить',0
324
cansel          db 'Отмена',0
325
select          db 'Изменить',0
326
label1          db ' Образ будет сохранен в: ',0
327
ok              db 'RAM-диск сохранен успешно в ',0
328
error1          db 'Не определена база и/или раздел жёсткого диска',0
329
error2          db 'Функция не поддерживается для данной файловой системы',0
330
error3          db 'Неизвестная файловая система',0
331
error4          db 'Странно... Ошибка 4',0
332
error5          db 'Несуществующий путь',0
333
error6          db 'Файл закончился',0
334
error7          db 'Указатель вне памяти приложения',0
335
error8          db 'Диск заполнен',0
336
error9          db 'Файловая структура разрушена',0
337
error10         db 'Доступ запрещён',0
338
error11         db 'Ошибка устройства',0
339
aUnknownError   db  'Неизвестная ошибка',0
1606 mario79 340
;---------------------------------------------------------------------
605 kaitz 341
else if lang eq et
4213 heavyiron 342
save            db 'Salvesta',0
343
cansel          db 'Cansel',0
344
select          db ' Valige',0
345
label1          db ' RAM-drive will be saved as: ',0
346
ok              db 'RAM-ketas salvestatud edukalt ',0
347
error1          db 'Hard disk base and/or partition not defined',0
348
error2          db 'The file system does not support this function',0
349
error3          db 'Tundmatu failis№steem',0
350
error4          db 'Strange... Error 4',0
351
error5          db 'Vigane teekond',0
352
error6          db 'End of file',0
353
error7          db 'Pointer is outside of application memory',0
354
error8          db 'Ketas tфis',0
355
error9          db 'FAT tabel vigane',0
356
error10         db 'Juurdepффs keelatud',0
357
error11         db 'Seadme viga',0
358
aUnknownError   db 'Tundmatu viga',0
1606 mario79 359
;---------------------------------------------------------------------
3634 fedesco 360
else if lang eq it
4213 heavyiron 361
save            db '  Salva',0
362
cansel          db 'Cansel',0
363
select          db 'Seleziona',0
364
label1          db ' RAM-drive will be saved as: ',0
365
ok              db 'Il RAM-drivet e stato salvato ',0
366
error1          db 'Hard disk base and/or partition not defined',0
367
error2          db 'The file system does not support this function',0
368
error3          db 'Filesystem sconosciuto',0
369
error4          db 'Strange... Error 4',0
370
error5          db 'Percorso non valido',0
371
error6          db 'End of file',0
372
error7          db 'Pointer is outside of application memory',0
373
error8          db 'Disco pieno',0
374
error9          db 'Tabella FAT corrotta',0
375
error10         db 'Accesso negato',0
376
error11         db 'Errore di device',0
377
aUnknownError   db 'Errore sconosciuto',0
3634 fedesco 378
;---------------------------------------------------------------------
205 heavyiron 379
else
4213 heavyiron 380
save            db '  Save',0
381
cansel          db 'Cansel',0
382
select          db ' Select',0
383
label1          db ' RAM-drive will be saved as: ',0
384
ok              db 'RAM-drive was saved successfully in ',0
385
error1          db 'Hard disk base and/or partition not defined',0
386
error2          db 'The file system does not support this function',0
387
error3          db 'Unknown file system',0
388
error4          db 'Strange... Error 4',0
389
error5          db 'Incorrect path',0
390
error6          db 'End of file',0
391
error7          db 'Pointer is outside of application memory',0
392
error8          db 'Disk is full',0
393
error9          db 'File structure is destroyed',0
394
error10         db 'Access denied',0
395
error11         db 'Device error',0
396
aUnknownError   db 'Unknown error',0
205 heavyiron 397
 
398
end if
4213 heavyiron 399
 
400
title   db appname,version,0
401
;---------------------------------------------------------------------
402
errors:
403
        dd      ok
404
        dd      error1
405
        dd      error2
406
        dd      error3
407
        dd      error4
408
        dd      error5
409
        dd      error6
410
        dd      error7
411
        dd      error8
412
        dd      error9
413
        dd      error10
414
        dd      error11
415
;---------------------------------------------------------------------
416
;Lib_DATA
1070 Lrz 417
;Всегда соблюдать последовательность в имени.
4213 heavyiron 418
system_dir_Boxlib       db '/sys/lib/box_lib.obj',0
419
system_dir_ProcLib      db '/sys/lib/proc_lib.obj',0
420
system_dir_libini       db '/sys/lib/libini.obj',0
421
;---------------------------------------------------------------------
1070 Lrz 422
head_f_i:
4213 heavyiron 423
head_f_l        db 'System error',0
1606 mario79 424
 
4213 heavyiron 425
err_message_found_lib1  db 'box_lib.obj - Not found!',0
426
err_message_found_lib2  db 'proc_lib.obj - Not found!',0
427
err_message_found_lib3  db 'libini.obj - Not found!',0
1606 mario79 428
 
4213 heavyiron 429
err_message_import1     db 'box_lib.obj - Wrong import!',0
430
err_message_import2     db 'proc_lib.obj - Wrong import!',0
431
err_message_import3     db 'libini.obj - Wrong import!',0
1606 mario79 432
;---------------------------------------------------------------------
433
l_libs_start:
434
 
435
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
436
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
437
 
438
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
439
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
440
 
4213 heavyiron 441
library03  l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \
442
err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i
443
 
1606 mario79 444
end_l_libs:
445
;---------------------------------------------------------------------
446
OpenDialog_data:
4213 heavyiron 447
.type                   dd 1    ; Save
448
.procinfo               dd procinfo     ;+4
449
.com_area_name          dd communication_area_name      ;+8
450
.com_area               dd 0    ;+12
451
.opendir_path           dd temp_dir_path        ;+16
452
.dir_default_path       dd communication_area_default_path      ;+20
453
.start_path             dd open_dialog_path     ;+24
454
.draw_window            dd draw_window  ;+28
455
.status                 dd 0    ;+32
456
.openfile_pach          dd fname_buf    ;+36
457
.filename_area          dd filename_area        ;+40
458
.filter_area            dd Filter
1606 mario79 459
.x:
4213 heavyiron 460
.x_size                 dw 420 ;+48 ; Window X size
461
.x_start                dw 200 ;+50 ; Window X position
1606 mario79 462
.y:
4213 heavyiron 463
.y_size                 dw 320 ;+52 ; Window y size
464
.y_start                dw 120 ;+54 ; Window Y position
1606 mario79 465
 
466
communication_area_name:
4213 heavyiron 467
        db 'FFFFFFFF_open_dialog',0
1606 mario79 468
open_dialog_path:
1702 Lrz 469
if __nightbuild eq yes
470
    db '/sys/MANAGERS/opendial',0
471
else
472
    db '/sys/File Managers/opendial',0
473
end if
4213 heavyiron 474
communication_area_default_path:
475
        db '/',0
1606 mario79 476
 
477
Filter:
4213 heavyiron 478
dd      Filter.end - Filter
1606 mario79 479
.1:
4213 heavyiron 480
db      'IMG',0
481
db      'IMA',0
1606 mario79 482
.end:
4213 heavyiron 483
db      0
1606 mario79 484
 
4213 heavyiron 485
start_temp_file_name:   db 'kolibri.img',0
1606 mario79 486
 
487
;---------------------------------------------------------------------
1070 Lrz 488
align 4
1606 mario79 489
ProcLib_import:
4213 heavyiron 490
OpenDialog_Init         dd aOpenDialog_Init
491
OpenDialog_Start        dd aOpenDialog_Start
1606 mario79 492
        dd      0
493
        dd      0
4213 heavyiron 494
aOpenDialog_Init        db 'OpenDialog_init',0
495
aOpenDialog_Start       db 'OpenDialog_start',0
1606 mario79 496
;---------------------------------------------------------------------
4213 heavyiron 497
PathShow_data_1:
498
.type                   dd 0    ;+0
499
.start_y                dw 36   ;+4
500
.start_x                dw 20   ;+6
501
.font_size_x            dw 6    ;+8     ; 6 - for font 0, 8 - for font 1
502
.area_size_x            dw 270  ;+10
503
.font_number            dd 0    ;+12    ; 0 - monospace, 1 - variable
504
.background_flag        dd 0    ;+16
505
.font_color             dd 0    ;+20
506
.background_color       dd 0    ;+24
507
.text_pointer           dd fname_buf    ;+28
508
.work_area_pointer      dd text_work_area       ;+32
509
.temp_text_length       dd 0    ;+36
510
;---------------------------------------------------------------------
1606 mario79 511
align 4
3634 fedesco 512
Box_lib_import:
4213 heavyiron 513
;edit_box_draw           dd aEdit_box_draw
514
;edit_box_key            dd aEdit_box_key
515
;edit_box_mouse          dd aEdit_box_mouse
516
;version_ed              dd aVersion_ed
485 heavyiron 517
 
4213 heavyiron 518
PathShow_prepare        dd sz_PathShow_prepare
519
PathShow_draw           dd sz_PathShow_draw
520
Frame_draw              dd sz_Frame_draw
521
                        dd 0
522
                        dd 0
1070 Lrz 523
 
4213 heavyiron 524
;aEdit_box_draw          db 'edit_box',0
525
;aEdit_box_key           db 'edit_box_key',0
526
;aEdit_box_mouse         db 'edit_box_mouse',0
527
;aVersion_ed             db 'version_ed',0
1070 Lrz 528
 
4213 heavyiron 529
sz_PathShow_prepare     db 'PathShow_prepare',0
530
sz_PathShow_draw        db 'PathShow_draw',0
1070 Lrz 531
 
4213 heavyiron 532
sz_Frame_draw           db 'frame_draw',0
533
;szVersion_frame        db 'version_frame',0
534
;---------------------------------------------------------------------
535
frame_data:
536
.type                   dd 0 ;+0
537
.x:
538
.x_size                 dw 374 ;+4
539
.x_start                dw 8 ;+6
540
.y:
541
.y_size                 dw 45 ;+8
542
.y_start                dw 17 ;+10
543
.ext_fr_col             dd 0x888888 ;+12
544
.int_fr_col             dd 0xffffff ;+16
545
.draw_text_flag         dd 1 ;+20
546
.text_pointer           dd label1 ;+24
547
.text_position          dd 0 ;+28
548
.font_number            dd 0 ;+32
549
.font_size_y            dd 9 ;+36
550
.font_color             dd 0x0 ;+40
551
.font_backgr_color      dd 0xdddddd ;+44
552
;---------------------------------------------------------------------
553
align 4
554
libini_import:
555
init_lib     dd a_init
556
ini_get_str  dd aini_get_str
557
ini_get_int  dd aini_get_int
558
ini_set_str  dd aini_set_str
559
ini_set_int  dd aini_set_int
560
             dd 0
561
             dd 0
562
a_init       db 'lib_init',0
563
aini_get_str db 'ini_get_str',0
564
aini_get_int db 'ini_get_int',0
565
aini_set_str db 'ini_set_str',0
566
aini_set_int db 'ini_set_int',0
567
;---------------------------------------------------------------------
1070 Lrz 568
 
4213 heavyiron 569
apath db 'path',0
570
asettings db 'settings',0
571
aautoclose db 'autoclose',0
572
path    db '/hd2/1/kolibri.img',0
573
ini_file db  '/sys/settings/rdsave.ini',0
574
;ini_file db  '/sys/rdsave.ini',0
575
;---------------------------------------------------------------------
576
is_notify:
577
    dd    7, 0, ok, 0, 0
578
    db    "/rd/1/@notify", 0
579
 
580
read_folder:
581
.subfunction    dd 1
582
.start          dd 0
583
.flags          dd 0
584
.size           dd 1
585
.return         dd folder_data
586
                db 0
587
.name:          dd check_dir
1070 Lrz 588
 
4213 heavyiron 589
param dd 0
590
hidden dd 0
591
;---------------------------------------------------------------------
592
IM_END:
593
;---------------------------------------------------------------------
594
align 4
595
PARAMS:
596
       rb 256
597
ini_path:
598
        rb 4096
599
check_dir:
600
        rb 4096
1606 mario79 601
 
4213 heavyiron 602
sc     system_colors
1606 mario79 603
 
4213 heavyiron 604
;mouse_dd  rd 1
1606 mario79 605
 
4213 heavyiron 606
autoclose rd 1
1606 mario79 607
 
4213 heavyiron 608
error_msg rb 128
1606 mario79 609
 
4213 heavyiron 610
folder_data:
611
        rb 304*32+32 ; 9 Kb
1606 mario79 612
;---------------------------------------------------------------------
613
cur_dir_path:
4213 heavyiron 614
        rb 4096
1606 mario79 615
;---------------------------------------------------------------------
616
library_path:
4213 heavyiron 617
        rb 4096
1606 mario79 618
;---------------------------------------------------------------------
4213 heavyiron 619
temp_dir_path:
620
        rb 4096
1606 mario79 621
;---------------------------------------------------------------------
622
fname_buf:
4213 heavyiron 623
        rb 4096
1606 mario79 624
;---------------------------------------------------------------------
625
procinfo:
4213 heavyiron 626
        rb 1024
1606 mario79 627
;---------------------------------------------------------------------
628
filename_area:
4213 heavyiron 629
        rb 256
1606 mario79 630
;---------------------------------------------------------------------
631
text_work_area:
4213 heavyiron 632
        rb 1024
1606 mario79 633
;---------------------------------------------------------------------
4213 heavyiron 634
align 32
635
        rb 4096
1606 mario79 636
stacktop:
4213 heavyiron 637
I_END:  ; метка конца программы