⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 postfix.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
0756 06 09 E0       972 		brz	.StoInPosfix
0759 F5 00          973 		lda0	Temp2
075B F9 00          974 		sta0	.Buf1
075D F3 01          975 		lda	#01h
075F F9 00          976 		sta0	.BeforePari
0761 02 00 0A       977 		br	.IN2PS
0764                978 .CKFuncOrdms:
0764 F5 00          979 		lda0	.DmsCount
0766 A7 00          980 		cmpe	#0h
0768 06 09 EA       981 		brz	.MemAddMulCls
076B 02 09 E0       982 		br	.StoInPosfix	
076E                983 .FuncCheck:
076E F3 01          984 		lda	#01h
0770 FC 28          985 		sta	PP
0772 F3 01          986 		lda	#01h
0774 FD 00          987 		sta	.FunctFlag
0776 F3 00          988 		lda	#0h
0778 F9 00          989 		sta0	.PointFlag
077A F9 00          990 		sta0	.DmsCount		 		 
077C F5 00          991 		lda0	.DataBuf
077E F9 00          992 		sta0	Temp2
0780 F5 00          993 		lda0	.Buf1
0782 F9 00          994 		sta0	.DataBuf
0784 F9 01          995 		sta0	.DataBuf+1
0786 20 0A 64       996 		call	.CheckPari
0789 20 0E F1       997 		call	.CheckMem
078C F5 00          998 		lda0	Temp2
078E F9 00          999 		sta0	.DataBuf
0790 F5 00         1000 		lda0	.AfterPari
0792 F9 00         1001 		sta0	.BeforePari
0794 F5 00         1002 		lda0	.DataBuf
0796 F9 01         1003 		sta0	.DataBuf+1
0798 20 0A 64      1004 		call	.CheckPari
079B 20 0E F1      1005 		call	.CheckMem
079E F5 00         1006 		lda0	.AfterPari
07A0 A7 05         1007 		cmpe	#05h
07A2 06 08 C6      1008 		brz	.CheckPari9
07A5 A7 06         1009 		cmpe	#06h		;05
07A7 06 07 C1      1010 		brz	.CheckPari5
07AA A7 09         1011 		cmpe	#09h
07AC 06 08 C6      1012 		brz	.CheckPari9
07AF A7 0A         1013 		cmpe	#0ah
07B1 06 08 7E      1014 		brz	.CheckParia
07B4 A7 0B         1015 		cmpe	#0bh
07B6 06 08 FE      1016 		brz	.CheckParib
07B9 A7 0C         1017 		cmpe	#0ch
07BB 06 08 FE      1018 		brz	.CheckParib		
07BE 02 00 0A      1019 		br	.IN2PS
07C1               1020 .CheckPari5:	
07C1 F5 00         1021 		lda0	.FormulaFlag
07C3 A7 01         1022 		cmpe	#01h
07C5 07 07 D2      1023 		brnz	.DOPari5
07C8 F5 00         1024 		lda0	.INDP
07CA A7 03         1025 		cmpe	#03h
07CC 07 07 D2      1026 		brnz	.DOPari5
07CF 02 0A 35      1027 		br	.PushTOStack
07D2               1028 .DOPari5:					
07D2 F5 00         1029 		lda0	.INDP
07D4 A7 01         1030 		cmpe	#01h
07D6 06 0A 35      1031 		brz	.PushTOStack		
07D9 F5 00         1032 		lda0	.Buf1
07DB A7 A8         1033 		cmpe	#.Negative		
07DD 06 08 4D      1034 		brz	.Chkckdecflag	;.PushStack
07E0 A7 B2         1035 		cmpe	#.LC
07E2 06 0D 94      1036 		brz	.LC2Stack	;	.PushStack		
07E5 A7 B4         1037 		cmpe	#.Comma		
07E7 06 0C 20      1038 		brz	.PushStack
07EA A7 AE         1039 		cmpe	#0aeh		;add
07EC 06 09 91      1040 		brz	.AddMulCls
07EF A7 B0         1041 		cmpe	#0b0h
07F1 06 0C 20      1042 		brz	.PushStack		 
07F4 A7 AB         1043 		cmpe	#.Degree
07F6 06 09 76      1044 		brz	.ClrDmsaddmul
07F9 A7 AC         1045 		cmpe	#.Minute
07FB 06 09 76      1046 		brz	.ClrDmsaddmul
07FE A7 AD         1047 		cmpe	#.Second
0800 06 09 76      1048 		brz	.ClrDmsaddmul
0803 F5 00         1049 		lda0	.BeforePari
0805 A7 00         1050 		cmpe	#0h
0807 06 09 9B      1051 		brz	.AddMul
080A A7 01         1052 		cmpe	#01h
080C 06 09 91      1053 		brz	.AddMulCls
080F A7 02         1054 		cmpe	#02h
0811 06 09 91      1055 		brz	.AddMulCls
0814 A7 03         1056 		cmpe	#03h
0816 06 08 4D      1057 		brz	.Chkckdecflag
0819 A7 04         1058 		cmpe	#04h
081B 06 08 4D      1059 		brz	.Chkckdecflag 
081E A7 06         1060 		cmpe	#06h		;05h
0820 06 0A 35      1061 		brz	.PushTOStack
0823 A7 07         1062 		cmpe	#07h		;06
0825 06 0C 20      1063 		brz	.PushStack	;.AddMulCls
0828 A7 08         1064 		cmpe	#08h		;06
082A 06 0C 20      1065 		brz	.PushStack	;.AddMulCls
082D A7 0A         1066 		cmpe	#0ah
082F 06 09 91      1067 		brz	.AddMulCls 
0832 A7 09         1068 		cmpe	#09h
0834 06 0D 94      1069 		brz	.LC2Stack;.PushStack 
0837 A7 0C         1070 		cmpe	#0ch
0839 06 0C 20      1071 		brz	.PushStack
083C A7 0B         1072 		cmpe	#0bh
083E 06 0A 35      1073 		brz	.PushTOStack;.PushStack		  			
0841 A7 00         1074 		cmpe	#0h
0843 06 0C 20      1075 		brz	.PushStack
0846 F5 00         1076 		lda0	.DataBuf
0848 F9 00         1077 		sta0	.Buf1
084A 02 00 0A      1078 		br	.IN2PS
084D               1079 .Chkckdecflag:
084D F5 00         1080 		lda0	.DecFlag
084F CB 01         1081 		anda	#01h
0851 06 0C 20      1082 		brz	.PushStack
0854 F3 00         1083 		lda	#0h
0856 F9 00         1084 		sta0	.DecFlag
0858 F5 00         1085 		lda0	.DataBuf
085A F9 00         1086 		sta0	Temp3
085C F3 A8         1087 		lda	#.Negative		
085E F9 00         1088 		sta0	.DataBuf
0860 20 0D 6B      1089 		call	.StoStack	;.PushData
0863 F5 00         1090 		lda0	Temp3
0865 F9 00         1091 		sta0	.DataBuf
0867 02 0A 35      1092 		br	.PushTOStack	
086A               1093 .CKdms5:
086A F5 00         1094 		lda0	.DmsCount
086C A7 00         1095 		cmpe	#0h
086E 07 03 5C      1096 		brnz	.SynErr	
0871 02 09 91      1097 		br	.AddMulCls
0874               1098 .CKdms9:
0874 F5 00         1099 		lda0	.DmsCount
0876 A7 00         1100 		cmpe	#0h
0878 07 03 5C      1101 		brnz	.SynErr	
087B 02 0C 1D      1102 		br	.PushStackCLS				
087E               1103 .CheckParia:
087E F5 00         1104 		lda0	.Buf1
0880 A7 AB         1105 		cmpe	#.Degree
0882 06 09 6F      1106 		brz	.ClrDmsPushStack	;.ClrDmsaddmul
0885 A7 AC         1107 		cmpe	#.Minute
0887 06 09 6F      1108 		brz	.ClrDmsPushStack	;.ClrDmsaddmul
088A A7 AD         1109 		cmpe	#.Second
088C 06 09 6F      1110 		brz	.ClrDmsPushStack	;.ClrDmsaddmul
088F F5 00         1111 		lda0	.BeforePari
0891 A7 00         1112 		cmpe	#0h
0893 06 0C 20      1113 		brz	.PushStack
0896 A7 01         1114 		cmpe	#01h
0898 06 0C 20      1115 		brz	.PushStack
089B A7 02         1116 		cmpe	#02h
089D 06 0C 20      1117 		brz	.PushStack
08A0 A7 06         1118 		cmpe	#06h		;06h
08A2 06 0C 20      1119 		brz	.PushStack 
08A5 A7 09         1120 		cmpe	#09h		;06h
08A7 06 08 C0      1121 		brz	.DmsPopAE	;.PushStack 
08AA A7 0A         1122 		cmpe	#0ah
08AC 06 0C 1D      1123 		brz	.PushStackCls
08AF A7 0B         1124 		cmpe	#0bh
08B1 06 09 7D      1125 		brz	.ClrDmsaddmulcls
08B4 A7 0C         1126 		cmpe	#0ch
08B6 06 09 7D      1127 		brz	.ClrDmsaddmulcls		 
08B9 F5 00         1128 		lda0	.DataBuf
08BB F9 00         1129 		sta0	.Buf1
08BD 02 00 0A      1130 		br	.IN2PS
08C0               1131 .DmsPopAE:
08C0 20 0C 85      1132 		call	.PopData
08C3 02 00 0A      1133 		br	.IN2PS		
08C6               1134 .CheckPari9:	
+                  1135 
08C6 F5 00         1136 		lda0	.Buf1
08C8 A7 AB         1137 		cmpe	#.Degree
08CA 06 0C 20      1138 		brz	.PushStack 	;.SynErr
08CD A7 AC         1139 		cmpe	#.Minute
08CF 06 0C 20      1140 		brz	.PushStack	;.SynErr
08D2 A7 AD         1141 		cmpe	#.Second
08D4 06 0C 20      1142 		brz	.PushStack	;.SynErr	
08D7 F5 00         1143 		lda0	.BeforePari
08D9 A7 00         1144 		cmpe	#0h
08DB 06 0C 20      1145 		brz	.PushStack
08DE A7 01         1146 		cmpe	#01h
08E0 06 08 74      1147 		brz	.CKdms9
08E3 A7 02         1148 		cmpe	#02h
08E5 06 08 74      1149 		brz	.CKdms9
08E8 A7 07         1150 		cmpe	#07h		;06
08EA 06 0C 1D      1151 		brz	.PushStackCls
08ED A7 09         1152 		cmpe	#09h
08EF 06 0C 1D      1153 		brz	.PushStackCls
08F2 A7 0A         1154 		cmpe	#0ah
08F4 06 0C 1D      1155 		brz	.PushStackCls			
08F7 F5 00         1156 		lda0	.DataBuf
08F9 F9 00         1157 		sta0	.Buf1
08FB 02 00 0A      1158 		br	.IN2PS
08FE               1159 .CheckParib:	
08FE F5 00         1160 		lda0	.INDP
0900 A7 01         1161 		cmpe	#01h
0902 06 0C 20      1162 		brz	.PushStack
0905 F5 00         1163 		lda0	.Buf1
0907 A7 AB         1164 		cmpe	#.Degree
0909 06 0C 20      1165 		brz	.PushStack 	;.SynErr
090C A7 AC         1166 		cmpe	#.Minute
090E 06 0C 20      1167 		brz	.PushStack	;.SynErr
0911 A7 AD         1168 		cmpe	#.Second
0913 06 0C 20      1169 		brz	.PushStack	;.SynErr	
0916 F5 00         1170 		lda0	.BeforePari
0918 A7 00         1171 		cmpe	#0h
091A 06 0C 20      1172 		brz	.PushStack
091D A7 01         1173 		cmpe	#01h
091F 06 08 74      1174 		brz	.CKdms9
0922 A7 02         1175 		cmpe	#02h
0924 06 08 74      1176 		brz	.CKdms9
0927 A7 03         1177 		cmpe	#03h
0929 06 09 5B      1178 		brz	.Add1PushStack 
092C A7 04         1179 		cmpe	#04h
092E 06 09 5B      1180 		brz	.Add1PushStack
0931 A7 05         1181 		cmpe	#05h
0933 06 09 5B      1182 		brz	.Add1PushStack
0936 A7 06         1183 		cmpe	#06h		;05h
0938 06 09 5B      1184 		brz	.Add1PushStack
093B A7 07         1185 		cmpe	#07h		;06
093D 06 0C 1D      1186 		brz	.PushStackCls
0940 A7 09         1187 		cmpe	#09h
0942 06 09 5B      1188 		brz	.Add1PushStack
0945 A7 0A         1189 		cmpe	#0ah
0947 06 03 5C      1190 		brz	.SynErr	
094A A7 0B         1191 		cmpe	#0bh
094C 06 03 5C      1192 		brz	.SynErr	
094F A7 0C         1193 		cmpe	#0ch
0951 06 03 5C      1194 		brz	.SynErr		 
0954 F5 00         1195 		lda0	.DataBuf
0956 F9 00         1196 		sta0	.Buf1
0958 02 00 0A      1197 		br	.IN2PS
095B               1198 .Add1PushStack:
+                  1199 		 
095B F3 01         1200 		lda	#01h
095D F9 00         1201 		sta0	.DataBuf
095F 20 0F BF      1202 		call	.ClosEndPS
0962 20 0D D8      1203 		call	.StoPosfix
0965 20 0F BF      1204 		call	.ClosEndPS
0968 F3 A1         1205 		lda	#0a1h
096A F9 00         1206 		sta0	.DataBuf
096C 02 0C 20      1207 		br	.PushStack
096F               1208 .ClrDmsPushStack:		
096F F3 00         1209 		lda	#0h
0971 F9 00         1210 		sta0	.DmsCount
0973 06 0C 20      1211 		brz	.PushStack	
0976               1212 .ClrDmsaddmul:
0976 F3 00         1213 		lda	#0h
0978 F9 00         1214 		sta0	.DmsCount
097A 02 09 9B      1215 		br	.AddMul	
097D               1216 .ClrDmsaddmulcls:
097D 20 0F BF      1217 		call	.ClosEndPS
0980 F3 00         1218 		lda	#0h
0982 F9 00         1219 		sta0	.DmsCount
0984 02 09 9B      1220 		br	.AddMul					
0987               1221 .PolRec:
0987 20 0C 20      1222 		call	.PushStack
098A F5 00         1223 		lda0	.DataBuf
098C F9 00         1224 		sta0	.Buf1
098E 02 00 0A      1225 		br	.IN2PS
+                  1226 ;-------------------------------------------
0991               1227 .AddMulCls: 
0991 F5 00         1228 		lda0	.DmsCount
0993 A7 00         1229 		cmpe	#0h
0995 07 09 9B      1230 		brnz	.AddMul
0998 20 0F BF      1231 		call	.ClosEndPS
099B               1232 .AddMul:
099B F5 00         1233 		lda0	.FractCount
099D A7 01         1234 		cmpe	#01h
099F 06 09 C5      1235 		brz	.AdjustFract
09A2               1236 .FractAddMul:		
09A2 F5 00         1237 		lda0	.DataBuf
09A4 F9 00         1238 		sta0	.Buf1
09A6 F3 A6         1239 		lda	#.MUL
09A8 F9 00         1240 		sta0	.DataBuf
09AA F9 01         1241 		sta0	.DataBuf+1
09AC 20 0A 64      1242 		call	.CheckPari
09AF 20 0C 2A      1243 		call	.PushData
09B2 F5 00         1244 		lda0	.Buf1
09B4 F9 00         1245 		sta0	.DataBuf
09B6 F9 01         1246 		sta0	.DataBuf+1
09B8 20 0A 64      1247 		call	.CheckPari
09BB 20 0C 2A      1248 		call	.PushData
09BE F3 00         1249 		lda	#0h
09C0 F9 00         1250 		sta0	.BeforePari
09C2 02 00 0A      1251 		br	.IN2PS
09C5               1252 .AdjustFract:
+                  1253 		
09C5 F3 03         1254 		lda	#.STPP
09C7 FC 28         1255 		sta	PP
09C9 F5 00         1256 		lda0	.STDP
09CB FC 21         1257 		sta	DP 		
09CD F2            1258 		lda	i
09CE A7 B2         1259 		cmpe	#.LC
09D0 06 09 A2      1260 		brz	.FractAddMul		
09D3 F3 DE         1261 		lda	#0deh
09D5 FE            1262 		sta	i	
09D6 F3 00         1263 		lda	#0h
09D8 F9 00         1264 		sta0	.FractCount
09DA 02 09 A2      1265 		br	.FractAddMul
+                  1266 
+                  1267 				
+                  1268 		
+                  1269 				
+                  1270 ;-------------------------------------------
09DD               1271 .StoInPosfixCls:
09DD 20 0F BF      1272 		call	.ClosEndPS
09E0               1273 .StoInPosfix:
09E0 20 0D D8      1274 		call	.StoPosfix
09E3 F5 00         1275 		lda0	.DataBuf
09E5 F9 00         1276 		sta0	.Buf1
09E7 02 00 0A      1277 		br	.IN2PS
+                  1278 ;-------------------------------------------
09EA               1279 .MemAddMulCls:
09EA 20 0F BF      1280 		call	.ClosEndPS
09ED               1281 .MemAddMul:
09ED F5 00         1282 		lda0	.DataBuf
09EF F9 00         1283 		sta0	.Buf2
09F1 F3 CD         1284 		lda	#0cdh
09F3 F9 00         1285 		sta0	.DataBuf
09F5 F9 01         1286 		sta0	.DataBuf+1
09F7 20 0A 64      1287 		call	.CheckPari
09FA 20 0C 2A      1288 		call	.PushData
09FD F5 00         1289 		lda0	.Buf2
09FF F9 00         1290 		sta0	.DataBuf
0A01 20 0E 8B      1291 		call	.StoFuncPS
0A04 F5 00         1292 		lda0	.DataBuf
0A06 F9 00         1293 		sta0	.Buf1
0A08 02 00 0A      1294 		br	.IN2PS
+                  1295 ;-------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -