📄 caldisp.asl
字号:
0616 FD 06 925 sta cmpPP
0618 F3 00 926 lda #C_ZERO
061A FD 05 927 sta cmpDP
061C 928 novdisploop:
061C 20 01 C2 929 call Addplace
061F 20 01 FA 930 call Font2disp
0622 931 PP2One()
0626 F5 00 932 lda0 .DataDP
0628 A5 05 933 cmpe cmpDP
062A 07 06 1C 934 brnz novdisploop
062D F1 00 935 lda GetCount
062F FD 02 936 sta blankCount
0631 937 rightchkend:
0631 24 938 ret
+ 939 ;------------------------------------------------------------------------
+ 940 ;------------------------------------------------------------------------
0632 941 Matrixanschk:
0632 F5 00 942 lda0 .DataDP
0634 A7 00 943 cmpe #C_ZERO
0636 06 06 64 944 brz Matrixanschkend
0639 20 1C 70 945 call Clrfullmatrix
063C 946 Mansdisp:
063C 947 PP2One()
0640 F3 0B 948 lda #C_11
0642 FD 00 949 sta GetCount
+ 950
0644 F3 02 951 lda #C_TWO
0646 FD 06 952 sta cmpPP
0648 F3 00 953 lda #C_ZERO
064A FD 05 954 sta cmpDP
064C 955 Mdisploop:
064C 20 01 C2 956 call Addplace
+ 957
064F 20 01 FA 958 call Font2disp
+ 959
+ 960
0652 F1 00 961 lda GetCount
0654 A7 FF 962 cmpe #MAX
0656 06 06 64 963 brz Matrixanschkend
0659 964 PP2One()
065D F5 00 965 lda0 .DataDP
065F A5 05 966 cmpe cmpDP
0661 07 06 4C 967 brnz Mdisploop
+ 968
0664 969 Matrixanschkend:
0664 24 970 ret
+ 971 ;------------------------------------------------------------------------
+ 972 ;------------------------------------------------------------------------
+ 973
0665 974 Chkkeylr::
+ 975
0665 F3 00 976 lda #>ErrorFlag
0667 FC 28 977 sta PP
0669 F3 00 978 lda #<ErrorFlag
066B FC 21 979 sta DP
066D F2 980 lda i
066E A7 00 981 cmpe #C_ZERO
0670 07 07 3A 982 brnz chkkeylrend0
+ 983
0673 984 PP2One()
0677 F3 00 985 lda #C_ZERO
0679 FD 00 986 sta Insetflag
067B F1 00 987 lda .SFlag
067D CB 08 988 anda #EQUCHK
067F 07 06 91 989 brnz chkkeyEqu
+ 990
0682 F5 00 991 lda0 .KeyPos
0684 A7 CC 992 cmpe #LEFTKEY
0686 06 06 A0 993 brz LeftGo
0689 A7 DD 994 cmpe #RIGHTKEY
068B 06 06 CE 995 brz RightGo
068E 02 07 36 996 br chkkeylrend1
+ 997
+ 998
0691 999 chkkeyEqu:
0691 F5 00 1000 lda0 .KeyPos
0693 A7 CC 1001 cmpe #LEFTKEY
0695 06 07 28 1002 brz chkkeylrend2
0698 A7 DD 1003 cmpe #RIGHTKEY
069A 06 07 0C 1004 brz chkkeylrend3
069D 02 07 36 1005 br chkkeylrend1
+ 1006
+ 1007
+ 1008
+ 1009
06A0 1010 LeftGo:
06A0 1011 PP2One()
06A4 F5 00 1012 lda0 .SFDP
06A6 A7 00 1013 cmpe #C_ZERO
06A8 07 06 B2 1014 brnz 3$
+ 1015 2$:
06AB F5 00 1016 lda0 .DataDP
06AD F9 00 1017 sta0 .SFDP
06AF 02 07 3A 1018 br chkkeylrend0
+ 1019
+ 1020 3$:
06B2 F3 02 1021 lda #C_TWO
06B4 FD 06 1022 sta cmpPP
06B6 F5 00 1023 lda0 .SFDP
06B8 FD 05 1024 sta cmpDP
06BA 20 01 DF 1025 call Decplace
06BD F1 05 1026 lda cmpDP
06BF A7 00 1027 cmpe #C_ZERO
06C1 07 06 C7 1028 brnz 4$
06C4 02 07 01 1029 br chkkeylrend4
+ 1030 4$:
06C7 F1 05 1031 lda cmpDP
06C9 F9 00 1032 sta0 .SFDP
06CB 02 07 3A 1033 br chkkeylrend0
+ 1034
+ 1035
+ 1036
06CE 1037 RightGo:
06CE 1038 PP2One()
06D2 F5 00 1039 lda0 .SFDP
06D4 A7 00 1040 cmpe #C_ZERO
06D6 06 07 01 1041 brz chkkeylrend4
+ 1042 1$:
06D9 1043 PP2Zero()
06DD F1 00 1044 lda .SFDP
06DF A5 00 1045 cmpe .DataDP
06E1 07 06 EB 1046 brnz 2$
06E4 1047 PP2One()
06E8 02 07 36 1048 br chkkeylrend1
+ 1049
06EB 1050 2$: PP2One()
06EF F3 02 1051 lda #C_TWO
06F1 FD 06 1052 sta cmpPP
06F3 F5 00 1053 lda0 .SFDP
06F5 FD 05 1054 sta cmpDP
06F7 20 01 C2 1055 call Addplace
06FA F1 05 1056 lda cmpDP
06FC F9 00 1057 sta0 .SFDP
06FE 02 07 3A 1058 br chkkeylrend0
+ 1059
0701 1060 chkkeylrend4:
0701 F1 00 1061 lda .SFlag
0703 CB BF 1062 anda #~ACCHK
0705 FD 00 1063 sta .SFlag
0707 F3 02 1064 lda #C_TWO
0709 02 07 58 1065 br chkkeylrend
+ 1066
+ 1067
070C 1068 chkkeylrend3:
070C 1069 PP2One()
0710 F1 00 1070 lda .SetFlag
0712 CB DF 1071 anda #~BLANKCHK
0714 FD 00 1072 sta .SetFlag
0716 F3 00 1073 lda #C_ZERO
0718 FD 05 1074 sta cmpDP
071A F3 02 1075 lda #C_TWO
071C FD 06 1076 sta cmpPP
071E 20 01 C2 1077 call Addplace
0721 F1 05 1078 lda cmpDP
0723 F9 00 1079 sta0 .SFDP
0725 02 07 3A 1080 br chkkeylrend0
+ 1081
+ 1082
0728 1083 chkkeylrend2:
0728 1084 PP2One()
072C F1 00 1085 lda .SetFlag
072E CB DF 1086 anda #~BLANKCHK
0730 FD 00 1087 sta .SetFlag
0732 F3 DD 1088 lda #RIGHTKEY
0734 F9 00 1089 sta0 .KeyPos
0736 1090 chkkeylrend1:
0736 F3 00 1091 lda #C_ZERO
0738 F9 00 1092 sta0 .SFDP
073A 1093 chkkeylrend0:
073A F3 00 1094 lda #>.SRFlag
073C FC 28 1095 sta PP
073E F3 00 1096 lda #C_ZERO
0740 FD 00 1097 sta .SRFlag
0742 1098 PP2One()
0746 F1 00 1099 lda .SFlag
0748 CB B7 1100 anda #~(ACCHK|EQUCHK)
074A FD 00 1101 sta .SFlag
074C F1 0B 1102 lda T1Flag
074E DB 80 1103 ora #TIMEGO
0750 FD 0B 1104 sta T1Flag
0752 F3 00 1105 lda #C_ZERO
0754 FD 03 1106 sta t1count
0756 F3 01 1107 lda #C_ONE
0758 1108 chkkeylrend:
0758 24 1109 ret
+ 1110 ;------------------------------------------------------------------------
+ 1111 ;------------------------------------------------------------------------
0759 1112 T1chkblank::
+ 1113
0759 1114 allblankchk:
0759 1115 PP2One()
075D F1 0B 1116 lda T1Flag
075F CB 80 1117 anda #TIMEGO
0761 06 09 07 1118 brz T1chkblankend1
0764 F5 00 1119 lda0 ErrorFlag
0766 A7 00 1120 cmpe #C_ZERO
0768 07 08 F5 1121 brnz T1chkblankend ;ChkT1end
076B F5 00 1122 lda0 .ModeFlag
076D CB F0 1123 anda #MASKLO
076F 07 08 F5 1124 brnz T1chkblankend ;ChkT1end
0772 F1 01 1125 lda BasenFlag
0774 CB 0F 1126 anda #MASKHI
0776 07 08 F5 1127 brnz T1chkblankend ;ChkT1end
0779 F1 00 1128 lda .SetFlag
077B CB 22 1129 anda #(DRGCHK|BLANKCHK)
077D 07 08 F5 1130 brnz T1chkblankend ;ChkT1end
+ 1131
+ 1132
0780 F1 00 1133 lda .SFlag
0782 CB 40 1134 anda #ACCHK
0784 07 07 99 1135 brnz normalblank
+ 1136
0787 F1 02 1137 lda blankCount
0789 A7 FF 1138 cmpe #MAX
078B 07 07 92 1139 brnz 1$
078E F3 00 1140 lda #C_ZERO
0790 FD 02 1141 sta blankCount
+ 1142 1$:
+ 1143
0792 F5 00 1144 lda0 .SFDP
0794 A7 00 1145 cmpe #C_ZERO
0796 07 08 2D 1146 brnz spblank
+ 1147
0799 1148 normalblank:
0799 F5 00 1149 lda0 .DataDP
079B A7 49 1150 cmpe #WILLFULL
079D 05 07 B9 1151 brnc 0$
07A0 F1 03 1152 lda t1count
07A2 A7 00 1153 cmpe #C_ZERO
07A4 06 07 FC 1154 brz 1$
07A7 A7 01 1155 cmpe #C_ONE
07A9 06 08 96 1156 brz Display_t1
07AC A7 07 1157 cmpe #C_SEVEN
07AE 06 08 26 1158 brz 2$
07B1 A7 08 1159 cmpe #C_EIGHT
07B3 06 08 96 1160 brz Display_t1
07B6 02 08 F5 1161 br T1chkblankend
+ 1162
07B9 F1 03 1163 0$: lda t1count
07BB A7 01 1164 cmpe #C_ONE
07BD 06 08 A4 1165 brz Display_t1_1
07C0 A7 02 1166 cmpe #C_TWO
07C2 06 08 B2 1167 brz Display_t1_2
07C5 A7 03 1168 cmpe #C_THREE
07C7 06 08 C0 1169 brz Display_t1_3
07CA A7 04 1170 cmpe #C_FOUR
07CC 06 08 CE 1171 brz Display_t1_4
07CF A7 05 1172 cmpe #C_FIVE
07D1 06 08 DC 1173 brz Display_t1_5
07D4 A7 06 1174 cmpe #C_SIX
07D6 06 08 EA 1175 brz Display_t1_6
07D9 A7 07 1176 cmpe #C_SEVEN
07DB 06 08 26 1177 brz 2$
07DE A7 08 1178 cmpe #C_EIGHT
07E0 06 08 A4 1179 brz Display_t1_1
07E3 A7 09 1180 cmpe #C_NINE
07E5 06 08 B2 1181 brz Display_t1_2
07E8 A7 0A 1182 cmpe #C_TEN
07EA 06 08 C0 1183 brz Display_t1_3
07ED A7 0B 1184 cmpe #C_11
07EF 06 08 CE 1185 brz Display_t1_4
07F2 A7 0C 1186 cmpe #C_12
07F4 06 08 DC 1187 brz Display_t1_5
07F7 A7 0D 1188 cmpe #C_13
07F9 06 08 EA 1189 brz Display_t1_6
+ 1190
+ 1191
07FC F1 00 1192 1$: lda Insetflag
07FE A7 01 1193 cmpe #C_ONE
0800 06 08 1F 1194 brz 12$
0803 F1 00 1195 lda .SFlag
0805 CB 40 1196 anda #ACCHK
0807 07 08 11 1197 brnz 10$
080A F5 00 1198 lda0 .DataDP
080C A7 49 1199 cmpe #WILLFULL
080E 04 08 18 1200 brc 11$
0811 F3 5F 1201 10$: lda #SPACEDISP
0813 FD FA 1202 sta t1dispbf
0815 02 08 F5 1203 br T1chkblankend
0818 F3 10 1204 11$: lda #BLANKDISP
081A FD FA 1205 sta t1dispbf
081C 02 08 F5 1206 br T1chkblankend
081F F3 11 1207 12$: lda #INSETDISP
0821 FD FA 1208 sta t1dispbf
0823 02 08 F5 1209 br T1chkblankend
0826 F3 00 1210 2$: lda #C_ZERO
0828 FD FA 1211 sta t1dispbf
082A 02 08 F5 1212 br T1chkblankend
+ 1213
082D 1214 spblank:
082D F1 03 1215 lda t1count
082F A7 00 1216 cmpe #C_ZERO
0831 06 08 46 1217 brz dispspace
0834 A7 01 1218 cmpe #C_ONE
0836 06 08 96 1219 brz Display_t1
0839 A7 07 1220 cmpe #C_SEVEN
083B 06 08 84 1221 brz dispword
083E A7 08 1222 cmpe #C_EIGHT
0840 06 08 96 1223 brz Display_t1
0843 02 08 F5 1224 br T1chkblankend
0846 1225 dispspace:
0846 F1 00 1226 lda Insetflag
0848 A7 01 1227 cmpe #C_ONE
084A 06 08 62 1228 brz 2$
084D F5 00 1229 lda0 .DataDP
084F A7 49 1230 cmpe #WILLFULL
0851 04 08 5B 1231 brc 1$
0854 F3 5F 1232 lda #SPACEDISP
0856 FD FA 1233 sta t1dispbf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -