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 |