Subversion Repositories Kolibri OS

Rev

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