Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
205 heavyiron 1
;
341 heavyiron 2
;   RDsave для Kolibri (0.6.5.0 и старше)
1649 diamond 3
;   Save RAM disk to a hard or floppy drive
1606 mario79 4
;
5
; version:	1.3
6
; last update:  08/09/2010
7
; written by:   Marat Zakiyanov aka Mario79, aka Mario
8
; changes:      select path with OpenDialog,
9
;               keys 1,2,3,4 for select options
10
;---------------------------------------------------------------------
205 heavyiron 11
;   Mario79 2005
341 heavyiron 12
;   Heavyiron 12.02.2007
1070 Lrz 13
;        11.05.2009 - для работы нужна системная библиотека box_lib.obj
341 heavyiron 14
;   Компилировать FASM'ом
15
;
16
;---------------------------------------------------------------------
205 heavyiron 17
include 'lang.inc'
1702 Lrz 18
include '../../../config.inc'		;for nightbuild
485 heavyiron 19
include '..\..\..\macros.inc'
205 heavyiron 20
 
21
appname equ 'RDsave '
1606 mario79 22
version equ '1.3'
341 heavyiron 23
 
1606 mario79 24
use32 	     ; включить 32-битный режим ассемблера
25
org	 0x0	     ; адресация с нуля
205 heavyiron 26
 
1606 mario79 27
	db 'MENUET01'  ; 8-байтный идентификатор MenuetOS
28
	dd 0x01	     ; версия заголовка (всегда 1)
29
	dd START	     ; адрес первой команды
30
	dd IM_END	     ; размер программы
31
	dd I_END	     ; количество памяти
32
	dd stacktop     ; адрес вершины стэка
33
	dd 0x0	     ; адрес буфера для параметров (не используется)
34
	dd cur_dir_path
205 heavyiron 35
 
1070 Lrz 36
;include '..\..\..\develop\examples\editbox\trunk\editbox.inc'
1111 Lrz 37
include '../../../develop/libraries/box_lib/load_lib.mac'
1373 IgorA 38
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
1070 Lrz 39
	@use_library
40
 
41
;use_edit_box
1228 Lrz 42
;al equ eax      ; \ decrease kpack'ed size
43
;purge mov       ; /
205 heavyiron 44
 
341 heavyiron 45
;---------------------------------------------------------------------
46
;---  НАЧАЛО ПРОГРАММЫ  ----------------------------------------------
47
;---------------------------------------------------------------------
1070 Lrz 48
align 4
49
START:
1606 mario79 50
	mcall	68,11
51
 
52
load_libraries l_libs_start,end_l_libs
53
 
1373 IgorA 54
	cmp	eax,-1
55
	jz	close
205 heavyiron 56
 
1606 mario79 57
	mov	edi,filename_area
58
	mov	esi,start_temp_file_name
59
	xor	eax,eax
60
	cld
61
@@:
62
	lodsb
63
	stosb
64
	test	eax,eax
65
	jnz	@b
1228 Lrz 66
 
1606 mario79 67
 
68
	mov	edi,fname_buf
69
	mov	esi,path4
70
	xor	eax,eax
71
	cld
72
@@:
73
	lodsb
74
	stosb
75
	test	eax,eax
76
	jnz	@b
77
 
78
;OpenDialog	initialisation
79
	push    dword OpenDialog_data
80
	call    [OpenDialog_Init]
81
 
82
; prepare for PathShow
83
	push	dword PathShow_data_1
84
	call	[PathShow_prepare]
85
 
86
	mcall	40,100111b
1373 IgorA 87
red:			; перерисовать окно
1606 mario79 88
	mcall	48,3,sc,sizeof.system_colors
205 heavyiron 89
 
1606 mario79 90
	call	draw_window	; вызываем процедуру отрисовки окна
341 heavyiron 91
;---------------------------------------------------------------------
92
;---  ЦИКЛ ОБРАБОТКИ СОБЫТИЙ  ----------------------------------------
93
;---------------------------------------------------------------------
94
still:
1606 mario79 95
	mcall 10
205 heavyiron 96
 
1606 mario79 97
	dec	eax	 ; перерисовать окно?
98
	jz	red	 ; если да - на метку red
99
	dec	eax
100
	jz	key
101
	dec	eax
102
	jz	button
205 heavyiron 103
 
1373 IgorA 104
	jmp	still
1606 mario79 105
;---------------------------------------------------------------------
341 heavyiron 106
button:
1606 mario79 107
	mcall	17	; получить идентификатор нажатой кнопки
108
	cmp	ah,1		 ; кнопка с id=1("закрыть")?
109
	jne	noclose
1070 Lrz 110
close:
1606 mario79 111
	or	 eax,-1 	 ; функция -1: завершить программу
112
	mcall
205 heavyiron 113
 
341 heavyiron 114
noclose:
1373 IgorA 115
	push	eax
116
	call	clear_err
117
	pop	eax
118
	push	16
1606 mario79 119
	xor	ebx,ebx
1373 IgorA 120
	inc	ebx	; 16.1 = save to /FD/1
1606 mario79 121
	cmp	ah,2
1373 IgorA 122
	je	doit
123
	inc	ebx	; 16.2 = save to /FD/2
1606 mario79 124
	cmp	ah,3
1373 IgorA 125
	je	doit
126
	pop	ebx
127
	push	18
1606 mario79 128
	mov	bl,6	; 18.6 = save to specified folder
1373 IgorA 129
	mov	ecx, path3
1606 mario79 130
	cmp	ah,4
1373 IgorA 131
	je	doit
1606 mario79 132
 
133
; invoke OpenDialog
134
	push    dword OpenDialog_data
135
	call    [OpenDialog_Start]
136
	cmp	[OpenDialog_data.status],1
137
	jne	still
138
 
139
; prepare for PathShow
140
	push	dword PathShow_data_1
141
	call	[PathShow_prepare]
142
 
143
	call	draw_PathShow
144
 
145
	mov	ecx,fname_buf ;path4
532 diamond 146
doit:
1373 IgorA 147
	pop	eax
148
	mcall
149
	call	check_for_error
150
	jmp	still
1606 mario79 151
;---------------------------------------------------------------------
152
key:
153
	mcall	2
154
	cmp	ah,0x31
155
	jb	still
156
	cmp	ah,0x34
157
	ja	still
158
	sub	ah,0x30
159
	inc	ah
160
	jmp	noclose
161
;---------------------------------------------------------------------
1373 IgorA 162
check_for_error:		      ;Обработчик ошибок
1606 mario79 163
	mov	ecx,[sc.work_text]
164
	mov	edx,ok
165
	test	eax,eax
1373 IgorA 166
	jz	print
1606 mario79 167
	mov	ecx,0xdd2222
168
	add	edx,error3 - ok
1373 IgorA 169
	dec	eax
170
	dec	eax
171
	jz	print
1606 mario79 172
	add	edx,error5 - error3
1373 IgorA 173
	dec	eax
174
	dec	eax
175
	jz	print
1606 mario79 176
	add	edx,error8 - error5
1373 IgorA 177
	dec	eax
178
	dec	eax
179
	dec	eax
180
	jz	print
1606 mario79 181
	add	edx,error9 - error8
1373 IgorA 182
	dec	eax
183
	jz	print
1606 mario79 184
	add	edx,error10 - error9
1373 IgorA 185
	dec	eax
186
	jz	print
1606 mario79 187
	add	edx,error11 - error10
1373 IgorA 188
	dec	eax
189
	jz	print
1606 mario79 190
	add	edx,aUnknownError - error11
191
print:
192
	mov	eax,4				   ;надписи
193
	mov	ebx,20 shl 16 + 148
194
	or	ecx,0x80000000
195
	mcall
196
	ret
197
;---------------------------------------------------------------------
341 heavyiron 198
clear_err:
1606 mario79 199
	mov	eax,13
200
	mov	ebx,15 shl 16 + 240
201
	mov	ecx,145 shl 16 +15
202
	mov	edx,[sc.work]
203
	mcall
204
	ret
341 heavyiron 205
;---------------------------------------------------------------------
1606 mario79 206
draw_PathShow:
207
	pusha
208
	mcall	13,<8,172>,<110,15>,0xffffff
209
; draw for PathShow
210
	push	dword PathShow_data_1
211
	call	[PathShow_draw]
212
	popa
213
	ret
214
;---------------------------------------------------------------------
341 heavyiron 215
;---  ОПРЕДЕЛЕНИЕ И ОТРИСОВКА ОКНА  ----------------------------------
216
;---------------------------------------------------------------------
205 heavyiron 217
draw_window:
1606 mario79 218
	mcall	12,1	; функция 12: сообщить ОС об отрисовке окна
219
			; 1 - начинаем рисовать
1373 IgorA 220
					 ; СОЗДАЁМ ОКНО
1606 mario79 221
	xor	eax,eax			 ; функция 0 : определить и отрисовать окно
222
	mov	ebx,200 shl 16 + 300	 ; [x старт] *65536 + [x размер]
223
	mov	ecx,200 shl 16 + 190	 ; [y старт] *65536 + [y размер]
224
	mov	edx,[sc.work]		 ; цвет рабочей области  RRGGBB,8->color gl
225
	or	edx,0x34000000
226
	mov	edi,title			; ЗАГОЛОВОК ОКНА
227
	mcall
205 heavyiron 228
 
1606 mario79 229
	call	draw_PathShow
205 heavyiron 230
 
1606 mario79 231
;отрисовка теней кнопок
232
	mcall	13,<194,60>,<34,15>,0x444444
1070 Lrz 233
 
1606 mario79 234
	add	ecx,20 shl 16
235
	mcall
205 heavyiron 236
 
1606 mario79 237
	add	ecx,20 shl 16
238
	mcall
205 heavyiron 239
 
1606 mario79 240
	add	ecx,40 shl 16
241
	mcall
242
;отрисовка кнопок
243
	sub	ebx,4 shl 16
244
	sub	ecx,4 shl 16
245
	mcall	8,,,5,[sc.work_button]
205 heavyiron 246
 
1606 mario79 247
	sub	ecx,40 shl 16
248
	dec	edx
249
	mcall
205 heavyiron 250
 
1606 mario79 251
	sub	ecx,20 shl 16
252
	dec	edx
253
	mcall
205 heavyiron 254
 
1606 mario79 255
	sub	ecx,20 shl 16
256
	dec	edx
257
	mcall
258
; надписи
259
	mov	ecx,[sc.work_text]
260
	or	ecx,0x80000000
261
	mcall	4,<45,12>,,label1
205 heavyiron 262
 
1606 mario79 263
	mov	ebx,150 shl 16 + 35
264
	mov	edx,path1
265
	mcall
341 heavyiron 266
 
1606 mario79 267
	add	ebx,20
268
	mov	edx,path2
269
	mcall
341 heavyiron 270
 
1606 mario79 271
	mov	ebx,75 shl 16 + 75
272
	mov	edx,path3
273
	mcall
341 heavyiron 274
 
1606 mario79 275
	mov	ebx,30 shl 16 + 97
276
	mov	edx,label2
277
	mcall
341 heavyiron 278
 
1606 mario79 279
	mov	ebx,40 shl 16 + 135
280
	mov	edx,label3
281
	mcall
341 heavyiron 282
 
1606 mario79 283
	mov	ecx,[sc.work_button_text]
284
	or	ecx,0x80000000
285
	mov	ebx,195 shl 16 + 35
286
	mov	edx,save
287
	mcall
341 heavyiron 288
 
1606 mario79 289
	push	edx
290
	mov	edx,key_help
291
	call	key_help_correct
292
	pop	edx
341 heavyiron 293
 
1606 mario79 294
	add ebx,20
295
	mcall
341 heavyiron 296
 
1606 mario79 297
	push	edx
298
	mov	edx,key_help+2
299
	call	key_help_correct
300
	pop	edx
341 heavyiron 301
 
1606 mario79 302
	add ebx,20
303
	mcall
341 heavyiron 304
 
1606 mario79 305
	push	edx
306
	mov	edx,key_help+4
307
	call	key_help_correct
308
	pop	edx
341 heavyiron 309
 
1606 mario79 310
	mov	edx,select
311
	add ebx,40
312
	mcall
341 heavyiron 313
 
1606 mario79 314
	mov	edx,key_help+6
315
	call	key_help_correct
341 heavyiron 316
 
1606 mario79 317
	mcall	12,2	; функция 12: сообщить ОС об отрисовке окна
318
			; 2, закончили рисовать
319
	ret		; выходим из процедуры
341 heavyiron 320
;---------------------------------------------------------------------
1606 mario79 321
key_help_correct:
322
	push	ebx
323
	ror	ebx,16
324
	mov	bx,270
325
	rol	ebx,16
326
	pusha
327
	mov	ecx,ebx
328
	sub	ebx,3 shl 16
329
	mov	bx,13
330
	sub	cx,3
331
	shl	ecx,16
332
	mov	cx,13
333
	mcall	13,,,0xffffff
334
	popa
335
	mcall
336
	pop	ebx
337
	ret
338
;---------------------------------------------------------------------
341 heavyiron 339
;---  ДАННЫЕ ПРОГРАММЫ  ----------------------------------------------
340
;---------------------------------------------------------------------
341
 
1606 mario79 342
title	db appname,version,0
341 heavyiron 343
 
1606 mario79 344
;---------------------------------------------------------------------
345
PathShow_data_1:
346
.type			dd 0	;+0
347
.start_y		dw 113	;+4
348
.start_x		dw 10	;+6
349
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
350
.area_size_x		dw 170	;+10
351
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
352
.background_flag	dd 0	;+16
353
.font_color		dd 0x0	;+20
354
.background_color	dd 0x0	;+24
355
.text_pointer		dd fname_buf	;+28
356
.work_area_pointer	dd text_work_area	;+32
357
.temp_text_length	dd 0	;+36
358
;---------------------------------------------------------------------
205 heavyiron 359
if lang eq ru
1606 mario79 360
save		db 'Сохранить',0
361
select		db ' Выбрать',0
362
label1		db 'Выберите один из вариантов:',0
363
label2		db 'Или выберите полный путь к файлу:',0
364
label3		db 'Все папки должны существовать',0
365
ok		db 'RAM-диск сохранен успешно',0
366
error3		db 'Неизвестная файловая система',0
367
error5		db 'Несуществующий путь',0
368
error8		db 'Нет места на диске',0
369
error9		db 'Таблица FAT разрушена',0
370
error10 	db 'Доступ запрещен',0
371
error11 	db 'Ошибка устройства',0
372
aUnknownError 	db 'Неизвестная ошибка',0
373
;---------------------------------------------------------------------
605 kaitz 374
else if lang eq et
1606 mario79 375
save		db 'Salvesta',0
376
select		db ' Valige',0
377
label1		db 'Vali №ks variantidest:',0
378
label2		db 'Vїi valige teekond failinimeni:',0
379
label3		db 'Kїik kataloogid peavad eksisteerima',0
380
ok		db 'RAM-ketas salvestatud edukalt',0
381
error3		db 'Tundmatu failis№steem',0
382
error5		db 'Vigane teekond',0
383
error8		db 'Ketas tфis',0
384
error9		db 'FAT tabel vigane',0
385
error10 	db 'Juurdepффs keelatud',0
386
error11 	db 'Seadme viga',0
387
aUnknownError 	db 'Tundmatu viga',0
388
;---------------------------------------------------------------------
205 heavyiron 389
else
1606 mario79 390
save		db '  Save',0
391
select		db ' Select',0
392
label1		db 'Select one of the variants:',0
393
label2		db '  Or select full path to file:',0
394
label3		db '    All folders must exist',0
395
ok		db 'RAM-drive was saved successfully',0
396
error3		db 'Unknown file system',0
397
error5		db 'Incorrect path',0
398
error8		db 'Disk is full',0
399
error9		db 'FAT table corrupted',0
400
error10 	db 'Access denied',0
401
error11 	db 'Device error',0
402
aUnknownError 	db 'Unknown error',0
205 heavyiron 403
 
404
end if
1070 Lrz 405
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
406
;DATA данные
407
;Всегда соблюдать последовательность в имени.
1606 mario79 408
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
409
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
1070 Lrz 410
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
205 heavyiron 411
 
1070 Lrz 412
head_f_i:
1373 IgorA 413
head_f_l	db 'System error',0
1606 mario79 414
 
415
err_message_found_lib1	db 'box_lib.obj - Not found!',0
416
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
417
 
418
err_message_import1	db 'box_lib.obj - Wrong import!',0
419
err_message_import2	db 'proc_lib.obj - Wrong import!',0
420
 
421
;---------------------------------------------------------------------
422
l_libs_start:
423
 
424
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
425
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
426
 
427
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
428
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
429
 
430
end_l_libs:
431
;---------------------------------------------------------------------
432
OpenDialog_data:
433
.type			dd 1	; Save
434
.procinfo		dd procinfo	;+4
435
.com_area_name		dd communication_area_name	;+8
436
.com_area		dd 0	;+12
437
.opendir_pach		dd temp_dir_pach	;+16
438
.dir_default_pach	dd communication_area_default_pach	;+20
439
.start_path		dd open_dialog_path	;+24
440
.draw_window		dd draw_window	;+28
441
.status			dd 0	;+32
442
.openfile_pach 		dd fname_buf	;+36
443
.filename_area		dd filename_area	;+40
444
.filter_area		dd Filter
445
.x:
446
.x_size			dw 420 ;+48 ; Window X size
447
.x_start		dw 10 ;+50 ; Window X position
448
.y:
449
.y_size			dw 320 ;+52 ; Window y size
450
.y_start		dw 10 ;+54 ; Window Y position
451
 
452
communication_area_name:
453
	db 'FFFFFFFF_open_dialog',0
454
open_dialog_path:
1702 Lrz 455
if __nightbuild eq yes
456
    db '/sys/MANAGERS/opendial',0
457
else
458
    db '/sys/File Managers/opendial',0
459
end if
1606 mario79 460
communication_area_default_pach:
461
	db '/hd0/1/kolibri',0
462
 
463
Filter:
1608 mario79 464
dd	Filter.end - Filter
1606 mario79 465
.1:
466
db	'IMG',0
467
db	'IMA',0
468
.end:
469
db	0
470
 
471
start_temp_file_name:	db 'kolibri.img',0
472
 
473
;---------------------------------------------------------------------
1070 Lrz 474
align 4
1606 mario79 475
ProcLib_import:
476
OpenDialog_Init		dd aOpenDialog_Init
477
OpenDialog_Start	dd aOpenDialog_Start
478
;OpenDialog__Version	dd aOpenDialog_Version
479
        dd      0
480
        dd      0
481
aOpenDialog_Init	db 'OpenDialog_init',0
482
aOpenDialog_Start	db 'OpenDialog_start',0
483
;aOpenDialog_Version	db 'Version_OpenDialog',0
484
;---------------------------------------------------------------------
485
align 4
486
Box_lib_import:
487
;init_lib		dd a_init
488
;version_lib		dd a_version
485 heavyiron 489
 
1070 Lrz 490
 
1606 mario79 491
;edit_box_draw		dd aEdit_box_draw
492
;edit_box_key		dd aEdit_box_key
493
;edit_box_mouse		dd aEdit_box_mouse
494
;version_ed		dd aVersion_ed
1070 Lrz 495
 
1606 mario79 496
;check_box_draw		dd aCheck_box_draw
497
;check_box_mouse	dd aCheck_box_mouse
498
;version_ch		dd aVersion_ch
1070 Lrz 499
 
1606 mario79 500
;option_box_draw	dd aOption_box_draw
501
;option_box_mouse	dd aOption_box_mouse
502
;version_op		dd aVersion_op
1070 Lrz 503
 
1606 mario79 504
;scrollbar_ver_draw	dd aScrollbar_ver_draw
505
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
506
;scrollbar_hor_draw	dd aScrollbar_hor_draw
507
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
508
;version_scrollbar	dd aVersion_scrollbar
1070 Lrz 509
 
1606 mario79 510
;dinamic_button_draw	dd aDbutton_draw
511
;dinamic_button_mouse	dd aDbutton_mouse
512
;version_dbutton	dd aVersion_dbutton
513
 
514
;menu_bar_draw		dd aMenu_bar_draw
515
;menu_bar_mouse		dd aMenu_bar_mouse
516
;menu_bar_activate	dd aMenu_bar_activate
517
;version_menu_bar	dd aVersion_menu_bar
518
 
519
;FileBrowser_draw	dd aFileBrowser_draw
520
;FileBrowser_mouse	dd aFileBrowser_mouse
521
;FileBrowser_key	dd aFileBrowser_key
522
;Version_FileBrowser	dd aVersion_FileBrowser
523
 
524
PathShow_prepare	dd sz_PathShow_prepare
525
PathShow_draw		dd sz_PathShow_draw
526
;Version_path_show	dd szVersion_path_show
527
			dd 0
528
			dd 0
529
 
530
;a_init			db 'lib_init',0
531
;a_version		db 'version',0
532
 
533
;aEdit_box_draw		db 'edit_box',0
534
;aEdit_box_key		db 'edit_box_key',0
535
;aEdit_box_mouse	db 'edit_box_mouse',0
536
;aVersion_ed		db 'version_ed',0
537
 
538
;aCheck_box_draw	db 'check_box_draw',0
539
;aCheck_box_mouse	db 'check_box_mouse',0
540
;aVersion_ch		db 'version_ch',0
541
 
542
;aOption_box_draw	db 'option_box_draw',0
543
;aOption_box_mouse	db 'option_box_mouse',0
544
;aVersion_op		db 'version_op',0
545
 
546
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
547
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
548
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
549
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
550
;aVersion_scrollbar	db 'version_scrollbar',0
551
 
552
;aDbutton_draw		db 'dbutton_draw',0
553
;aDbutton_mouse		db 'dbutton_mouse',0
554
;aVersion_dbutton	db 'version_dbutton',0
555
 
556
;aMenu_bar_draw		db 'menu_bar_draw',0
557
;aMenu_bar_mouse		db 'menu_bar_mouse',0
558
;aMenu_bar_activate	db 'menu_bar_activate',0
559
;aVersion_menu_bar	db 'version_menu_bar',0
560
 
561
;aFileBrowser_draw	db 'FileBrowser_draw',0
562
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
563
;aFileBrowser_key	db 'FileBrowser_key',0
564
;aVersion_FileBrowser	db 'version_FileBrowser',0
565
 
566
sz_PathShow_prepare	db 'PathShow_prepare',0
567
sz_PathShow_draw	db 'PathShow_draw',0
568
;szVersion_path_show	db 'version_PathShow',0
569
;---------------------------------------------------------------------
570
 
1373 IgorA 571
path1	db '/fd/1/',0
572
path2	db '/fd/2/',0
573
path3	db '/hd0/1/kolibri.img',0
574
path4	db '/hd0/1/kolibri/kolibri.img',0  ;для резервного сохранения
485 heavyiron 575
;---------------------------------------------------------------------
1606 mario79 576
key_help:
577
	db '1',0
578
	db '2',0
579
	db '3',0
580
	db '4',0
581
;---------------------------------------------------------------------
582
IM_END:
583
;---------------------------------------------------------------------
485 heavyiron 584
sc     system_colors
1214 Lrz 585
mouse_dd	rd 1
1606 mario79 586
;---------------------------------------------------------------------
587
cur_dir_path:
588
	rb 4096
589
;---------------------------------------------------------------------
590
library_path:
591
	rb 4096
592
;---------------------------------------------------------------------
593
temp_dir_pach:
594
	rb 4096
595
;---------------------------------------------------------------------
596
fname_buf:
597
	rb 4096
598
;---------------------------------------------------------------------
599
procinfo:
600
	rb 1024
601
;---------------------------------------------------------------------
602
filename_area:
603
	rb 256
604
;---------------------------------------------------------------------
605
text_work_area:
606
	rb 1024
607
;---------------------------------------------------------------------
833 Lrz 608
align 4
1606 mario79 609
	rb 4096
610
stacktop:
611
I_END:	; метка конца программы