📄 caldisp.asl
字号:
+ 616
03D6 F1 00 617 lda GetCount
03D8 FD 00 618 sta dig_num
03DA 20 00 00 619 call Display_5X7
03DD 620 PP2One()
03E1 20 01 B3 621 call RightGetCount
03E4 F1 09 622 lda startbf
03E6 1F 623 inca
03E7 FD 09 624 sta startbf
03E9 F1 07 625 lda chklengthbf
03EB A7 01 626 cmpe #C_ONE
03ED 06 04 08 627 brz Allerrordispend
03F0 3F 628 deca
03F1 FD 07 629 sta chklengthbf
03F3 02 03 BF 630 br disperrorloop
+ 631
03F6 632 Allerrordispend1:
03F6 F3 00 633 lda #C_ZERO
03F8 F9 00 634 sta0 .KeyPos
03FA F9 00 635 sta0 ErrorFlag
03FC 20 00 00 636 call .ClrZ
03FF 20 1C 95 637 call Clrfullseg
0402 20 09 ED 638 call ChkDispAns
0405 20 0A 6F 639 call ShowAnschk
+ 640
0408 641 Allerrordispend:
0408 24 642 ret
+ 643 ;------------------------------------------------------------------------
+ 644 ;------------------------------------------------------------------------
0409 645 Leftchk:
0409 F5 00 646 lda0 .DataDP
040B A7 00 647 cmpe #C_ZERO
040D 06 04 DC 648 brz leftchkend
+ 649
0410 650 PP2One()
0414 F5 00 651 lda0 .SFDP
0416 A7 00 652 cmpe #C_ZERO
0418 07 04 1E 653 brnz doleftchk
041B 02 04 DC 654 br leftchkend
+ 655
041E 656 doleftchk:
041E 20 1C 70 657 call Clrfullmatrix
0421 658 notfullleft:
0421 659 PP2One()
0425 F3 0C 660 lda #C_12
0427 FD 00 661 sta GetCount
+ 662
0429 F3 02 663 lda #C_TWO
042B FD 06 664 sta cmpPP
042D F3 00 665 lda #C_ZERO
042F FD 05 666 sta cmpDP
0431 667 nfleftloop:
0431 20 01 C2 668 call Addplace
0434 20 03 0C 669 call Chklength
0437 670 PP2One()
043B F1 00 671 lda GetCount
043D A9 08 672 suba displength
043F FD 00 673 sta GetCount
0441 05 04 81 674 brnc fullleft
0444 F5 00 675 lda0 .SFDP
0446 A5 05 676 cmpe cmpDP
0448 07 04 31 677 brnz nfleftloop
+ 678
+ 679
044B 680 nfldisp:
044B 681 PP2One()
044F F3 0B 682 lda #C_11
0451 FD 00 683 sta GetCount
+ 684
0453 F3 02 685 lda #C_TWO
0455 FD 06 686 sta cmpPP
0457 F3 00 687 lda #C_ZERO
0459 FD 05 688 sta cmpDP
045B 689 nfldisploop:
045B 20 01 C2 690 call Addplace
045E 691 PP2One()
0462 F5 00 692 lda0 .SFDP
0464 A5 05 693 cmpe cmpDP
0466 07 04 6D 694 brnz keepnfldisp
0469 F1 00 695 lda GetCount
046B FD 02 696 sta blankCount
+ 697
046D 698 keepnfldisp:
046D 20 01 FA 699 call Font2disp
+ 700
0470 F1 00 701 lda GetCount
0472 A7 FF 702 cmpe #MAX
0474 06 04 DC 703 brz leftchkend
0477 F5 00 704 lda0 .DataDP
0479 A5 05 705 cmpe cmpDP
047B 07 04 5B 706 brnz nfldisploop
047E 02 04 DC 707 br leftchkend
+ 708
+ 709
0481 710 fullleft:
0481 711 PP2One()
0485 F3 0C 712 lda #C_12
0487 FD 00 713 sta GetCount
0489 F3 02 714 lda #C_TWO
048B FD 06 715 sta cmpPP
048D F5 00 716 lda0 .SFDP
048F FD 05 717 sta cmpDP
0491 718 leftloop:
0491 20 01 DF 719 call Decplace
0494 20 03 0C 720 call Chklength
0497 721 PP2One()
049B F1 00 722 lda GetCount
049D A9 08 723 suba displength
049F FD 00 724 sta GetCount
04A1 05 04 AE 725 brnc set2leftdisp
04A4 F1 05 726 lda cmpDP
04A6 A7 00 727 cmpe #C_ZERO
04A8 07 04 91 728 brnz leftloop
04AB 02 04 AE 729 br set2leftdisp
+ 730
+ 731
+ 732
04AE 733 set2leftdisp:
04AE 734 PP2One()
04B2 F3 0B 735 lda #C_11
04B4 FD 00 736 sta GetCount
04B6 20 01 C2 737 call Addplace
04B9 738 leftdisploop:
+ 739
04B9 20 01 C2 740 call Addplace
04BC 741 PP2One()
04C0 F5 00 742 lda0 .SFDP
04C2 A5 05 743 cmpe cmpDP
04C4 07 04 CB 744 brnz keepleftdisp
04C7 F1 00 745 lda GetCount
04C9 FD 02 746 sta blankCount
+ 747
04CB 748 keepleftdisp:
04CB 20 01 FA 749 call Font2disp
04CE F1 00 750 lda GetCount
04D0 A7 FF 751 cmpe #MAX
04D2 06 04 DC 752 brz leftchkend
04D5 F5 00 753 lda0 .DataDP
04D7 A5 05 754 cmpe cmpDP
04D9 07 04 B9 755 brnz leftdisploop
04DC 756 leftchkend:
04DC 24 757 ret
+ 758 ;------------------------------------------------------------------------
04DD 759 Rightchk::
04DD 760 PP2One()
04E1 F1 00 761 lda .SetFlag
04E3 CB 20 762 anda #BLANKCHK
04E5 07 06 32 763 brnz Matrixanschk
+ 764
04E8 F5 00 765 lda0 .SFDP
04EA A7 00 766 cmpe #C_ZERO
04EC 07 04 F2 767 brnz dorightchk
04EF 02 05 BD 768 br lastchk
04F2 769 dorightchk:
04F2 F5 00 770 lda0 .DataDP
04F4 A7 00 771 cmpe #C_ZERO
04F6 06 06 31 772 brz rightchkend
04F9 20 1C 70 773 call Clrfullmatrix
04FC 774 notfullright:
04FC 775 PP2One()
0500 F3 0C 776 lda #C_12
0502 FD 00 777 sta GetCount
+ 778
0504 F3 02 779 lda #C_TWO
0506 FD 06 780 sta cmpPP
0508 F3 00 781 lda #C_ZERO
050A FD 05 782 sta cmpDP
050C 783 nfrightloop:
050C 20 01 C2 784 call Addplace
050F 20 03 0C 785 call Chklength
0512 786 PP2One()
0516 F1 00 787 lda GetCount
0518 A9 08 788 suba displength
051A FD 00 789 sta GetCount
051C 05 05 5F 790 brnc fullright
051F F5 00 791 lda0 .SFDP
0521 A5 05 792 cmpe cmpDP
0523 07 05 0C 793 brnz nfrightloop
0526 02 05 29 794 br nfrdisp
+ 795
0529 796 nfrdisp:
0529 797 PP2One()
052D F3 0B 798 lda #C_11
052F FD 00 799 sta GetCount
+ 800
0531 F3 02 801 lda #C_TWO
0533 FD 06 802 sta cmpPP
0535 F3 00 803 lda #C_ZERO
0537 FD 05 804 sta cmpDP
0539 805 nfrdisploop:
0539 20 01 C2 806 call Addplace
053C 807 PP2One()
0540 F5 00 808 lda0 .SFDP
0542 A5 05 809 cmpe cmpDP
0544 07 05 4B 810 brnz keepnfrdisp
0547 F1 00 811 lda GetCount
0549 FD 02 812 sta blankCount
+ 813
054B 814 keepnfrdisp:
054B 20 01 FA 815 call Font2disp
+ 816
054E F1 00 817 lda GetCount
0550 A7 FF 818 cmpe #MAX
0552 06 06 31 819 brz rightchkend
0555 F5 00 820 lda0 .DataDP
0557 A5 05 821 cmpe cmpDP
0559 07 05 39 822 brnz nfrdisploop
055C 02 06 31 823 br rightchkend
+ 824
+ 825
055F 826 fullright:
055F 827 PP2One()
0563 F3 0C 828 lda #C_12
0565 FD 00 829 sta GetCount
0567 F3 02 830 lda #C_TWO
0569 FD 06 831 sta cmpPP
056B F5 00 832 lda0 .SFDP
056D FD 05 833 sta cmpDP
056F 834 rightloop:
056F 20 01 DF 835 call Decplace
0572 20 03 0C 836 call Chklength
0575 837 PP2One()
0579 F1 00 838 lda GetCount
057B A9 08 839 suba displength
057D FD 00 840 sta GetCount
057F 05 05 8C 841 brnc set2rightdisp
0582 F1 05 842 lda cmpDP
0584 A7 00 843 cmpe #C_ZERO
0586 07 05 6F 844 brnz rightloop
0589 02 05 8C 845 br set2rightdisp
+ 846
+ 847
+ 848
058C 849 set2rightdisp:
058C 850 PP2One()
0590 F3 0B 851 lda #C_11
0592 FD 00 852 sta GetCount
0594 20 01 C2 853 call Addplace
0597 854 rightdisploop:
+ 855
0597 20 01 C2 856 call Addplace
059A 857 PP2One()
059E F5 00 858 lda0 .SFDP
05A0 A5 05 859 cmpe cmpDP
05A2 07 05 A9 860 brnz keeprightdisp
05A5 F1 00 861 lda GetCount
05A7 FD 02 862 sta blankCount
+ 863
05A9 864 keeprightdisp:
05A9 20 01 FA 865 call Font2disp
05AC F1 00 866 lda GetCount
05AE A7 FF 867 cmpe #MAX
05B0 06 06 31 868 brz rightchkend
05B3 F5 00 869 lda0 .DataDP
05B5 A5 05 870 cmpe cmpDP
05B7 07 05 97 871 brnz rightdisploop
05BA 02 06 31 872 br rightchkend
+ 873
+ 874
+ 875
+ 876
05BD 877 lastchk:
05BD 878 PP2Zero()
05C1 F1 00 879 lda .SFDP
05C3 A5 00 880 cmpe .DataDP
05C5 07 05 DC 881 brnz keepdolast
+ 882
05C8 20 1C 70 883 call Clrfullmatrix
05CB 884 PP2One()
05CF 20 1C 48 885 call Rekeyindisp2
05D2 886 clrpage2:
+ 887
+ 888
+ 889
05D2 20 00 00 890 call ClrPP2
05D5 891 PP2One()
05D9 02 06 31 892 br rightchkend
+ 893
05DC 894 keepdolast:
05DC 20 1C 70 895 call Clrfullmatrix
05DF 896 PP2One()
05E3 F3 0B 897 lda #C_11
05E5 FD 00 898 sta GetCount
+ 899
05E7 F3 02 900 lda #C_TWO
05E9 FD 06 901 sta cmpPP
05EB F3 00 902 lda #C_ZERO
05ED FD 05 903 sta cmpDP
05EF 904 chkoverloop:
05EF 20 01 C2 905 call Addplace
05F2 20 03 0C 906 call Chklength
05F5 907 PP2One()
05F9 F1 00 908 lda GetCount
05FB A9 08 909 suba displength
05FD FD 00 910 sta GetCount
05FF 05 01 14 911 brnc Fulldisp
0602 F5 00 912 lda0 .DataDP
0604 A5 05 913 cmpe cmpDP
0606 07 05 EF 914 brnz chkoverloop
0609 02 06 0C 915 br notoverdisp
+ 916
+ 917
060C 918 notoverdisp:
+ 919
060C 920 PP2One()
0610 F3 0B 921 lda #C_11
0612 FD 00 922 sta GetCount
+ 923
0614 F3 02 924 lda #C_TWO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -