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

📄 calctools.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
0769 F5 71         1193 		lda0	.Temp
076B A7 0B         1194 		cmpe	#0bh
076D 05 07 AF      1195 		brnc	.EndLimitCarry
0770 06 07 83      1196 		brz	.CkCarry
0773 20 00 00      1197 		call	ShiftToR
0776 F5 00         1198 		lda0	PointZ
0778 3F            1199 		deca
0779 F9 00         1200 		sta0	PointZ												
077B F5 71         1201 		lda0	.Temp
077D 3F            1202 		deca
077E F9 71         1203 		sta0	.Temp
0780 02 07 69      1204 		br	.ShiftR1
0783               1205 .CkCarry:
0783 F5 06         1206 		lda0	OperandZ+6
0785 CB 0F         1207 		anda	#0fh
0787 A7 05         1208 		cmpe	#05h
0789 05 07 A7      1209 		brnc	.AdjusTotem
078C F5 06         1210 		lda0	OperandZ+6
078E CB F0         1211 		anda	#0f0h
0790 F9 06         1212 		sta0	OperandZ+6
0792 20 09 F0      1213 		call	.Z_trans_X		
0795 20 05 DF      1214 		call	.ClrY
0798 F1 00         1215 		lda	PointX
079A FD 00         1216 		sta	PointY
079C F1 00         1217 		lda	SignX
079E FD 00         1218 		sta	SignY
07A0 F3 10         1219 		lda	#10h
07A2 F9 06         1220 		sta0	OperandY+6
07A4 20 00 00      1221 		call	Addition
07A7               1222 .AdjusTotem:				
07A7 20 00 00      1223 		call	ShiftToR
07AA F5 00         1224 		lda0	PointZ
07AC 3F            1225 		deca
07AD F9 00         1226 		sta0	PointZ	
07AF               1227 .EndLimitCarry:
07AF F3 00         1228  		lda	#0h
07B1 F9 07         1229  		sta0	OperandZ+7
07B3 20 0B F8      1230 		call	.Xn_trans_Y 
+                  1231 		 
07B6 24            1232 		ret
+                  1233 							
+                  1234 ;-------------------------------------------
07B7               1235 .GetDataLimit10::
07B7 F3 00         1236 		lda	#>StateFlag
07B9 FC 28         1237 		sta	PP
07BB F1 00         1238 		lda	StateFlag
07BD CB 08         1239 		anda	#08h
07BF 07 07 E8      1240 		brnz	.EndLimit10
07C2 20 08 38      1241 		call	.X_trans_Z			
07C5 20 07 51      1242 		call	.LimitCarry
07C8 20 00 00      1243 		call	CheckOutData
07CB 20 0A 2C      1244 		call	.Z_trans_B      
07CE 20 09 14      1245 		call	.Y_trans_Z		 
07D1 20 07 51      1246 		call	.LimitCarry
07D4 20 00 00      1247 		call	CheckOutData
07D7 F3 00         1248 		lda	#0h
07D9 FD 07         1249 		sta	OperandZ+7
07DB 20 0A 04      1250 		call	.Z_trans_Y
07DE 20 0B 08      1251 		call	.B_trans_Z
07E1 F3 00         1252 		lda	#0h
07E3 FD 07         1253 		sta	OperandZ+7
07E5 20 09 F0      1254 		call	.Z_trans_X
07E8               1255 .EndLimit10: 	
+                  1256 			
07E8 24            1257 		ret
+                  1258 ;-------------------------------------------     					
07E9               1259 .GetTabVal::		
+                  1260 		 		 		 
07E9 F1 00         1261 		lda	TableC						
07EB 89 00         1262 		adda	.M_Data_Offset
07ED FD 00         1263 		sta	TableC		
07EF 05 07 F7      1264 		brnc	.Tpl_NoT_Carry
07F2 F1 01         1265 		lda	TableC+1	
07F4 1F            1266 		inca
07F5 FD 01         1267 		sta	TableC+1						
07F7               1268 .Tpl_NoT_Carry:													
+                  1269 		
07F7 F3 00         1270 		lda	#0h
07F9 FC 54         1271 		sta	TPP
07FB F1 01         1272 		lda	TableC+1	
07FD FC 02         1273 		sta	TPH
07FF F1 00         1274 		lda	TableC
0801 FC 01         1275 		sta	TPL	
+                  1276 				
0803 F8            1277 		ldv	
0804 FD 00         1278 		sta 	SignZ
0806 F8            1279 		ldv	
0807 FD 00         1280 		sta 	PointZ	
0809 F3 00         1281 		lda	#>SignZ
080B FC 28         1282 		sta	PP	
080D F3 00         1283 		lda	#<OperandZ
080F FC 21         1284 		sta	DP 	
0811               1285 .InpNum:					
0811 F8            1286 		ldv		
0812 A7 FF         1287 		cmpe	#0ffh
0814 06 08 1C      1288 		brz	.End_InpNum
0817 FE            1289 		sta	i		
0818 18            1290 		incdp		
0819 02 08 11      1291 		br	.InpNum
+                  1292 		
081C               1293 .End_InpNum:	
081C F3 00         1294 		lda	#0h
081E FD 07         1295 		sta	OperandZ+7
0820 20 00 00      1296 		call	CheckOutData	 
0823 24            1297 		ret									
+                  1298 ;------------(X_COPY_Y,Z,Buf,b,s)-----------
0824               1299 .X_trans_Y::
0824 F3 00         1300 			lda 	#<SignX
0826 F9 77         1301 			sta0	.PXDP
0828 F3 00         1302 			lda 	#<SignY
082A F9 78         1303 			sta0	.PYDP
082C F3 00         1304 			lda 	#>SignX
082E F9 6F         1305 			sta0	.PXPP
0830 F3 00         1306 			lda 	#>SignY
0832 F9 65         1307 			sta0	.PYPP
0834 20 05 0F      1308 			call	.CopyData					
0837 24            1309 			ret
0838               1310 .X_trans_Z::
0838 F3 00         1311 			lda 	#<SignX
083A F9 77         1312 			sta0	.PXDP
083C F3 00         1313 			lda 	#<SignZ
083E F9 78         1314 			sta0	.PYDP
0840 F3 00         1315 			lda 	#>SignX
0842 F9 6F         1316 			sta0	.PXPP
0844 F3 00         1317 			lda 	#>SignZ
0846 F9 65         1318 			sta0	.PYPP
0848 20 05 0F      1319 			call	.CopyData					
084B 24            1320 			ret
084C               1321 .X_trans_Buf::
084C F3 00         1322 			lda 	#<SignX
084E F9 77         1323 			sta0	.PXDP			
0850 F3 3A         1324 			lda	#<Sign_buf
0852 F9 78         1325 			sta0	.PYDP			
0854 F3 00         1326 			lda 	#>SignX
0856 F9 6F         1327 			sta0	.PXPP			
0858 F3 01         1328 			lda	#>Sign_buf
085A F9 65         1329 			sta0	.PYPP
085C 20 05 0F      1330 			call	.CopyData						
085F 24            1331 			ret
0860               1332 .X_trans_B::
0860 F3 00         1333 			lda 	#<SignX
0862 F9 77         1334 			sta0	.PXDP			
0864 F3 44         1335 			lda 	#<Sign_b
0866 F9 78         1336 			sta0	.PYDP
0868 F3 00         1337 			lda 	#>SignX
086A F9 6F         1338 			sta0	.PXPP			
086C F3 01         1339 			lda 	#>Sign_b
086E F9 65         1340 			sta0	.PYPP
0870 20 05 0F      1341 			call	.CopyData					
0873 24            1342 			ret
0874               1343 .X_trans_S::
0874 F3 00         1344 			lda 	#<SignX
0876 F9 77         1345 			sta0	.PXDP			 
0878 F3 4E         1346 			lda 	#<Sign_s
087A F9 78         1347 			sta0	.PYDP
087C F3 00         1348 			lda 	#>SignX
087E F9 6F         1349 			sta0	.PXPP			 
0880 F3 01         1350 			lda 	#>Sign_s
0882 F9 65         1351 			sta0	.PYPP
0884 20 05 0F      1352 			call	.CopyData						
0887 24            1353 			ret
0888               1354 .X_trans_I::
0888 F3 00         1355 			lda 	#<SignX
088A F9 77         1356 			sta0	.PXDP			
088C F3 62         1357 			lda	#<Sign_i
088E F9 78         1358 			sta0	.PYDP
0890 F3 00         1359 			lda 	#>SignX
0892 F9 6F         1360 			sta0	.PXPP			
0894 F3 01         1361 			lda	#>Sign_i
0896 F9 65         1362 			sta0	.PYPP
0898 20 05 0F      1363 			call	.CopyData						
089B 24            1364 			ret
089C               1365 .X_trans_R::
089C F3 00         1366 			lda 	#<SignX
089E F9 77         1367 			sta0	.PXDP			
08A0 F3 58         1368 			lda	#<Sign_r
08A2 F9 78         1369 			sta0	.PYDP
08A4 F3 00         1370 			lda 	#>SignX
08A6 F9 6F         1371 			sta0	.PXPP			
08A8 F3 01         1372 			lda	#>Sign_r
08AA F9 65         1373 			sta0	.PYPP
08AC 20 05 0F      1374 			call	.CopyData						
08AF 24            1375 			ret
08B0               1376 .X_trans_T::
08B0 F3 00         1377 			lda 	#<SignX
08B2 F9 77         1378 			sta0	.PXDP			
08B4 F3 00         1379 			lda	#<SignT
08B6 F9 78         1380 			sta0	.PYDP
08B8 F3 00         1381 			lda 	#>SignX
08BA F9 6F         1382 			sta0	.PXPP			
08BC F3 00         1383 			lda	#>SignT
08BE F9 65         1384 			sta0	.PYPP
08C0 20 05 0F      1385 			call	.CopyData						
08C3 24            1386 			ret	
08C4               1387 .X_trans_LRX::
08C4 F3 00         1388 			lda 	#<SignX
08C6 F9 77         1389 			sta0	.PXDP			
08C8 F3 00         1390 			lda	#<SignLRX
08CA F9 78         1391 			sta0	.PYDP
08CC F3 00         1392 			lda 	#>SignX
08CE F9 6F         1393 			sta0	.PXPP			
08D0 F3 00         1394 			lda	#>SignLRX
08D2 F9 65         1395 			sta0	.PYPP
08D4 20 05 0F      1396 			call	.CopyData						
08D7 24            1397 			ret				
+                  1398 			
08D8               1399 .T_trans_X::
08D8 F3 00         1400 			lda 	#<SignT
08DA F9 77         1401 			sta0	.PXDP			
08DC F3 00         1402 			lda	#<SignX
08DE F9 78         1403 			sta0	.PYDP
08E0 F3 00         1404 			lda 	#>SignT
08E2 F9 6F         1405 			sta0	.PXPP			
08E4 F3 00         1406 			lda	#>SignX
08E6 F9 65         1407 			sta0	.PYPP
08E8 20 05 0F      1408 			call	.CopyData						
08EB 24            1409 			ret	
08EC               1410 .LRX_trans_X::
08EC F3 00         1411 			lda 	#<SignLRX
08EE F9 77         1412 			sta0	.PXDP			 
08F0 F3 00         1413 			lda 	#<SignX
08F2 F9 78         1414 			sta0	.PYDP
08F4 F3 00         1415 			lda 	#>SignLRX
08F6 F9 6F         1416 			sta0	.PXPP			 
08F8 F3 00         1417 			lda 	#>SignX
08FA F9 65         1418 			sta0	.PYPP
08FC 20 05 0F      1419 			call	.CopyData	
08FF 24            1420 			ret								
+                  1421 ;------------(Y_COPY_X,Z,Buf,b,s)-----------												
0900               1422 .Y_trans_X::
0900 F3 00         1423 			lda 	#<SignY
0902 F9 77         1424 			sta0	.PXDP
0904 F3 00         1425 			lda	#<SignX
0906 F9 78         1426 			sta0	.PYDP
0908 F3 00         1427 			lda 	#>SignY
090A F9 6F         1428 			sta0	.PXPP
090C F3 00         1429 			lda	#>SignX
090E F9 65         1430 			sta0	.PYPP
0910 20 05 0F      1431 			call	.CopyData						
0913 24            1432 			ret
0914               1433 .Y_trans_Z::
0914 F3 00         1434 			lda 	#<SignY
0916 F9 77         1435 			sta0	.PXDP
0918 F3 00         1436 			lda 	#<SignZ
091A F9 78         1437 			sta0	.PYDP
091C F3 00         1438 			lda 	#>SignY
091E F9 6F         1439 			sta0	.PXPP
0920 F3 00         1440 			lda 	#>SignZ
0922 F9 65         1441 			sta0	.PYPP
0924 20 05 0F      1442 			call	.CopyData					
0927 24            1443 			ret
0928               1444 .Y_trans_Buf::
0928 F3 00         1445 			lda 	#<SignY
092A F9 77         1446 			sta0	.PXDP			
092C F3 3A         1447 			lda 	#<Sign_buf
092E F9 78         1448 			sta0	.PYDP
0930 F3 00         1449 			lda 	#>SignY
0932 F9 6F         1450 			sta0	.PXPP			
0934 F3 01         1451 			lda 	#>Sign_buf
0936 F9 65         1452 			sta0	.PYPP
0938 20 05 0F      1453 			call	.CopyData						
093B 24            1454 			ret
093C               1455 .Y_trans_B::
093C F3 00         1456 			lda 	#<SignY
093E F9 77         1457 			sta0	.PXDP			 
0940 F3 44         1458 			lda 	#<Sign_b
0942 F9 78         1459 			sta0	.PYDP
0944 F3 00         1460 			lda 	#>SignY
0946 F9 6F         1461 			sta0	.PXPP			 
0948 F3 01         1462 			lda 	#>Sign_b
094A F9 65         1463 			sta0	.PYPP
094C 20 05 0F      1464 			call	.CopyData						
094F 24            1465 			ret
0950               1466 .Y_trans_Xn::
0950 F3 00         1467 			lda 	#<SignY
0952 F9 77         1468 			sta0	.PXDP			
0954 F3 00         1469 			lda 	#<SignXn
0956 F9 78         1470 			sta0	.PYDP
0958 F3 00         1471 			lda 	#>SignY
095A F9 6F         1472 			sta0	.PXPP			
095C F3 00         1473 			lda 	#>SignXn
095E F9 65         1474 			sta0	.PYPP
0960 20 05 0F      1475 			call	.CopyData						
0963 24            1476 			ret			
0964               1477 .Y_trans_S::
0964 F3 00         1478 			lda 	#<SignY
0966 F9 77         1479 			sta0	.PXDP			
0968 F3 4E         1480 			lda 	#<Sign_s
096A F9 78         1481 			sta0	.PYDP
096C F3 00         1482 			lda 	#>SignY
096E F9 6F         1483 			sta0	.PXPP			
0970 F3 01         1484 			lda 	#>Sign_s
0972 F9 65         1485 			sta0	.PYPP
0974 20 05 0F      1486 			call	.CopyData						

⌨️ 快捷键说明

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