Subversion Repositories Kolibri OS

Rev

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

Rev 7459 Rev 7460
Line 248... Line 248...
248
 
248
 
Line 249... Line 249...
249
   push eax ebx ecx
249
   push eax ebx ecx
250
 
250
 
251
   cmp ecx, 0
251
   cmp ecx, 0
252
   jne @f
252
   jne @f
253
   mov eax, apps.path1 ;dword[newData.lu]
253
   mov eax, apps.path1
254
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
254
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
255
   je .set0
255
   je .set0
256
   mov dword[struct70.path_adr], eax
256
   mov dword[struct70.path_adr], eax
257
   mov eax, apps.param1
257
   mov eax, apps.param1
258
   mov dword[struct70.param_adr], eax
258
   mov dword[struct70.param_adr], eax
259
   jmp .end_set_path
259
   jmp .end_set_path
260
@@:
260
@@:
261
   cmp ecx, 1
261
   cmp ecx, 1
262
   jne @f
262
   jne @f
263
   mov eax, apps.path2 ;dword[newData.ld]
263
   mov eax, apps.path2
264
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
264
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
265
   je .set0
265
   je .set0
266
   mov dword[struct70.path_adr], eax
266
   mov dword[struct70.path_adr], eax
267
   mov eax, apps.param2
267
   mov eax, apps.param2
268
   mov dword[struct70.param_adr], eax
268
   mov dword[struct70.param_adr], eax
269
   jmp .end_set_path
269
   jmp .end_set_path
270
@@:
270
@@:
271
   cmp ecx, 2
271
   cmp ecx, 2
272
   jne @f
272
   jne @f
273
   mov eax, apps.path3 ;dword[newData.ru]
273
   mov eax, apps.path3
274
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
274
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
275
   je .set0
275
   je .set0
276
   mov dword[struct70.path_adr], eax
276
   mov dword[struct70.path_adr], eax
277
   mov eax, apps.param3
277
   mov eax, apps.param3
278
   mov dword[struct70.param_adr], eax
278
   mov dword[struct70.param_adr], eax
279
   jmp .end_set_path
279
   jmp .end_set_path
280
@@:
280
@@:
281
   cmp ecx, 3
281
   cmp ecx, 3
282
   jne .set0 ;.end_set_path
282
   jne .set0 ;.end_set_path
283
   mov eax, apps.path4 ;dword[newData.rd]
283
   mov eax, apps.path4
284
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
284
   cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0
285
   je .set0
285
   je .set0
286
   mov dword[struct70.path_adr], eax
286
   mov dword[struct70.path_adr], eax
Line 473... Line 473...
473
   mov esi, apps.path4
473
   mov esi, apps.path4
474
   mov edi, apps.param4
474
   mov edi, apps.param4
475
   call readPath
475
   call readPath
476
   call gotoStartString
476
   call gotoStartString
Line 477... Line 477...
477
 
477
 
478
   ;call checkAdr ;ïðîâåðèì ñòðîêè íà '-' è ïóñòîòó è âûñòàâèì áèòîâóþ ìàñêó
478
   ;ïðîâåðèì ñòðîêè íà '-'
Line 479... Line 479...
479
   call checkPathAdr
479
   call checkPathAdr
Line 480... Line 480...
480
 
480
 
481
   pop edi esi
481
   pop edi esi
482
 
482
 
Line 483... Line 483...
483
   ;ïðîïóñêàåì ñòðîêó ñ èìåíåì êëàâèøè
483
   ;ïðîïóñêàåì ñòðîêó ñ èìåíåì êëàâèøè
484
   call gotoEndString
-
 
485
   call gotoStartString
-
 
486
 
484
   call gotoEndString
487
   ;ñ÷èòûâàåì ñêàíêîä àêòèâàöèîííîé êëàâèøè
485
   call gotoStartString
488
   ;call readKey
486
 
489
   ;call gotoEndString
487
   ;ñ÷èòûâàåì ñêàíêîä àêòèâàöèîííîé êëàâèøè
490
   push esi edi ecx
488
   push esi edi ecx
Line 530... Line 528...
530
@@:
528
@@:
531
   pop edx ecx ebx eax
529
   pop edx ecx ebx eax
532
   ret
530
   ret
Line 533... Line -...
533
 
-
 
534
 
-
 
535
;readKey:
-
 
536
   ;÷èòàåì êëàâèøó è âûõîäèì
-
 
537
;   cmp dword[eax], 'Ctrl'
-
 
538
;   jne .notCtrl
-
 
539
;   mov byte[keyActivate], 3
-
 
540
;   jmp .end
-
 
541
;.notCtrl:
-
 
542
;   cmp dword[eax], 'Shif'
-
 
543
;   jne .notShift
-
 
544
;   mov byte[keyActivate], 2
-
 
545
;   jmp .end
-
 
546
;.notShift:
-
 
547
;   cmp dword[eax], 'Spac'
-
 
548
;   jne .notSpace
-
 
549
;   mov byte[keyActivate], 32
-
 
550
;   jmp .end
-
 
551
;.notSpace:
-
 
552
;   cmp word[eax], 'Al'
-
 
553
;   jne .notAlt
-
 
554
;   mov byte[keyActivate], 1
-
 
555
;   jmp .end
-
 
556
;.notAlt:
-
 
557
   ;óáåäèìñÿ, ÷òî òàì 1 ñèìâîë, à íå ñòðîêà
-
 
558
;   cmp byte[eax+1], 10
-
 
559
;   je .oneSymb
-
 
560
;   cmp byte[eax+1], 0
-
 
561
;   je .oneSymb
-
 
562
;   cmp byte[eax+1], 13
-
 
563
;   je .oneSymb
-
 
564
;   jmp .default    ;â ëþáîì äðóãîì ñëó÷àå îøèáêà êîíôèãà - âûõîä
-
 
565
;.oneSymb:
-
 
566
   ;ïðîâåðÿåì, ÷òî ñèìâîë ðàçðåø¸ííûé  !!!  äîäåëàòü
-
 
567
 
-
 
568
   ;äîáàâëÿåì ñèìâîë êàê åñòü
-
 
569
;   push ebx
-
 
570
;   ;xor ebx, ebx
-
 
571
;   mov bl, byte[eax]
-
 
572
;   mov byte[keyActivate], bl
-
 
573
;   pop ebx
-
 
574
 
-
 
575
;   jmp .end
-
 
576
;.default:
-
 
577
;   mcall -1
-
 
578
;   ;mov byte[keyActivate], 2
-
 
579
;.end:
-
 
580
;   ret
-
 
581
 
531
 
582
 
532
 
583
checkPathAdr:
533
checkPathAdr:
Line 584... Line 534...
584
   push eax ebx
534
   push eax ebx
Line 613... Line 563...
613
   mov byte[ebx], 0
563
   mov byte[ebx], 0
614
@@:
564
@@:
615
   pop ebx eax
565
   pop ebx eax
616
   ret
566
   ret
Line 617... Line -...
617
 
-
 
618
 
-
 
619
checkAdr:
-
 
620
   push eax ebx
-
 
621
   xor eax, eax
-
 
622
 
-
 
623
   mov ebx, apps.path1
-
 
624
   cmp byte[ebx], '-'
-
 
625
   jne @f
-
 
626
   inc eax
-
 
627
@@:
-
 
628
   mov ebx, apps.path2
-
 
629
   cmp byte[ebx], '-'
-
 
630
   jne @f
-
 
631
   add eax, 2
-
 
632
@@:
-
 
633
   mov ebx, apps.path3
-
 
634
   cmp byte[ebx], '-'
-
 
635
   jne @f
-
 
636
   add eax, 4
-
 
637
@@:
-
 
638
   mov ebx, apps.path4
-
 
639
   cmp byte[ebx], '-'
-
 
640
   jne @f
-
 
641
   add eax, 8
-
 
642
@@:
-
 
643
 
-
 
644
   mov ebx, apps.param1
-
 
645
   cmp byte[ebx], '-'
-
 
646
   jne @f
-
 
647
   add eax, 16
-
 
648
@@:
-
 
649
   mov ebx, apps.param2
-
 
650
   cmp byte[ebx], '-'
-
 
651
   jne @f
-
 
652
   add eax, 32
-
 
653
@@:
-
 
654
   mov ebx, apps.param3
-
 
655
   cmp byte[ebx], '-'
-
 
656
   jne @f
-
 
657
   add eax, 64
-
 
658
@@:
-
 
659
   mov ebx, apps.param4
-
 
660
   cmp byte[ebx], '-'
-
 
661
   jne @f
-
 
662
   add eax, 128
-
 
663
@@:
-
 
664
 
-
 
665
   mov byte[apps.bits], al
-
 
666
   pop ebx eax
-
 
667
   ret
-
 
668
 
-
 
669
 
-
 
670
 
567
 
671
;ïðåîáðàçîâàíèå ñòðîêè â öåëîå ÷èñëî
568
;ïðåîáðàçîâàíèå ñòðîêè â öåëîå ÷èñëî
672
strToInteger: ;âõîä: esi - óêàçàòåëü íà ñòðîêó ñ äåñÿòè÷íîé çàïèñüþ ÷èñëà, âûõîä: eñx - ÷èñëî
569
strToInteger: ;âõîä: esi - óêàçàòåëü íà ñòðîêó ñ äåñÿòè÷íîé çàïèñüþ ÷èñëà, âûõîä: eñx - ÷èñëî
673
   push eax ebx edx edi
570
   push eax ebx edx edi
674
   xor eax, eax  ;îáíóëÿåì eax
571
   xor eax, eax  ;îáíóëÿåì eax
Line 969... Line 866...
969
 
866
 
970
 
867
 
971
keystr: rb 4 ;ñòðîêà ñî çíà÷åíèåì ñêàíêîäà àêòèâàöèîííîé êëàâèøè
868
keystr: rb 4 ;ñòðîêà ñî çíà÷åíèåì ñêàíêîäà àêòèâàöèîííîé êëàâèøè
972
radstr: rb 5 ;ñòðîêà ñî çíà÷åíèåì ðàäèóñà
-
 
973
apps:
869
radstr: rb 5 ;ñòðîêà ñî çíà÷åíèåì ðàäèóñà
974
 .bits: rb 1
870
apps:
975
 .path1: rb 512
871
 .path1: rb 512
976
 .path2: rb 512
872
 .path2: rb 512
977
 .path3: rb 512
873
 .path3: rb 512