📄 calcmain.asl
字号:
0414 05 03 DF 620 brnc .3$
0417 F3 0A 621 lda #0ah ;100ms
0419 F9 E2 622 sta0 .KeyTimeCnt
041B 02 00 BB 623 br .InputKeyHandle
+ 624
+ 625 ;-------------------------------------------
+ 626 ;;The Funtion is for Quad Mode ,Quad Estimate have X1 & X2 & Y
041E 627 .CalcEstimateXY:
041E F3 00 628 lda #>.SFlag
0420 FC 28 629 sta PP
0422 F1 00 630 lda .SFlag ;SFlag 08 is set =
0424 DB 08 631 ora #08h
0426 FD 00 632 sta .SFlag
0428 20 00 00 633 call .T_trans_X
042B F3 00 634 lda #>DaltaXcnt
042D FC 28 635 sta PP
042F F1 00 636 lda DaltaXcnt
0431 A7 00 637 cmpe #0h
0433 07 04 39 638 brnz .DispDaltaX2
0436 02 02 02 639 br .NoEquCalc
0439 640 .DispDaltaX2:
0439 F3 00 641 lda #>font
043B FC 28 642 sta PP
043D F1 00 643 lda font ;Font=Inputkey
043F A7 BD 644 cmpe #.DaltaX
0441 07 04 D0 645 brnz .DispDaltaY
0444 F3 02 646 lda #02h
0446 FC 28 647 sta PP
0448 F3 00 648 lda #0h
044A FC 21 649 sta DP
044C F2 650 lda i
044D A7 BD 651 cmpe #.DaltaX
044F 06 04 75 652 brz .LREstimate2
0452 653 .CkQR:
0452 20 00 00 654 call .Syntax
0455 F5 00 655 lda0 ErrorFlag
0457 A7 00 656 cmpe #0h
0459 06 02 02 657 brz .NoEquCalc
045C F3 00 658 lda #0h
045E F9 00 659 sta0 ErrorFlag
0460 F3 00 660 lda #>DaltaXcnt
0462 FC 28 661 sta PP
0464 F1 00 662 lda DaltaXcnt
0466 A7 02 663 cmpe #02h
0468 06 04 C6 664 brz .CalcQR_EstX1
046B F3 02 665 lda #02h
046D FD 00 666 sta DaltaXcnt
046F 20 00 00 667 call QR_EstimateX2
0472 02 03 3B 668 br .OnlyDisp
0475 669 .LREstimate2:
0475 F3 00 670 lda #>StateFlag
0477 FC 28 671 sta PP
0479 F1 00 672 lda StateFlag
047B CB 07 673 anda #07h
047D A7 06 674 cmpe #06h
047F 06 04 52 675 brz .CkQR
0482 A7 05 676 cmpe #05h
0484 06 04 9F 677 brz .InvEstimateX
0487 A7 04 678 cmpe #04h
0489 06 04 A8 679 brz .PwrEstimateX
048C A7 03 680 cmpe #03h
048E 06 04 B1 681 brz .ExpEstimateX
0491 A7 02 682 cmpe #02h
0493 06 04 BA 683 brz .LogEstimateX
0496 684 .LinEstimateX:
0496 20 00 00 685 call .LRX_trans_X
0499 20 00 00 686 call LR_EstimateX
049C 02 04 C0 687 br .EstAnsCarry
049F 688 .InvEstimateX:
049F 20 00 00 689 call .LRX_trans_X
04A2 20 00 00 690 call LR_InvEstimateX
04A5 02 04 C0 691 br .EstAnsCarry
04A8 692 .PwrEstimateX:
04A8 20 00 00 693 call .LRX_trans_X
04AB 20 00 00 694 call LR_PwrEstimateX
04AE 02 04 C0 695 br .EstAnsCarry
04B1 696 .ExpEstimateX:
04B1 20 00 00 697 call .LRX_trans_X
04B4 20 00 00 698 call LR_ExpEstimateX
04B7 02 04 C0 699 br .EstAnsCarry
04BA 700 .LogEstimateX:
04BA 20 00 00 701 call .LRX_trans_X
04BD 20 00 00 702 call LR_LnEstimateX
04C0 703 .EstAnsCarry:
04C0 20 00 00 704 call .Carry
04C3 02 03 3B 705 br .OnlyDisp
+ 706 ;-------------------------------------------
+ 707
04C6 708 .CalcQR_EstX1:
04C6 F3 01 709 lda #01h
04C8 FD 00 710 sta DaltaXcnt
04CA 20 00 00 711 call QR_EstimateX1
04CD 02 03 3B 712 br .OnlyDisp
04D0 713 .DispDaltaY:
04D0 F3 02 714 lda #02h
04D2 FC 28 715 sta PP
04D4 F3 00 716 lda #0h
04D6 FC 21 717 sta DP
04D8 F2 718 lda i
04D9 A7 BE 719 cmpe #.DaltaY
04DB 06 04 FA 720 brz .LREstimateY2
04DE 721 .CkQRY:
04DE 20 00 00 722 call .Syntax
04E1 F5 00 723 lda0 ErrorFlag
04E3 A7 00 724 cmpe #0h
04E5 06 02 02 725 brz .NoEquCalc
04E8 F3 00 726 lda #0h
04EA F9 00 727 sta0 ErrorFlag
04EC F3 00 728 lda #>DaltaXcnt
04EE FC 28 729 sta PP
04F0 F3 02 730 lda #02h
04F2 FD 00 731 sta DaltaXcnt
04F4 20 00 00 732 call QR_EstimateY
04F7 02 03 3B 733 br .OnlyDisp
04FA 734 .LREstimateY2:
04FA F3 00 735 lda #>StateFlag
04FC FC 28 736 sta PP
04FE F1 00 737 lda StateFlag
0500 CB 07 738 anda #07h
0502 A7 06 739 cmpe #06h
0504 06 04 DE 740 brz .CkQRY
0507 A7 05 741 cmpe #05h
0509 06 05 27 742 brz .InvEstimateY
050C A7 04 743 cmpe #04h
050E 06 05 33 744 brz .PwrEstimateY
0511 A7 03 745 cmpe #03h
0513 06 05 3F 746 brz .ExpEstimateY
0516 A7 02 747 cmpe #02h
0518 06 05 4B 748 brz .LogEstimateY
051B 749 .LinEstimateY:
051B 20 00 00 750 call .LRY_trans_Y
051E 20 00 00 751 call .Y_trans_X
0521 20 00 00 752 call LR_EstimateY
0524 02 04 C0 753 br .EstAnsCarry
0527 754 .InvEstimateY:
0527 20 00 00 755 call .LRY_trans_Y
052A 20 00 00 756 call .Y_trans_X
052D 20 00 00 757 call LR_InvEstimateY
0530 02 04 C0 758 br .EstAnsCarry
0533 759 .PwrEstimateY:
0533 20 00 00 760 call .LRY_trans_Y
0536 20 00 00 761 call .Y_trans_X
0539 20 00 00 762 call LR_PwrEstimateY
053C 02 04 C0 763 br .EstAnsCarry
053F 764 .ExpEstimateY:
053F 20 00 00 765 call .LRY_trans_Y
0542 20 00 00 766 call .Y_trans_X
0545 20 00 00 767 call LR_ExpEstimateY
0548 02 04 C0 768 br .EstAnsCarry
054B 769 .LogEstimateY:
054B 20 00 00 770 call .LRY_trans_Y
054E 20 00 00 771 call .Y_trans_X
0551 20 00 00 772 call LR_LnEstimateY
0554 02 04 C0 773 br .EstAnsCarry
+ 774 ;-------------------------------------------
0557 775 .MemoryCK:
0557 F3 01 776 lda #01h
0559 FC 28 777 sta PP
055B F3 00 778 lda #^(.MemoryCheck)
055D FC 54 779 sta TPP
055F F3 00 780 lda #@(.MemoryCheck)
0561 FC 02 781 sta TPH
0563 F3 00 782 lda #<(.MemoryCheck)
0565 FC 01 783 sta TPL
0567 784 .SearchMem:
0567 F8 785 ldv
0568 F9 01 786 sta0 .DataBuf+1
056A A7 FF 787 cmpe #0ffh
056C 06 05 BE 788 brz .ResetStoRcl
056F F3 00 789 lda #0h
0571 FC 28 790 sta PP
0573 F5 01 791 lda0 .DataBuf+1
0575 A7 A2 792 cmpe #0a2h ;ANS=A2
0577 06 05 BE 793 brz .ResetStoRcl
057A A5 00 794 cmpe .KeyPos
057C 07 05 67 795 brnz .SearchMem
057F F3 00 796 lda #>.SFlag
0581 FC 28 797 sta PP
0583 F1 00 798 lda .SFlag ;6 5 4 3
0585 CB 78 799 anda #78h ;AC RCL STO EQU
0587 A7 58 800 cmpe #58h ;AC STO EQU
0589 06 05 CA 801 brz .ClrStoRclFlag
058C F3 01 802 lda #01h ;STO Check
058E FC 28 803 sta PP
+ 804 ;lda .SetFlag
0590 F3 20 805 lda #20h ;ora #20h
0592 FD 00 806 sta .SetFlag
0594 F1 00 807 lda .SFlag
0596 CB 30 808 anda #30h
0598 A7 10 809 cmpe #10h ;SFlag 10 is Sto Mode
059A 06 05 A2 810 brz .CheckSto ; ;.DislayMode
059D A7 20 811 cmpe #20h ;SFlag 20 is Rcl Mode
059F 02 07 6B 812 br .RCLMemory
05A2 813 .CheckSto:
05A2 F3 00 814 lda #>.SFlag
05A4 FC 28 815 sta PP
05A6 F1 00 816 lda .SFlag
05A8 CB 08 817 anda #08h
05AA 06 02 02 818 brz .NoEquCalc
05AD F3 01 819 lda #01h
+ 820
05AF FC 28 821 sta PP
05B1 F1 00 822 lda StateFlag
05B3 CB 08 823 anda #08h
05B5 06 02 D8 824 brz .ModeDisp
05B8 20 00 00 825 call .IsBaseNMode
05BB 02 02 D8 826 br .ModeDisp
+ 827
05BE 828 .ResetStoRcl:
05BE F5 00 829 lda0 .KeyPos
05C0 A7 52 830 cmpe #.StoCode ;STO
05C2 06 03 C2 831 brz .EmitKeyD
05C5 A7 53 832 cmpe #.RclCode ;RCL
05C7 06 03 C2 833 brz .EmitKeyD
05CA 834 .ClrStoRclFlag:
05CA F3 01 835 lda #01h
05CC FC 28 836 sta PP
05CE F1 00 837 lda .SFlag
05D0 CB CF 838 anda #~30h
05D2 FD 00 839 sta .SFlag
05D4 02 03 C2 840 br .EmitKeyD
+ 841
+ 842 ;===========================================
05D7 843 .SetRND:
05D7 20 05 DD 844 call .CheckRndInp
05DA 02 03 C2 845 br .EmitKeyD
05DD 846 .CheckRndInp:
05DD F3 00 847 lda #>.SFlag
05DF FC 28 848 sta PP
05E1 F1 00 849 lda .SFlag
05E3 CB 08 850 anda #08h
05E5 06 06 06 851 brz 2$
05E8 F1 00 852 lda .SetFlag
05EA CB 1C 853 anda #1ch
05EC 07 05 F9 854 brnz 1$
05EF F1 00 855 lda DispFlag
05F1 CB C0 856 anda #0c0h
05F3 06 05 F9 857 brz 1$
05F6 20 00 00 858 call .OPZ2RND
+ 859 1$:
05F9 20 00 00 860 call .Z_trans_I ;I=Ans
05FC F3 01 861 lda #01h
05FE FC 28 862 sta PP
0600 F1 00 863 lda .SetFlag
0602 DB 01 864 ora #01h
0604 FD 00 865 sta .SetFlag
+ 866 2$:
0606 24 867 ret
+ 868 ;-------------------------------------------
0607 869 .DORnd:
0607 F5 00 870 lda0 .KeyPos
0609 A7 AA 871 cmpe #0aah
060B 06 06 27 872 brz 1$
060E A7 BB 873 cmpe #0bbh
0610 06 06 27 874 brz 1$
0613 A7 CE 875 cmpe #0ceh
0615 06 06 27 876 brz 1$
0618 A7 60 877 cmpe #60H
061A 07 01 03 878 brnz .EditModeInp
061D F3 00 879 lda #0h
061F F9 00 880 sta0 .KeyPos
0621 20 05 DD 881 call .CheckRndInp
0624 02 01 03 882 br .EditModeInp
+ 883 1$:
0627 20 07 FB 884 call .CheckRnd
062A 02 01 73 885 br .CalcResoult
+ 886 ;------------------------------------------
062D 887 .SetDRG:
062D F5 00 888 lda0 .KeyPos
062F A7 01 889 cmpe #01h
0631 06 06 41 890 brz .SetD
0634 A7 02 891 cmpe #02h
0636 06 06 48 892 brz .SetR
0639 A7 03 893 cmpe #03h
063B 06 06 4F 894 brz .SetG
063E 02 03 C2 895 br .EmitKeyD
0641 896 .SetD:
0641 F3 AA 897 lda #0aah
0643 F9 00 898 sta0 .KeyPos
0645 02 06 53 899 br .ClrScreen
0648 900 .SetR:
0648 F3 BB 901 lda #0bbh
064A F9 00 902 sta0 .KeyPos
064C 02 06 53 903 br .ClrScreen
064F 904 .SetG:
064F F3 CE 905 lda #0ceh
0651 F9 00 906 sta0 .KeyPos
0653 907 .ClrScreen:
0653 F3 02 908 lda #02h
0655 FC 28 909 sta PP
0657 F3 00 910 lda #0h
0659 FC 21 911 sta DP
065B F2 912 lda i
065C A7 A2 913 cmpe #0a2h
065E 07 06 64 914 brnz .DispScreen
0661 20 00 00 915 call .ClrP2Data
0664 916 .DispScreen:
0664 F3 00 917 lda #>.SRFlag
0666 FC 28 918 sta PP
0668 F3 00 919 lda #0h
066A FD 00 920 sta .SRFlag
066C 20 00 00 921 call Clrfullmatrix
066F 20 00 00 922 call Clrfullseg
0672 20 00 00 923 call Rightchk
0675 20 00 00 924 call ChkDispAns
0678 20 00 00 925 call ShowAnschk
067B F3 01 926 lda #01h
067D FC 28 927 sta PP
067F F1 00 928 lda .SetFlag
0681 CB FD 929 anda #~02h
0683 FD 00 930 sta .SetFlag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -