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

📄 caldisp.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
0858 02 08 66      1234 		br	127$			;br	T1chkblankend		
085B F3 10         1235 1$:		lda	#BLANKDISP
085D FD FA         1236 		sta	t1dispbf      	
085F 02 08 66      1237 		br	127$			;br	T1chkblankend
0862 F3 11         1238 2$:		lda	#INSETDISP
0864 FD FA         1239 		sta	t1dispbf 
+                  1240 		;br	127$
+                  1241 127$:		      	
0866 F3 02         1242 		lda	#C_TWO
0868 FC 28         1243 		sta	PP
086A F5 00         1244 		lda0	.SFDP
086C 3F            1245 		deca
086D FC 21         1246 		sta	DP
086F F2            1247 		lda	I
0870 F9 00         1248 		sta0	.DataBuf			
0872               1249             	PP2One()
0876 F5 00         1250             	lda0	.DataBuf
0878 FD 00         1251             	sta	font
087A 20 02 92      1252             	call	ChangeKeychk
087D F1 00         1253 		lda	font
087F FD FB         1254 		sta	t1fontbf
0881 02 08 F5      1255 		br	T1chkblankend
+                  1256 		
0884               1257 dispword:						
+                  1258 		;lda	#^firstword
+                  1259 		;sta	tab_ptr+2	
0884 F3 30         1260 		lda	#>firstword
0886 FD 01         1261 		sta	tab_ptr+1		
0888 F3 3C         1262 		lda	#<firstword
088A 89 FB         1263 		adda	t1fontbf		;font
088C FD 00         1264 		sta	tab_ptr
088E 20 02 7E      1265 		call	GetLdv
0891 FD FA         1266 		sta	t1dispbf
0893 02 08 F5      1267 		br	T1chkblankend		
0896               1268 Display_t1:		
0896 F1 FA         1269 		lda	t1dispbf
0898 FD 00         1270 		sta	font       	
089A F1 02         1271         	lda   	blankCount
089C FD 00         1272         	sta     dig_num        	
089E 20 00 00      1273         	call    Display_5X7_1	
08A1 02 08 F5      1274 		br	T1chkblankend
08A4               1275 Display_t1_1:
08A4 F1 FA         1276 		lda	t1dispbf		
08A6 FD 00         1277 		sta	font       	
08A8 F1 02         1278         	lda   	blankCount
08AA FD 00         1279         	sta     dig_num        	
08AC 20 00 00      1280         	call    Display_5X7_blk1 	
08AF 02 08 F5      1281 		br	T1chkblankend		
08B2               1282 Display_t1_2:
08B2 F1 FA         1283 		lda	t1dispbf
08B4 FD 00         1284 		sta	font       	
08B6 F1 02         1285         	lda   	blankCount
08B8 FD 00         1286         	sta     dig_num        	
08BA 20 00 00      1287         	call    Display_5X7_blk2 	
08BD 02 08 F5      1288 		br	T1chkblankend
08C0               1289 Display_t1_3:
08C0 F1 FA         1290 		lda	t1dispbf
08C2 FD 00         1291 		sta	font       	
08C4 F1 02         1292         	lda   	blankCount
08C6 FD 00         1293         	sta     dig_num        	
08C8 20 00 00      1294         	call    Display_5X7_blk3 	
08CB 02 08 F5      1295 		br	T1chkblankend
08CE               1296 Display_t1_4:
08CE F1 FA         1297 		lda	t1dispbf
08D0 FD 00         1298 		sta	font       	
08D2 F1 02         1299         	lda   	blankCount
08D4 FD 00         1300         	sta     dig_num        	
08D6 20 00 00      1301         	call    Display_5X7_blk4 	
08D9 02 08 F5      1302 		br	T1chkblankend
08DC               1303 Display_t1_5:
08DC F1 FA         1304 		lda	t1dispbf
08DE FD 00         1305 		sta	font       	
08E0 F1 02         1306         	lda   	blankCount
08E2 FD 00         1307         	sta     dig_num        	
08E4 20 00 00      1308         	call    Display_5X7_blk5 	
08E7 02 08 F5      1309 		br	T1chkblankend
08EA               1310 Display_t1_6:
08EA F1 FA         1311 		lda	t1dispbf
08EC FD 00         1312 		sta	font       	
08EE F1 02         1313         	lda   	blankCount
08F0 FD 00         1314         	sta     dig_num        	
08F2 20 00 00      1315         	call    Display_5X7_blk6 	
+                  1316 		;br	T1chkblankend		
08F5               1317 T1chkblankend:						
08F5 F1 03         1318 		lda	t1count
08F7 1F            1319 		inca	
08F8 A7 0E         1320 		cmpe	#C_14
08FA 05 08 FF      1321 		brnc	1$
08FD F3 00         1322 		lda	#C_ZERO		
08FF FD 03         1323 1$:		sta	t1count						
0901               1324 T1chkblankend2:
0901 F1 0B         1325 		lda	T1Flag
0903 CB 7F         1326 		anda	#~TIMEGO
0905 FD 0B         1327 		sta	T1Flag	
0907               1328 T1chkblankend1:	
0907 24            1329 		ret
+                  1330 ;------------------------------------------------------------------------
+                  1331 ;------------------------------------------------------------------------		
0908               1332 Moveopz2bf::
+                  1333 				
0908 F3 00         1334 		lda	#C_ZERO
090A F9 00         1335 		sta0	.DataBuf
090C F9 01         1336 		sta0	.DataBuf+1
+                  1337 				
090E               1338 moveopzloop:		
090E               1339 		PP2Zero()
0912 F3 00         1340 		lda	#OperandZ
0914 89 00         1341 		adda	.DataBuf
0916 FC 21         1342 		sta	DP
0918 F2            1343 		lda	I
0919 FD 01         1344 		sta	.DataBuf+1
091B               1345 		PP2One()
091F F5 00         1346 		lda0	.DataBuf
0921 8B 0C         1347 		adda	#pzdispbf
0923 FC 21         1348 		sta	DP
0925 F5 01         1349 		lda0	.DataBuf+1
0927 FE            1350 		sta	I
0928 F5 00         1351 		lda0	.DataBuf
092A 1F            1352 		inca
092B F9 00         1353 		sta0	.DataBuf
092D A7 07         1354 		cmpe	#Length
092F 04 09 35      1355 		brc	Moveopz2bfend				
0932 02 09 0E      1356 		br	moveopzloop
+                  1357 		
0935               1358 Moveopz2bfend:		
0935 24            1359 		ret
+                  1360 		
+                  1361 ;------------------------------------------------------------------------
+                  1362 ;------------------------------------------------------------------------		
0936               1363 Chkopzbf1:			
0936               1364 		PP2One()
093A F3 0E         1365 		lda	#C_14
093C F9 01         1366 		sta0	.DataBuf+1		
093E F3 12         1367 		lda	#pzdispbf+Length-1
0940 FC 21         1368 		sta	DP
0942 F2            1369 		lda	I
0943 CB 0F         1370 		anda	#MASKHI
0945 07 09 5D      1371 		brnz	Chkopzbfend1						
0948 F1 08         1372 		lda	pointbf
094A 3F            1373 		deca
094B FD 08         1374 		sta	pointbf				
094D 20 09 8B      1375 		call	Shiftrnibble
0950 F5 01         1376 		lda0	.DataBuf+1
0952 3F            1377 		deca
0953 F9 01         1378 		sta0	.DataBuf+1
0955 A7 00         1379 		cmpe	#C_ZERO
0957 06 09 5D      1380 		brz	Chkopzbfend1
095A 02 09 36      1381 		br	Chkopzbf1		
095D               1382 Chkopzbfend1:							
095D 24            1383 		ret								
+                  1384 ;------------------------------------------------------------------------
+                  1385 ;------------------------------------------------------------------------		
095E               1386 Chkopzbf2:			
095E               1387 		PP2One()
0962 F3 0E         1388 		lda	#C_14
0964 F9 01         1389 		sta0	.DataBuf+1		
0966 F3 12         1390 		lda	#pzdispbf+Length-1
0968 FC 21         1391 		sta	DP
096A F2            1392 		lda	I
096B CB 0F         1393 		anda	#MASKHI
096D 07 09 8A      1394 		brnz	Chkopzbfend2						
0970 F1 08         1395 		lda	pointbf
0972 3F            1396 		deca
0973 FD 08         1397 		sta	pointbf	
0975 F1 09         1398 		lda	dispcount
0977 3F            1399 		deca
0978 FD 09         1400 		sta	dispcount				
097A 20 09 8B      1401 		call	Shiftrnibble
097D F5 01         1402 		lda0	.DataBuf+1
097F 3F            1403 		deca
0980 F9 01         1404 		sta0	.DataBuf+1
0982 A7 00         1405 		cmpe	#C_ZERO
0984 06 09 8A      1406 		brz	Chkopzbfend2
0987 02 09 5E      1407 		br	Chkopzbf2		
098A               1408 Chkopzbfend2:							
098A 24            1409 		ret											
+                  1410 ;------------------------------------------------------------------------
+                  1411 ;------------------------------------------------------------------------		
098B               1412 Shiftrnibble:			
098B F3 06         1413 		lda	#Length-1
098D F9 00         1414 		sta0	.DataBuf
+                  1415 		
098F               1416 		PP2One()
0993 F3 00         1417 		lda	#C_ZERO
0995 FD 05         1418 		sta	cmpDP	
0997 F3 0C         1419 		lda	#pzdispbf
0999 FC 21         1420 		sta	DP		
+                  1421 1$:
099B F2            1422 		lda	i		
099C FD 04         1423 		sta	cmpFlag	
099E 7F            1424 		rorc
099F 7F            1425 		rorc
09A0 7F            1426 		rorc
09A1 7F            1427 		rorc
09A2 CB 0F         1428 		anda	#MASKHI
09A4 D9 05         1429 		ora	cmpDP
09A6 FE            1430 		sta	I
+                  1431 		
09A7 F1 04         1432 		lda	cmpFlag	
09A9 7E            1433 		rolc
09AA 7E            1434 		rolc
09AB 7E            1435 		rolc
09AC 7E            1436 		rolc
09AD CB F0         1437 		anda	#MASKLO
09AF FD 05         1438 		sta	cmpDP	
09B1 18            1439 		incdp	
09B2 F5 00         1440 		lda0	.DataBuf
09B4 3F            1441 		deca
09B5 F9 00         1442 		sta0	.DataBuf
09B7 04 09 9B      1443 		brc	1$		
+                  1444 		
+                  1445 		
09BA 24            1446 		ret	
+                  1447 		
+                  1448 		
+                  1449 ;------------------------------------------------------------------------
+                  1450 ;------------------------------------------------------------------------		
+                  1451 		
09BB               1452 Shiftlnibble::
09BB F3 06         1453 		lda	#Length-1
09BD F9 00         1454 		sta0	.DataBuf
+                  1455 
+                  1456 	
09BF               1457 		PP2One()
+                  1458 	
09C3 F3 00         1459 		lda	#C_ZERO
09C5 FD 05         1460 		sta	cmpDP
+                  1461 	
09C7 F5 00         1462 		lda0	.DataBuf
09C9 8B 0C         1463 		adda	#pzdispbf
09CB FC 21         1464 		sta	DP
+                  1465 	
+                  1466 1$:
09CD F2            1467 		lda	i
09CE FD 04         1468 		sta	cmpFlag	
09D0 7E            1469 		rolc
09D1 7E            1470 		rolc
09D2 7E            1471 		rolc
09D3 7E            1472 		rolc
09D4 CB F0         1473 		anda	#MASKLO
09D6 D9 05         1474 		ora	cmpDP
09D8 FE            1475 		sta	I
+                  1476 		
09D9 F1 04         1477 		lda	cmpFlag	
09DB 7F            1478 		rorc
09DC 7F            1479 		rorc
09DD 7F            1480 		rorc
09DE 7F            1481 		rorc
09DF CB 0F         1482 		anda	#MASKHI
09E1 FD 05         1483 		sta	cmpDP
09E3 38            1484 		decdp	
09E4 F5 00         1485 		lda0	.DataBuf
09E6 3F            1486 		deca
09E7 F9 00         1487 		sta0	.DataBuf
09E9 04 09 CD      1488 		brc	1$
+                  1489 			
09EC 24            1490 		ret
+                  1491 ;------------------------------------------------------------------------
+                  1492 ;------------------------------------------------------------------------
09ED               1493 ChkDispAns::      	
+                  1494 			
09ED 20 1C 70      1495 		call	Clrfullmatrix		
09F0 20 04 DD      1496 		call	Rightchk
+                  1497 		
09F3               1498 		PP2One()
09F7 F1 00         1499 		lda	.SetFlag
09F9 CB 20         1500 		anda	#BLANKCHK
09FB 06 0A 18      1501 		brz	0$		
09FE F3 00         1502 		lda	#>.SRFlag
0A00 FC 28         1503 		sta	PP
0A02 F1 00         1504 		lda	.SRFlag
0A04 CB 01         1505         	anda	#C_ONE
0A06 06 0A 18      1506         	brz	0$		
0A09               1507 		PP2One()
0A0D F3 3D         1508         	lda	#EQUDISP
0A0F FD 00         1509         	sta	font
0A11 F3 0A         1510         	lda     #C_TEN
0A13 FD 00         1511         	sta     dig_num
0A15 20 00 00      1512         	call    Display_5X7_1
+                  1513         	
+                  1514 0$:        				
0A18               1515 		PP2One()
0A1C F1 14         1516 		lda	StateFlag
0A1E CB 08         1517 		anda	#BASENSTATE
0A20 07 0A 2E      1518 		brnz	Set2Move		
0A23               1519 		PP2Zero()
0A27 F3 00         1520 		lda	#C_ZERO
0A29 FD 07         1521 		sta	OperandZ+Length
0A2B 20 00 00      1522 		call	CheckOutData	
0A2E               1523 Set2Move:			
0A2E               1524 		PP2One()
0A32 20 09 08      1525 		call	Moveopz2bf
0A35 20 0A D4      1526 		call	AnsZerochk		
0A38               1527 getpointbf:
0A38               1528 		PP2One()
0A3C F1 05         1529 		lda	cmpDP
0A3E FD 08         1530 		sta	pointbf		
0A40 F3 00         1531 		lda	#C_ZERO
0A42 A9 08         1532 		suba	pointbf
0A44 FD 09         1533 		sta	dispcount
+                  1534 		
0A46 F5 00         1535 		lda0	PointZ
0A48 89 09         1536 		adda	dispcount
0A4A A7 80         1537 		cmpe	#HALFMAX
0A4C 04 0A 5E      1538 		brc	2$		
0A4F A7 64         1539 		cmpe	#MINUS100		;璽100
0A51 05 0A 6E      1540 		brnc	ChkDispAnsend
0A54 F3 00         1541 		lda	#C_ZERO
0A56 FD 09         1542 		sta	di

⌨️ 快捷键说明

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