📄 getkeycode.asl
字号:
0441 06 05 10 627 brz .ClrKeyPos
0444 A7 7B 628 cmpe #07bh ;calc
0446 06 05 10 629 brz .ClrKeyPos
0449 F1 00 630 lda StateFlag
044B CB 07 631 anda #07h
044D A7 06 632 cmpe #06h
044F 07 04 5C 633 brnz .CkFontC
0452 F5 00 634 lda0 .KeyPos
0454 A7 CF 635 cmpe #0cfh
0456 06 05 10 636 brz .ClrKeyPos
0459 02 05 1E 637 br .NotRegMode
045C 638 .CkFontC:
045C F5 00 639 lda0 .KeyPos
045E A7 FC 640 cmpe #0fch
0460 06 05 10 641 brz .ClrKeyPos
0463 02 05 1E 642 br .NotRegMode
+ 643 ;-------------------------------------------
0466 644 .ReleaseSDkey:
0466 F5 00 645 lda0 .FormulaFlag
0468 A7 01 646 cmpe #01h
046A 07 04 79 647 brnz .SDModeKeyCK
046D F5 00 648 lda0 .KeyPos
046F A7 CC 649 cmpe #0cch
0471 06 05 10 650 brz .ClrKeyPos
0474 A7 DD 651 cmpe #0ddh
0476 06 05 10 652 brz .ClrKeyPos
0479 653 .SDModeKeyCK:
0479 F5 00 654 lda0 .KeyPos
047B A7 BD 655 cmpe #0bdh
047D 06 05 10 656 brz .ClrKeyPos
0480 A7 FA 657 cmpe #0fah
0482 06 05 10 658 brz .ClrKeyPos
0485 A7 FB 659 cmpe #0fbh
0487 06 05 10 660 brz .ClrKeyPos
048A A7 CF 661 cmpe #0cfh
048C 06 05 10 662 brz .ClrKeyPos
048F A7 FC 663 cmpe #0fch
0491 06 05 10 664 brz .ClrKeyPos
0494 A7 FD 665 cmpe #0fdh
0496 06 05 10 666 brz .ClrKeyPos
0499 A7 FE 667 cmpe #0feh
049B 06 05 10 668 brz .ClrKeyPos
049E A7 CA 669 cmpe #0cah
04A0 06 05 10 670 brz .ClrKeyPos
04A3 A7 BE 671 cmpe #0beh
04A5 06 05 10 672 brz .ClrKeyPos
04A8 A7 7A 673 cmpe #07ah ;calc'='
04AA 06 05 10 674 brz .ClrKeyPos
04AD 02 05 1E 675 br .EndDalta
+ 676 ;-------------------------------------------
04B0 677 .CompMode:
+ 678
04B0 F5 00 679 lda0 .FormulaFlag
04B2 A7 01 680 cmpe #01h
04B4 07 04 CA 681 brnz .CompModeKeyCK
04B7 F5 00 682 lda0 ErrorFlag
04B9 A7 00 683 cmpe #0h
04BB 07 05 23 684 brnz .EndDalta1
04BE F5 00 685 lda0 .KeyPos
04C0 A7 CC 686 cmpe #0cch
04C2 06 05 10 687 brz .ClrKeyPos
04C5 A7 DD 688 cmpe #0ddh
04C7 06 05 10 689 brz .ClrKeyPos
04CA 690 .CompModeKeyCK:
04CA F5 00 691 lda0 .KeyPos
04CC A7 B0 692 cmpe #0b0h ; simecolon
04CE 06 05 10 693 brz .ClrKeyPos
04D1 A7 CF 694 cmpe #0cfh
04D3 06 05 10 695 brz .ClrKeyPos
04D6 A7 FA 696 cmpe #0fah
04D8 06 05 10 697 brz .ClrKeyPos
04DB A7 FB 698 cmpe #0fbh
04DD 06 05 10 699 brz .ClrKeyPos
04E0 A7 FC 700 cmpe #0fch
04E2 06 05 10 701 brz .ClrKeyPos
04E5 A7 FD 702 cmpe #0fdh
04E7 06 05 10 703 brz .ClrKeyPos
04EA A7 FE 704 cmpe #0feh
04EC 06 05 10 705 brz .ClrKeyPos
04EF A7 CA 706 cmpe #0cah
04F1 06 05 10 707 brz .ClrKeyPos
04F4 A7 CB 708 cmpe #0cbh
04F6 06 05 10 709 brz .ClrKeyPos
04F9 A7 BA 710 cmpe #0bah
04FB 06 05 10 711 brz .ClrKeyPos
04FE A7 BC 712 cmpe #0bch
0500 06 05 10 713 brz .ClrKeyPos
0503 A7 BD 714 cmpe #0bdh
0505 06 05 10 715 brz .ClrKeyPos
0508 A7 BE 716 cmpe #0beh
050A 06 05 10 717 brz .ClrKeyPos
050D 02 05 1E 718 br .EndDalta
+ 719
0510 720 .ClrKeyPos:
0510 F3 00 721 lda #0h
0512 F9 00 722 sta0 .KeyPos
0514 F3 01 723 lda #>.SFlag
0516 FC 28 724 sta PP
0518 F1 2D 725 lda .SFlag
051A CB F8 726 anda #~07h
051C FD 2D 727 sta .SFlag
051E 728 .NotRegMode:
051E 729 .EndDalta:
051E F3 00 730 lda #0h
0520 FC 28 731 sta PP
0522 24 732 ret
0523 733 .EndDalta1:
0523 F3 00 734 lda #0h
0525 F9 00 735 sta0 .FormulaFlag
0527 F9 00 736 sta0 .StoFlag
0529 24 737 ret
+ 738 ;-------------------------------------------
052A 739 .CheckClrData::
+ 740
052A F5 00 741 lda0 ErrorFlag
052C A7 00 742 cmpe #0h
052E 07 06 39 743 brnz .EndClrData
0531 F5 00 744 lda0 .KeyPos
0533 A7 00 745 cmpe #0h
0535 06 06 39 746 brz .EndClrData ;2002 11 13
0538 F3 01 747 lda #01h
053A FC 28 748 sta PP
053C F1 00 749 lda .SetFlag
053E CB 02 750 anda #02h
0540 07 06 39 751 brnz .EndClrData
0543 F1 2D 752 lda .SFlag
0545 CB 08 753 anda #08h
0547 06 05 56 754 brz 1$
054A F5 00 755 lda0 .KeyPos
054C A7 61 756 cmpe #61h
054E 06 05 10 757 brz .ClrKeyPos
0551 A7 65 758 cmpe #65h
0553 06 05 10 759 brz .ClrKeyPos
+ 760 1$:
0556 F1 2D 761 lda .SFlag
0558 CB 20 762 anda #20h
055A A7 20 763 cmpe #20h
055C 06 06 39 764 brz .EndClrData
055F F1 2D 765 lda .SFlag
0561 CB 18 766 anda #18h
0563 A7 18 767 cmpe #18h
0565 06 06 39 768 brz .EndClrData
0568 F5 00 769 lda0 .KeyPos
056A A7 52 770 cmpe #052h
056C 06 06 39 771 brz .EndClrData ;sto
056F A7 B5 772 cmpe #0b5h ;m+
0571 06 05 EC 773 brz .CkMaddMode
0574 A7 DF 774 cmpe #0dfh ;m-
0576 06 05 EC 775 brz .CkMaddMode
0579 A7 CC 776 cmpe #0cch
057B 06 06 39 777 brz .EndClrData
057E A7 DD 778 cmpe #0ddh
0580 06 06 39 779 brz .EndClrData
0583 A7 A3 780 cmpe #0a3h
0585 06 06 39 781 brz .EndClrData
0588 A7 7B 782 cmpe #07bh
058A 06 06 39 783 brz .EndClrData
058D A7 77 784 cmpe #77h
058F 06 06 39 785 brz .EndClrData
0592 A7 B1 786 cmpe #0b1h
0594 06 06 39 787 brz .EndClrData
0597 A7 65 788 cmpe #065h ;66
0599 06 06 39 789 brz .EndClrData
059C A7 EE 790 cmpe #0eeh
059E 06 06 39 791 brz .EndClrData
05A1 A7 F8 792 cmpe #0f8h ;DRG
05A3 06 06 39 793 brz .EndClrData
05A6 A7 C2 794 cmpe #0c2h
05A8 06 06 39 795 brz .EndClrData
05AB A7 41 796 cmpe #041h
05AD 06 05 FA 797 brz .ChangMode ;.EndClrData ;A/C
05B0 A7 31 798 cmpe #031h
05B2 06 05 FA 799 brz .ChangMode
05B5 A7 B7 800 cmpe #0b7h ;dms
05B7 06 05 FA 801 brz .ChangMode
05BA A7 42 802 cmpe #042h ;shift dms
05BC 06 05 FA 803 brz .ChangMode
05BF A7 C3 804 cmpe #0c3h ;A B/C
05C1 06 05 FA 805 brz .ChangMode
05C4 F5 00 806 lda0 .ModeFlag
05C6 CB F0 807 anda #0f0h
05C8 07 06 39 808 brnz .EndClrData
05CB F1 00 809 lda BasenFlag
05CD CB 0F 810 anda #0fh
05CF 07 06 39 811 brnz .EndClrData
05D2 812 .CKEQUAC::
05D2 F3 01 813 lda #>.SFlag
05D4 FC 28 814 sta PP
05D6 F1 2D 815 lda .SFlag
05D8 CB 48 816 anda #48h
05DA A7 08 817 cmpe #08h ;08=Enter ,40=AC , 48=AC+Enter
05DC 06 06 20 818 brz .Add_ANS
05DF A7 40 819 cmpe #40h
05E1 06 06 0D 820 brz .CKlrkey
05E4 A7 48 821 cmpe #48h
05E6 06 06 0D 822 brz .CKlrkey
05E9 02 06 39 823 br .EndClrData
05EC 824 .CkMaddMode:
05EC F3 00 825 lda #>StateFlag
05EE FC 28 826 sta PP
05F0 F1 00 827 lda StateFlag
05F2 CB 47 828 anda #47h
05F4 07 06 39 829 brnz .EndClrData
05F7 02 06 39 830 br .EndClrData;.CKEQUAC
05FA 831 .ChangMode:
05FA F3 01 832 lda #01h
05FC FC 28 833 sta PP
05FE F1 2D 834 lda .SFlag
0600 CB 40 835 anda #40h
0602 A7 40 836 cmpe #40h
0604 06 06 0D 837 brz .CKlrkey
0607 20 06 3A 838 call .CheckFunctKey
060A 02 06 39 839 br .EndClrData
060D 840 .CKlrkey:
060D F3 01 841 lda #01h
060F FC 28 842 sta PP
0611 F1 00 843 lda .SetFlag
0613 CB C0 844 anda #~3fh ;clear disp point fract dms eng rnd
0615 FD 00 845 sta .SetFlag
0617 20 00 00 846 call .ClrP2Data
061A 20 00 00 847 call Rekeyindisp
061D 02 06 39 848 br .EndClrData
0620 849 .Add_ANS:
0620 F3 00 850 lda #>.SetFlag
0622 FC 28 851 sta PP
0624 F1 00 852 lda .SetFlag
0626 CB 80 853 anda #80h
0628 07 06 36 854 brnz .NoClrData
062B F3 00 855 lda #>.SRFlag
062D FC 28 856 sta PP
062F F3 00 857 lda #0h
0631 FD 00 858 sta .SRFlag
0633 20 00 00 859 call .ClrP2Data
0636 860 .NoClrData:
0636 20 00 00 861 call .CheckRnd
0639 862 .EndClrData:
0639 24 863 ret
+ 864
+ 865 ;-------------------------------------------
063A 866 .CheckFunctKey:
063A F3 01 867 lda #01h
063C FC 28 868 sta PP
063E F1 00 869 lda .SetFlag
0640 CB 20 870 anda #20h
0642 06 06 C6 871 brz .CheckShiftDmsAbcKey
0645 F5 00 872 lda0 .KeyPos
0647 A7 B7 873 cmpe #0b7h ;DMS mode
0649 06 06 5E 874 brz .ChangDmsMode
064C A7 42 875 cmpe #42h ;DMS mode
064E 06 06 5E 876 brz .ChangDmsMode
0651 A7 C3 877 cmpe #0c3h ;Fract to Point mode
0653 06 06 84 878 brz .ChangFractMode
0656 A7 31 879 cmpe #031h ;Fract to Point mode
0658 06 06 B2 880 brz .ChangFractbc
065B 02 06 D2 881 br .EndCheckFunctKey
065E 882 .ChangDmsMode:
+ 883
065E F1 00 884 lda .SetFlag
0660 CB 1C 885 anda #1ch
0662 A7 00 886 cmpe #0h
0664 06 06 79 887 brz .DispDms
0667 A7 10 888 cmpe #10h
0669 06 06 79 889 brz .DispDms
066C A7 08 890 cmpe #08h
066E 06 06 79 891 brz .DispDms
0671 A7 04 892 cmpe #04h
0673 06 06 BD 893 brz .DispPointmode
0676 02 06 D2 894 br .EndCheckFunctKey
0679 895 .DispDms:
0679 F1 00 896 lda .SetFlag
067B CB E3 897 anda #~1ch
067D DB 04 898 ora #04h
067F FD 00 899 sta .SetFlag
0681 02 06 D2 900 br .EndCheckFunctKey
0684 901 .ChangFractMode:
0684 F3 01 902 lda #01h
0686 FC 28 903 sta PP
0688 F1 00 904 lda .SetFlag
068A CB 1C 905 anda #1ch
068C A7 00 906 cmpe #0h
068E 06 06 A7 907 brz .DispFractmode
0691 A7 04 908 cmpe #04h
0693 06 06 A7 909 brz .DispFractmode
0696 F1 00 910 lda .SetFlag
0698 CB 18 911 anda #18h
069A A7 10 912 cmpe #10h
069C 06 06 A7 913 brz .DispFractmode
069F A7 08 914 cmpe #08h
06A1 06 06 BD 915 brz .DispPointmode
06A4 02 06 D2 916 br .EndCheckFunctKey
06A7 917 .DispFractmode:
06A7 F1 00 918 lda .SetFlag
06A9 CB E3 919 anda #~1ch
06AB DB 08 920 ora #08h
06AD FD 00 921 sta .SetFlag
06AF 02 06 D2 922 br .EndCheckFunctKey
06B2 923 .ChangFractbc:
+ 924
06B2 F1 00 925 lda .SetFlag
06B4 CB E3 926 anda #~1ch
06B6 DB 10 927 ora #10h
06B8 FD 00 928 sta .SetFlag
06BA 02 06 D2 929 br .EndCheckFunctKey
06BD 930 .DispPointmode:
06BD F1 00 931 lda .SetFlag
06BF CB E3 932 anda #~1ch
06C1 FD 00 933 sta .SetFlag
06C3 02 06 D2 934 br .EndCheckFunctKey
06C6 935 .CheckShiftDmsAbcKey:
06C6 F5 00 936 lda0 .KeyPos
06C8 A7 31 937 cmpe #31h
06CA 06 05 10 938 brz .ClrKeyPos
06CD A7 42 939 cmpe #42h
06CF 06 05 10 940 brz .ClrKeyPos
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -