Subversion Repositories Kolibri OS

Rev

Rev 1464 | Rev 1468 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1464 Rev 1467
Line 17... Line 17...
17
include 'mem.inc'
17
include 'mem.inc'
18
include 'dll.inc'
18
include 'dll.inc'
Line 19... Line 19...
19
 
19
 
20
include '../../develop/libraries/box_lib/load_lib.mac'
20
include '../../develop/libraries/box_lib/load_lib.mac'
-
 
21
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
-
 
22
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
Line 21... Line 23...
21
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
23
use_OpenDialog
22
 
24
 
23
min_window_w equ 485 ;¬¨­¨¬ «ì­ ï è¨à¨­  ®ª­ 
25
min_window_w equ 485 ;¬¨­¨¬ «ì­ ï è¨à¨­  ®ª­ 
Line 107... Line 109...
107
    mov dword[txt_tile_type_0],'.bmp' ;¥á«¨ ¢ *.ini ä ©«¥ ­¨ç¥£® ­¥â ¤®¡ ¢«ï¥¬ à áè¨à¥­¨¥ .bmp
109
    mov dword[txt_tile_type_0],'.bmp' ;¥á«¨ ¢ *.ini ä ©«¥ ­¨ç¥£® ­¥â ¤®¡ ¢«ï¥¬ à áè¨à¥­¨¥ .bmp
108
  @@:
110
  @@:
109
  stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
111
  stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
Line 110... Line 112...
110
 
112
 
111
; init bmp file
113
; init bmp file
112
  push dword RGB_TILE_SIZE+300 ;300 - § ¯ á­ë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª  bmp ä ©« 
-
 
113
  call mem.Alloc
114
  stdcall mem.Alloc, dword RGB_TILE_SIZE+300 ;300 - § ¯ á­ë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª  bmp ä ©« 
Line 114... Line 115...
114
  mov [bmp_icon],eax
115
  mov [bmp_icon],eax
115
 
116
 
Line 116... Line 117...
116
  stdcall array_tile_function, tile_00,max_tiles_count,tile_init
117
  stdcall array_tile_function, tile_00,max_tiles_count,tile_init
117
  stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
-
 
118
 
118
  stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
Line 119... Line 119...
119
  push dword TREE_ICON_SYS16_BMP_SIZE
119
 
120
  call mem.Alloc
-
 
121
  mov [tree_sys_icon],eax
120
  stdcall mem.Alloc, dword TREE_ICON_SYS16_BMP_SIZE
Line 122... Line 121...
122
 
121
  mov [tree_sys_icon],eax
123
  push dword TREE_ICON_NOD16_BMP_SIZE
122
 
124
  call mem.Alloc
123
  stdcall mem.Alloc, dword TREE_ICON_NOD16_BMP_SIZE
Line 171... Line 170...
171
  edit_boxes_set_sys_color edit1,editboxes_end,sc
170
  edit_boxes_set_sys_color edit1,editboxes_end,sc
172
  check_boxes_set_sys_color ch1,checkboxes_end,sc
171
  check_boxes_set_sys_color ch1,checkboxes_end,sc
Line 173... Line 172...
173
 
172
 
Line -... Line 173...
-
 
173
  mov byte[file_name],0
-
 
174
 
-
 
175
  ; OpenDialog initialisation
-
 
176
  init_OpenDialog OpenDialog_data
174
  mov byte[file_name],0
177
 
175
 
178
align 4
176
red_win:
179
red_win:
Line -... Line 180...
-
 
180
  call draw_window
177
  call draw_win
181
  call but_MetLoad
178
  call but_MetLoad
182
 
179
 
183
align 4
Line 180... Line 184...
180
still:
184
still:
Line 199... Line 203...
199
  stdcall [tl_mouse], tree1
203
  stdcall [tl_mouse], tree1
200
  stdcall [tl_mouse], tree2
204
  stdcall [tl_mouse], tree2
Line 201... Line 205...
201
 
205
 
Line -... Line 206...
-
 
206
  jmp still
202
  jmp still
207
 
203
 
208
align 4
204
key:
209
key:
205
  push eax ebx
210
  push eax ebx
206
  mcall 2
211
  mcall 2
Line 210... Line 215...
210
  push dword tree1
215
  push dword tree1
211
  call [tl_key]
216
  call [tl_key]
212
  push dword tree2
217
  push dword tree2
213
  call [tl_key]
218
  call [tl_key]
Line 214... Line 219...
214
 
219
 
215
  mov ebx,dword[el_focus] ;÷òî-áû êàðòà íå äâèãàëàñü åñëè îêíà treelist â ôîêóñå
220
  mov ebx,dword[el_focus] ;çâ®-¡ë ª àâ  ­¥ ¤¢¨£ « áì ¥á«¨ ®ª­  treelist ¢ 䮪ãá¥
216
  cmp ebx, dword tree1
221
  cmp ebx, dword tree1
217
  je .end_f
222
  je .end_f
218
  cmp ebx, dword tree2
223
  cmp ebx, dword tree2
Line 219... Line 224...
219
  je .end_f
224
  je .end_f
220
 
225
 
221
  ;÷òî-áû êàðòà íå äâèãàëàñü åñëè òåêñòîâûå ïîëÿ â ôîêóñå
226
  ;çâ®-¡ë ª àâ  ­¥ ¤¢¨£ « áì ¥á«¨ ⥪áâ®¢ë¥ ¯®«ï ¢ 䮪ãá¥
222
  test word[edit1.flags],10b ;ed_focus
227
  test word[edit1.flags],10b ;ed_focus
223
  jne .end_f
228
  jne .end_f
Line 264... Line 269...
264
  pop ebx eax
269
  pop ebx eax
265
  jmp still
270
  jmp still
Line 266... Line 271...
266
 
271
 
267
 
272
 
268
align 4
273
align 4
269
draw_win:
274
draw_window:
Line 270... Line 275...
270
pushad
275
pushad
271
  mcall 12,1
276
  mcall 12,1
Line 299... Line 304...
299
  add dword[edit2.left],370-otst_panel_left
304
  add dword[edit2.left],370-otst_panel_left
Line 300... Line 305...
300
 
305
 
301
  stdcall dword[tl_draw],dword tree1
306
  stdcall dword[tl_draw],dword tree1
302
  stdcall dword[tl_draw],dword tree2
307
  stdcall dword[tl_draw],dword tree2
303
  mov dword[wScrMetki.all_redraw],1
-
 
304
  push dword wScrMetki
308
  mov dword[wScrMetki.all_redraw],1
Line 305... Line 309...
305
  call [scrollbar_ver_draw]
309
  stdcall [scrollbar_ver_draw], dword wScrMetki
306
 
310
 
307
  mov eax,8 ;ª­®¯ª 
311
  mov eax,8 ;ª­®¯ª 
308
  mov ebx,145*65536+20
312
  mov ebx,145*65536+20
Line 314... Line 318...
314
  mov ebx,100*65536+20
318
  mov ebx,100*65536+20
315
  mov ecx,5*65536+25
319
  mov ecx,5*65536+25
316
  mov edx,5
320
  mov edx,5
317
  int 0x40
321
  int 0x40
Line -... Line 322...
-
 
322
 
-
 
323
  mov ebx,170*65536+40 ;ª­®¯ª  ¢ë§®¢  ¤¨ «®£  OpenDial
-
 
324
  ;mov ecx,5*65536+25
-
 
325
  mov edx,13
-
 
326
  int 0x40
318
 
327
 
319
  mov bx,di
328
  mov bx,di
320
  shl ebx,16
329
  shl ebx,16
321
  mov bx,100
330
  mov bx,100
322
  mov ecx,265*65536+25
331
  mov ecx,265*65536+25
Line 349... Line 358...
349
  mov bx,di
358
  mov bx,di
350
  add bx,405-otst_panel_left
359
  add bx,405-otst_panel_left
351
  shl ebx,16
360
  shl ebx,16
352
  mov bx,30
361
  mov bx,30
353
  ;mov ebx,405*65536+30
362
  ;mov ebx,405*65536+30
354
  mov ecx,265*65536+25
363
  ;mov ecx,265*65536+25
355
  mov edx,11
364
  mov edx,11
356
  int 0x40
365
  int 0x40
Line 357... Line 366...
357
 
366
 
358
  mov bx,di
367
  mov bx,di
359
  add bx,370-otst_panel_left
368
  add bx,370-otst_panel_left
360
  shl ebx,16
369
  shl ebx,16
361
  mov bx,30
370
  mov bx,30
362
  ;mov ebx,370*65536+30
371
  ;mov ebx,370*65536+30
363
  mov ecx,265*65536+25
372
  ;mov ecx,265*65536+25
364
  mov edx,10
373
  mov edx,10
Line 365... Line 374...
365
  int 0x40
374
  int 0x40
366
 
375
 
Line 444... Line 453...
444
  mov edx,txt142
453
  mov edx,txt142
445
  int 0x40
454
  int 0x40
Line 446... Line 455...
446
 
455
 
Line 447... Line -...
447
  call draw_tiles
-
 
448
 
456
  call draw_tiles
449
  push dword ch2
-
 
450
  call [check_box_draw]
457
 
451
  push dword ch1
-
 
452
  call [check_box_draw]
458
  stdcall [check_box_draw], dword ch1
453
 
459
  stdcall [check_box_draw], dword ch2
Line 454... Line 460...
454
  stdcall [edit_box_draw], edit1
460
  stdcall [edit_box_draw], edit1
455
  stdcall [edit_box_draw], edit2
461
  stdcall [edit_box_draw], edit2
Line 520... Line 526...
520
  @@:
526
  @@:
521
  cmp ah,12
527
  cmp ah,12
522
  jne @f
528
  jne @f
523
    call fun_goto_met
529
    call fun_goto_met
524
  @@:
530
  @@:
-
 
531
  cmp ah,13 ;¤¨ «®£ OpenDialog ¤«ï ¯®¨áª  ¯ ¯ª¨
-
 
532
  jne @f
-
 
533
    call fun_opn_dlg
-
 
534
  @@:
525
  cmp ah,1
535
  cmp ah,1
526
  jne still
536
  jne still
Line 527... Line 537...
527
 
537
 
528
.exit:
538
.exit:
529
  push dword[bmp_icon]
539
  push dword[bmp_icon]
530
  call mem.Free
540
  call mem.Free
Line 531... Line 541...
531
  stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
541
  stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
532
 
542
 
533
  stdcall dword[tl_data_clear], tree1
543
  stdcall dword[tl_data_clear], tree1
534
  mov dword[tree2.data_img_sys],0 ;÷èñòèì óêàçàòåëü íà ñèñòåìíûå èêîíêè,
544
  mov dword[tree2.data_img_sys],0 ;ç¨á⨬ 㪠§ â¥«ì ­  á¨á⥬­ë¥ ¨ª®­ª¨,
535
    ;ò. ê. îíè áûëè óäàëåíû âåðõíåé ôóíêöèåé tl_data_clear
545
    ;â. ª. ®­¨ ¡ë«¨ 㤠«¥­ë ¢¥àå­¥© ä㭪樥© tl_data_clear
536
    ;ïîâòîðíûé âûçîâ tl_data_clear áåç ÷èñòêè óêàçàòåëÿ âûçâåò îøèáêó
546
    ;¯®¢â®à­ë© ¢ë§®¢ tl_data_clear ¡¥§ ç¨á⪨ 㪠§ â¥«ï ¢ë§¢¥â ®è¨¡ªã
Line 537... Line 547...
537
  mov dword[tree2.data_img],0 ;÷èñòèì óêàçàòåëü íà èêîíêè óçëîâ
547
  mov dword[tree2.data_img],0 ;ç¨á⨬ 㪠§ â¥«ì ­  ¨ª®­ª¨ 㧫®¢
538
  stdcall dword[tl_data_clear], tree2
548
  stdcall dword[tl_data_clear], tree2
Line 548... Line 558...
548
proc img_rgb_wdiv2 data_rgb:dword, size:dword
558
proc img_rgb_wdiv2 data_rgb:dword, size:dword
549
  push eax ebx ecx edx
559
  push eax ebx ecx edx
550
  mov eax,dword[data_rgb]
560
  mov eax,dword[data_rgb]
551
  mov ecx,dword[size] ;ecx = size
561
  mov ecx,dword[size] ;ecx = size
552
  imul ecx,3
562
  imul ecx,3
553
  @@: ;çàòåìíåíèå öâåòà ïèêñåëåé
563
  @@: ;§ â¥¬­¥­¨¥ æ¢¥â  ¯¨ªá¥«¥©
554
    shr byte[eax],1
564
    shr byte[eax],1
555
    and byte[eax],0x7f
565
    and byte[eax],0x7f
556
    inc eax
566
    inc eax
557
    loop @b
567
    loop @b
Line 558... Line 568...
558
 
568
 
559
  mov eax,dword[data_rgb]
569
  mov eax,dword[data_rgb]
560
  mov ecx,dword[size] ;ecx = size
570
  mov ecx,dword[size] ;ecx = size
561
  shr ecx,1
571
  shr ecx,1
562
  @@: ;ñëîæåíèå öâåòîâ ïèêñåëåé
572
  @@: ;á«®¦¥­¨¥ 梥⮢ ¯¨ªá¥«¥©
563
    mov ebx,dword[eax+3] ;êîïèðóåì öâåò ñîñåäíåãî ïèêñåëÿ
573
    mov ebx,dword[eax+3] ;ª®¯¨à㥬 梥â á®á¥¤­¥£® ¯¨ªá¥«ï
564
    add word[eax],bx
574
    add word[eax],bx
565
    shr ebx,16
575
    shr ebx,16
Line 566... Line 576...
566
    add byte[eax+2],bl
576
    add byte[eax+2],bl
Line 572... Line 582...
572
  add eax,3
582
  add eax,3
573
  mov ebx,eax
583
  mov ebx,eax
574
  add ebx,3
584
  add ebx,3
575
  mov ecx,dword[size] ;ecx = size
585
  mov ecx,dword[size] ;ecx = size
576
  shr ecx,1
586
  shr ecx,1
577
  dec ecx ;ëèøíèé ïèêñåëü
587
  dec ecx ;«¨è­¨© ¯¨ªá¥«ì
578
  @@: ;ïîäæàòèå ïèêñåëåé
588
  @@: ;¯®¤¦ â¨¥ ¯¨ªá¥«¥©
579
    mov edx,dword[ebx]
589
    mov edx,dword[ebx]
580
    mov word[eax],dx
590
    mov word[eax],dx
581
    shr edx,16
591
    shr edx,16
582
    mov byte[eax+2],dl
592
    mov byte[eax+2],dl
Line 598... Line 608...
598
  pushad
608
  pushad
Line 599... Line 609...
599
 
609
 
600
  mov eax,dword[data_rgb] ;eax =
610
  mov eax,dword[data_rgb] ;eax =
601
  mov ecx,dword[size]	  ;ecx = size
611
  mov ecx,dword[size]	  ;ecx = size
602
  imul ecx,3
612
  imul ecx,3
603
  @@: ;çàòåìíåíèå öâåòà ïèêñåëåé
613
  @@: ;§ â¥¬­¥­¨¥ æ¢¥â  ¯¨ªá¥«¥©
604
    shr byte[eax],1
614
    shr byte[eax],1
605
    and byte[eax],0x7f
615
    and byte[eax],0x7f
606
    inc eax
616
    inc eax
Line 612... Line 622...
612
  mov ebx,esi
622
  mov ebx,esi
613
  add ebx,eax
623
  add ebx,eax
614
  mov ecx,dword[size]  ;ecx = size
624
  mov ecx,dword[size]  ;ecx = size
615
  shr ecx,1
625
  shr ecx,1
616
  xor edi,edi
626
  xor edi,edi
617
  @@: ;ñëîæåíèå öâåòîâ ïèêñåëåé
627
  @@: ;á«®¦¥­¨¥ 梥⮢ ¯¨ªá¥«¥©
618
    mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ
628
    mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠭¨¦­¥£® ¯¨ªá¥«ï
619
    add word[eax],dx
629
    add word[eax],dx
620
    shr edx,16
630
    shr edx,16
621
    add byte[eax+2],dl
631
    add byte[eax+2],dl
Line 622... Line 632...
622
 
632
 
Line 636... Line 646...
636
  add eax,esi ;esi = width*3(rgb)
646
  add eax,esi ;esi = width*3(rgb)
637
  mov ebx,esi
647
  mov ebx,esi
638
  add ebx,eax
648
  add ebx,eax
639
  mov ecx,dword[size]  ;ecx = size
649
  mov ecx,dword[size] ;ecx = size
640
  shr ecx,1
650
  shr ecx,1
641
  sub ecx,dword[size_w] ;ëèøíÿÿ ñòðîêà ïèêñåëåé
651
  sub ecx,dword[size_w] ;«¨è­ïï áâப  ¯¨ªá¥«¥©
642
  xor edi,edi
652
  xor edi,edi
643
  @@: ;ïîäæàòèå ïèêñåëåé
653
  @@: ;¯®¤¦ â¨¥ ¯¨ªá¥«¥©
644
    mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ
654
    mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠭¨¦­¥£® ¯¨ªá¥«ï
645
    mov word[eax],dx
655
    mov word[eax],dx
646
    shr edx,16
656
    shr edx,16
647
    mov byte[eax+2],dl
657
    mov byte[eax+2],dl
Line 648... Line 658...
648
 
658
 
Line 833... Line 843...
833
    repne stosb
843
    repne stosb
834
  pop edi ecx eax
844
  pop edi ecx eax
835
  ret
845
  ret
836
endp
846
endp
Line -... Line 847...
-
 
847
 
-
 
848
align 4
-
 
849
fun_opn_dlg: ;äã­ªæ¨ï ¤«ï ¢ë§®¢  OpenFile ¤¨ «®£ 
-
 
850
	pushad
-
 
851
	copy_path open_dialog_name,sys_path,file_name,0
-
 
852
	mov [OpenDialog_data.type],2
-
 
853
	mov dword[plugin_path],0 ;çâ®-¡ë ¯à¨ ®âªàë⨨ ¤¨ «®£®¢®£® ®ª­  ¯ãâì ¢á¥£¤  ¡à «áï ¨§ OpenDialog_data.dir_default_path
-
 
854
	start_OpenDialog OpenDialog_data
-
 
855
	cmp [OpenDialog_data.status],2
-
 
856
	je @f
-
 
857
		mov esi,[OpenDialog_data.openfile_path]
-
 
858
		stdcall [str_len],dword[edit1.text],dword[edit1.max]
-
 
859
		mov [edit1.size],eax
-
 
860
		mov [edit1.pos],eax
-
 
861
		stdcall [edit_box_draw], edit1
-
 
862
	@@:
-
 
863
	popad
-
 
864
	ret
837
 
865
 
838
  txt_met_up db 24,0
866
  txt_met_up db 24,0
839
  txt_met_dn db 25,0
867
  txt_met_dn db 25,0
840
  txt_met_sh db '*',0
868
  txt_met_sh db '*',0
841
  txt_zoom_m db '-',0
869
  txt_zoom_m db '-',0
Line 853... Line 881...
853
checkboxes_end:
881
checkboxes_end:
Line 854... Line 882...
854
 
882
 
855
ch_text1 db '¡à âì ᢥàåã'
883
ch_text1 db '¡à âì ᢥàåã'
Line 856... Line 884...
856
ch_text2 db '¡à âì á­¨§ã'
884
ch_text2 db '¡à âì á­¨§ã'
857
 
885
 
858
edit1 edit_box 190, 215,  10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 500, ed_buffer.1, mouse_dd, 0
886
edit1 edit_box 190, 215,  10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 4090, openfile_path, mouse_dd, 0
Line 859... Line 887...
859
edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000,  30, ed_buffer.2, mouse_dd, 0
887
edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000,  30, ed_buffer.2, mouse_dd, 0
860
editboxes_end:
888
editboxes_end:
Line 899... Line 927...
899
.work_size  dd 0 ;+76
927
.work_size  dd 0 ;+76
900
.all_redraw dd 0 ;+80
928
.all_redraw dd 0 ;+80
901
.ar_offset  dd 1 ;+84
929
.ar_offset  dd 1 ;+84
Line 902... Line 930...
902
 
930
 
903
ed_buffer: ;òåêñò äëÿ edit
-
 
904
  .1: rb 502
931
ed_buffer: ;òåêñò äëÿ edit
Line 905... Line 932...
905
  .2: rb 32
932
  .2: rb 32
Line 906... Line 933...
906
 
933
 
Line 915... Line 942...
915
run_file_70 FileInfoBlock
942
run_file_70 FileInfoBlock
Line 916... Line 943...
916
 
943
 
917
 
944
 
918
txt_tile_path db 'tile path',0
945
txt_tile_path db 'tile path',0
919
  rb 300
946
  rb 300
920
txt_tile_type dd txt_tile_type_0 ;óêàçàòåëü íà âûáðàííûé òèï ôàéëîâ
947
txt_tile_type dd txt_tile_type_0 ;㪠§ â¥«ì ­  ¢ë¡à ­­ë© ⨯ ä ©«®¢
Line -... Line 948...
-
 
948
txt_tile_type_0 db 0
921
txt_tile_type_0 db 0
949
  rb 10
-
 
950
 
-
 
951
;---------------------------------------------------------------------
-
 
952
align 4
-
 
953
OpenDialog_data:
-
 
954
.type			dd 2
-
 
955
.procinfo		dd procinfo	;+4
-
 
956
.com_area_name		dd communication_area_name	;+8
-
 
957
.com_area		dd 0	;+12
-
 
958
.opendir_path		dd plugin_path	;+16
-
 
959
.dir_default_path	dd openfile_path ;+20
-
 
960
.start_path		dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢
-
 
961
.draw_window		dd draw_window	;+28
-
 
962
.status 		dd 0	;+32
-
 
963
.openfile_path		dd openfile_path	;+36 ¯ãâì ª ®âªà뢠¥¬®¬ã ä ©«ã
-
 
964
.filename_area		dd filename_area	;+40
-
 
965
.filter_area		dd Filter
-
 
966
 
-
 
967
communication_area_name:
-
 
968
	db 'FFFFFFFF_open_dialog',0
-
 
969
open_dialog_name:
-
 
970
	db 'opendial',0
-
 
971
communication_area_default_path:
-
 
972
	db '/rd/1',0
-
 
973
 
-
 
974
Filter:
-
 
975
dd Filter.end - Filter.1
-
 
976
.1:
-
 
977
db 'TXT',0
-
 
978
.end:
922
  rb 10
979
db 0
923
 
980
 
924
align 4
981
align 4
925
map: ;êîîðäèíàòû êàðòû
982
map: ;ª®®à¤¨­ âë ª àâë
Line 926... Line 983...
926
  .coord_x dd 0 ;êîîðäèíàòà x
983
  .coord_x dd 0 ;ª®®à¤¨­ â  x
927
  .coord_y dd 0 ;êîîðäèíàòà y
984
  .coord_y dd 0 ;ª®®à¤¨­ â  y
Line 928... Line 985...
928
  .zoom    db 1 ;ìàñøòàá
985
  .zoom    db 1 ;¬ áèâ ¡
929
 
986
 
930
align 4
987
align 4
931
tile_00 rb size_tile_struc * max_tiles_count
988
tile_00 rb size_tile_struc * max_tiles_count
932
 
989
 
933
;ýòîò êîä íå ìîé, îí ïðåîáðàçóåò ÷èñëî â ñòðîêó
990
;íâ®â ª®¤ ­¥ ¬®©, ®­ ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã
Line 944... Line 1001...
944
  popad
1001
  popad
945
  ret
1002
  ret
Line 946... Line 1003...
946
 
1003
 
947
align 4
1004
align 4
948
.str:
1005
.str:
949
  mov ecx,0x0a ;çàäàåòñÿ ñèñòåìà ñ÷èñëåíèÿ èçìåíÿþòñÿ ðåãèñòðû ebx,eax,ecx,edx âõîäíûå ïàðàìåòðû eax - ÷èñëî
1006
  mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬  áç¨á«¥­¨ï ¨§¬¥­ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤­ë¥ ¯ à ¬¥âàë eax - ç¨á«®
950
    ;ïðåðåâîä ÷èñëà â ASCII ñòðîêó âçîäíûå äàííûå ecx=ñèñòåìà ñ÷èñëåíÿ edi àäðåñ êóäà çàïèñûâàòü, áóäåì ñòðîêó, ïðè÷åì êîíåö ïåðåìåííîé 
1007
    ;¯à¥à¥¢®¤ ç¨á«  ¢ ASCII áâப㠢§®¤­ë¥ ¤ ­­ë¥ ecx=á¨á⥬  áç¨á«¥­ï edi  ¤à¥á ªã¤  § ¯¨á뢠âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®­¥æ ¯¥à¥¬¥­­®© 
951
  cmp eax,ecx  ;ñðàâíèòü åñëè â eax ìåíüøå ÷åì â ecx òî ïåðåéòè íà @@-1 ò.å. íà pop eax
1008
  cmp eax,ecx  ;áà ¢­¨âì ¥á«¨ ¢ eax ¬¥­ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ ­  @@-1 â.¥. ­  pop eax
952
  jb @f
1009
  jb @f
953
  xor edx,edx  ;î÷èñòèòü edx
1010
  xor edx,edx  ;®ç¨áâ¨âì edx
954
  div ecx      ;ðàçäåëèòü - îñòàòîê â edx
1011
  div ecx      ;à §¤¥«¨âì - ®áâ â®ª ¢ edx
955
  push edx     ;ïîëîæèòü â ñòåê
1012
  push edx     ;¯®«®¦¨âì ¢ á⥪
956
  ;dec edi             ;ñìåùåíèå íåîáõîäèìîå äëÿ çàïèñè ñ êîíöà ñòðîêè
1013
  ;dec edi             ;ᬥ饭¨¥ ­¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®­æ  áâப¨
957
  call .str;ïåðåéòè íà ñàìó ñåáÿ ò.å. âûçâàòü ñàìó ñåáÿ è òàê äî òîãî ìîìåíòà ïîêà â eax íå ñòàíåò ìåíüøå ÷åì â ecx
1014
  call .str;¯¥à¥©â¨ ­  á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥­â  ¯®ª  ¢ eax ­¥ áâ ­¥â ¬¥­ìè¥ ç¥¬ ¢ ecx
958
  pop eax
1015
  pop eax
959
  @@: ;cmp al,10 ;ïðîâåðèòü íå ìåíüøå ëè çíà÷åíèå â al ÷åì 10 (äëÿ ñèñòåìû ñ÷èñëåíÿ 10 äàííàÿ êîìàíäà - ëèøíàÿ))
1016
  @@: ;cmp al,10 ;¯à®¢¥à¨âì ­¥ ¬¥­ìè¥ «¨ §­ ç¥­¨¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥­ï 10 ¤ ­­ ï ª®¬ ­¤  - «¨è­ ï))
960
  or al,0x30  ;äàííàÿ êîìàíäà êîðî÷å  ÷åì äâå âûøå
1017
  or al,0x30  ;¤ ­­ ï ª®¬ ­¤  ª®à®ç¥  祬 ¤¢¥ ¢ëè¥
961
  stosb       ;çàïèñàòü ýëåìåíò èç ðåãèñòðà al â ÿ÷åêó ïàìÿòè es:edi
1018
  stosb       ;§ ¯¨á âì í«¥¬¥­â ¨§ ॣ¨áâà  al ¢ ï祪㠯 ¬ï⨠es:edi
Line 962... Line 1019...
962
  ret	      ;âåðíóòüñÿ ÷åíü èíòåðåñíûé õîä ò.ê. ïîêà â ñòåêå õðàíèòüñÿ êîë-âî âûçîâîâ òî ñòîëüêî ðàç ìû è áóäåì âûçûâàòüñÿ
1019
  ret	      ;¢¥à­ãâìáï ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
Line 963... Line 1020...
963
 
1020
 
964
 
1021
 
965
hed db 'Planet viewer 26.03.10',0 ;¯®¤¯¨áì ®ª­ 
-
 
966
 
-
 
967
sc system_colors  ;á¨á⥬­ë¥ 梥â 
-
 
968
mouse_dd dd 0 ;­ã¦­® ¤«ï Shift-  ¢ editbox
1022
hed db 'Planet viewer 27.05.10',0 ;¯®¤¯¨áì ®ª­ 
969
  sys_path rb 4096
-
 
970
  file_name:
1023
 
-
 
1024
sc system_colors  ;á¨á⥬­ë¥ 梥â 
-
 
1025
mouse_dd dd 0 ;­ã¦­® ¤«ï Shift-  ¢ editbox
971
    rb 4096
1026
i_end:
-
 
1027
	rb 1024
-
 
1028
	align 16
-
 
1029
	procinfo process_information
-
 
1030
stacktop:
-
 
1031
	sys_path rb 4096
-
 
1032
	file_name:
-
 
1033
		rb 4096
-
 
1034
	plugin_path:
-
 
1035
		rb 4096
972
i_end:
1036
	openfile_path: