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

📄 syntax.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 4 页
字号:
02BA A7 0B          367 		cmpe	#0bh
02BC 06 05 6B       368 		brz	.SignDec
02BF A7 0C          369 		cmpe	#0ch
02C1 06 05 46       370 		brz	.MemCLR
02C4 A7 0E          371 		cmpe	#0eh
02C6 06 03 55       372 		brz	.MemCmp
02C9 A7 0F          373 		cmpe	#0fh
02CB 06 05 B5       374 		brz	.CommaFractDms
02CE A7 10          375 		cmpe	#10h
02D0 06 05 B5       376 		brz	.CommaFractDms
02D3 A7 11          377 		cmpe	#11h
02D5 06 05 B5       378 		brz	.CommaFractDms
02D8 A7 12          379 		cmpe	#12h
02DA 06 05 50       380 		brz	.DoSemicolon
02DD 02 06 36       381 		br	.EndStackCk
+                   382 ;-------------------------------------------		
02E0                383 .HeadCodCK:
+                   384 		
02E0 F5 00          385 		lda0	.DataBuf		
02E2 A7 B0          386 		cmpe	#0b0h
02E4 06 05 50       387 		brz	.DoSemicolon	
02E7 F3 01          388 		lda	#01h
02E9 FC 28          389 		sta	PP
02EB F3 00          390 		lda	#^(.HeadCheck)
02ED FC 54          391 		sta	TPP
02EF F3 09          392 		lda	#@(.HeadCheck)
02F1 FC 02          393 		sta	TPH
02F3 F3 48          394 		lda	#<(.HeadCheck)
02F5 FC 01          395 		sta	TPL
02F7                396 .Searchhead:		
02F7 F8             397 		ldv
02F8 F9 01          398 		sta0	.DataBuf+1	 
02FA A7 FF          399 		cmpe	#0ffh
02FC 06 03 0D       400 		brz	.EndHead
02FF F3 00          401 		lda	#0h
0301 FC 28          402 		sta	PP
0303 F5 01          403 		lda0	.DataBuf+1
0305 A5 00          404 		cmpe	.DataBuf
0307 07 02 F7       405 		brnz	.Searchhead		
030A 02 06 29       406 		br	.SynError
030D                407 .EndHead:	
030D F5 00          408 		lda0	.DataBuf
030F A7 AA          409 		cmpe	#0aah
0311 06 06 29       410 		brz	.SynError
0314 A7 BB          411 		cmpe	#0bbh
0316 06 06 29       412 		brz	.SynError
0319 A7 CE          413 		cmpe	#0ceh
031B 06 06 29       414 		brz	.SynError				
031E A7 B2          415 		cmpe	#0b2h
0320 06 03 EE       416 		brz	.LCCK
0323 02 06 36       417 		br	.EndStackCk
+                   418 		
+                   419 ;-------------------------------------------							
0326                420 .NumCK:
0326 F5 00          421 		lda0	.Buf1
0328 A7 B3          422 		cmpe	#0b3h		;)
032A 06 06 29       423 		brz	.SynError
032D A7 D4          424 		cmpe	#0d4h		;x!
032F 06 06 29       425 		brz	.SynError
0332 A7 C8          426 		cmpe	#0c8h		;X^-1
0334 06 06 29       427 		brz	.SynError
0337 A7 D2          428 		cmpe	#0d2h		;x!
0339 06 06 29       429 		brz	.SynError
033C A7 C5          430 		cmpe	#0c5h		;X^-1
033E 06 06 29       431 		brz	.SynError		
0341 A7 B7          432 		cmpe	#0b7h
0343 06 03 73       433 		brz	.CKdMS	
0346 F5 00          434 		lda0	.AfterPari
0348 A7 0A          435 		cmpe	#0ah		;4/11
034A 06 06 29       436 		brz	.SynError
034D A7 0E          437 		cmpe	#0eh
034F 06 06 29       438 		brz	.SynError				
0352 02 06 36       439 		br	.EndStackCk
0355                440 .MemCmp:	
0355 F5 00          441 		lda0	.Buf1
0357 A7 B3          442 		cmpe	#0b3h		;)
0359 06 06 36       443 		brz	.EndStackCk		
035C A7 AA          444 		cmpe	#0aah		;4/11
035E 06 06 29       445 		brz	.SynError
0361 A7 BB          446 		cmpe	#0bbh		;4/11
0363 06 06 29       447 		brz	.SynError
0366 A7 CE          448 		cmpe	#0ceh		;4/11
0368 06 06 29       449 		brz	.SynError
+                   450 		;cmpe	#0d4h		;x!
+                   451 		;brz	.SynError
+                   452 		;cmpe	#0c8h		;X^-1
+                   453 		;brz	.SynError
+                   454 		;cmpe	#0d2h		;x!
+                   455 		;brz	.SynError
+                   456 		;cmpe	#0c5h		;X^-1
+                   457 		;brz	.SynError
036B A7 B7          458 		cmpe	#0b7h
036D 06 03 73       459 		brz	.CKdMS		
0370 02 06 36       460 		br	.EndStackCk
0373                461 .CKdMS:
0373 F3 01          462 		lda	#01h
0375 F9 00          463 		sta0	.DmsCount
0377 02 06 36       464 		br	.EndStackCk			
+                   465 ;--------------------------------------------
037A                466 .AddDecCK:
037A F3 01          467 		lda	#01h
037C FC 28          468 		sta	PP
037E F3 00          469 		lda	#^(.SignCheck)
0380 FC 54          470 		sta	TPP
0382 F3 09          471 		lda	#@(.SignCheck)
0384 FC 02          472 		sta	TPH
0386 F3 5B          473 		lda	#<(.SignCheck)
0388 FC 01          474 		sta	TPL
038A                475 .SearchAD:		
038A F8             476 		ldv
038B F9 01          477 		sta0	.DataBuf+1	 
038D A7 FF          478 		cmpe	#0ffh
038F 06 03 A0       479 		brz	.EndAD
0392 F3 00          480 		lda	#0h
0394 FC 28          481 		sta	PP
0396 F5 01          482 		lda0	.DataBuf+1
0398 A5 00          483 		cmpe	.Buf1
039A 07 03 8A       484 		brnz	.SearchAD				
039D 02 06 36       485 		br	.EndStackCk
03A0                486 .EndAD:		
03A0 F5 00          487 		lda0	.DataBuf
03A2 F9 00          488 		sta0	.Buf2
03A4 F5 00          489 		lda0	.Buf1
03A6 F9 00          490 		sta0	.DataBuf
03A8 A7 A1          491 		cmpe	#0a1h
03AA 05 03 B7       492 		brnc	.IsNumDt
03AD 20 00 00       493 		call	.CheckFuncd
03B0 F5 00          494 		lda0	.AfterPari
03B2 A7 06          495 		cmpe	#06h		;05h
03B4 07 06 29       496 		brnz	.SynError
03B7                497 .IsNumDt:				
03B7 F5 00          498 		lda0	.Buf2		
03B9 F9 00          499 		sta0	.DataBuf
03BB 02 06 36       500 		br	.EndStackCk				
+                   501 ;-------------------------------------------			
03BE                502 .MulDivCK:
03BE F3 01          503 		lda	#01h
03C0 FC 28          504 		sta	PP
03C2 F3 00          505 		lda	#^(.SignMUL)
03C4 FC 54          506 		sta	TPP
03C6 F3 09          507 		lda	#@(.SignMUL)
03C8 FC 02          508 		sta	TPH
03CA F3 80          509 		lda	#<(.SignMUL)
03CC FC 01          510 		sta	TPL
03CE                511 .SearchMD:		
03CE F8             512 		ldv
03CF F9 01          513 		sta0	.DataBuf+1	 
03D1 A7 FF          514 		cmpe	#0ffh
03D3 06 03 E4       515 		brz	.EndMD
03D6 F3 00          516 		lda	#0h
03D8 FC 28          517 		sta	PP
03DA F5 01          518 		lda0	.DataBuf+1
03DC A5 00          519 		cmpe	.Buf1
03DE 07 03 CE       520 		brnz	.SearchMD				
03E1 02 06 36       521 		br	.EndStackCk
03E4                522 .EndMD:		
03E4 F5 00          523 		lda0	.Buf1		
03E6 A7 A1          524 		cmpe	#0a1h
03E8 05 06 36       525 		brnc	.EndStackCk	
03EB 02 06 29       526 		br 	.SynError
+                   527 ;-------------------------------------------		
03EE                528 .LCCK:
03EE F5 00          529 		lda0	.LRcnt
03F0 1F             530 		inca
03F1 F9 00          531 		sta0	.LRcnt
03F3 02 06 36       532 		br	.EndStackCk
03F6                533 .RCCK:						
03F6 F5 00          534 		lda0	.DataBuf
03F8 F9 00          535 		sta0	.Buf2
03FA F5 00          536 		lda0	.Buf1
03FC F9 00          537 		sta0	.DataBuf		 
03FE 20 00 00       538 		call	.CheckMem
0401 F5 00          539 		lda0	.Buf2
0403 F9 00          540 		sta0	.DataBuf		
0405 F5 00          541 		lda0	.LRcnt
0407 3F             542 		deca
0408 F9 00          543 		sta0	.LRcnt
040A A7 FF          544 		cmpe	#0ffh
040C 06 06 29       545 		brz	.SynError				
040F F5 00          546 		lda0	.Buf1				
0411 A7 D4          547 		cmpe	#0d4h		;x!
0413 06 06 36       548 		brz	.EndStackCk
0416 A7 C8          549 		cmpe	#0c8h		;X^-1
0418 06 06 36       550 		brz	.EndStackCk
041B A7 D2          551 		cmpe	#0d2h		;x!
041D 06 06 36       552 		brz	.EndStackCk
0420 A7 C5          553 		cmpe	#0c5h		;X^-1
0422 06 06 36       554 		brz	.EndStackCk
0425 A7 B3          555 		cmpe	#0B3h		;)
0427 06 06 36       556 		brz	.EndStackCk
042A A7 B2          557 		cmpe	#0b2h		;(
042C 06 06 29       558 		brz	.SynError	
042F A7 C3          559 		cmpe	#0c3h		;Fraction
0431 06 06 29       560 		brz	.SynError
0434 A7 B4          561 		cmpe	#0b4h		;Comma
0436 06 06 29       562 		brz	.SynError
0439 A7 B7          563 		cmpe	#0b7h		;DMS		;2002.02.06
043B 06 06 36       564 		brz	.EndStackCk	;.SynError
043E A7 0A          565 		cmpe	#0ah
0440 05 06 36       566 		brnc	.EndStackCk				
0443 F5 00          567 		lda0	.AfterPari
0445 A7 01          568 		cmpe	#01h
0447 06 06 36       569 		brz	.EndStackCk			
044A 02 06 29       570 		br 	.SynError
+                   571 ;-------------------------------------------		
044D                572 .FuncCK:
044D F5 00          573 		lda0	.DataBuf		
044F F9 01          574 		sta0	.DataBuf+1 		
0451 20 00 00       575 		call	.CheckPari
0454 20 00 00       576 		call	.CheckMem
0457 F5 00          577 		lda0	.AfterPari
0459 A7 05          578 		cmpe	#05h
045B 06 04 70       579 		brz	.Function2		
045E A7 06          580 		cmpe	#06h		;05h
0460 06 06 36       581 		brz	.EndStackCk
0463 A7 09          582 		cmpe	#09h
0465 06 04 70       583 		brz	.Function2
0468 A7 0A          584 		cmpe	#0ah
046A 06 04 70       585 		brz	.Function2 
046D 02 06 36       586 		br	.EndStackCk
+                   587 		
0470                588 .Function2:						
0470 F3 01          589 		lda	#01h
0472 FC 28          590 		sta	PP
0474 F3 00          591 		lda	#^(.Function)
0476 FC 54          592 		sta	TPP
0478 F3 09          593 		lda	#@(.Function)
047A FC 02          594 		sta	TPH
047C F3 9A          595 		lda	#<(.Function)
047E FC 01          596 		sta	TPL
0480                597 .Funct2:		
0480 F8             598 		ldv
0481 F9 01          599 		sta0	.DataBuf+1 
0483 F5 00          600 		lda0	.AfterPari
0485 A7 09          601 		cmpe	#09h
0487 07 04 94       602 		brnz	.Paris08
048A F5 01          603 		lda0	.DataBuf+1 	
048C A7 AB          604 		cmpe	#0abh
048E 06 04 B5       605 		brz	.EndFunction2
0491 02 04 9B       606 		br	.cmpeData
0494                607 .Paris08:	
0494 F5 01          608 		lda0	.DataBuf+1 	
0496 A7 FF          609 		cmpe	#0ffh
0498 06 04 B5       610 		brz	.EndFunction2
049B                611 .cmpeData:		
049B F3 00          612 		lda	#0h
049D FC 28          613 		sta	PP
049F F5 00          614 		lda0	.Buf1 
04A1 A5 01          615 		cmpe	.DataBuf+1
04A3 07 04 80       616 		brnz	.Funct2	
04A6 F5 00          617 		lda0	.DataBuf
04A8 A7 D0          618 		cmpe	#0d0h
04AA 06 04 BF       619 		brz	.EnPolRec
04AD A7 D6          620 		cmpe	#0d6h
04AF 06 04 BF       621 		brz	.EnPolRec					
04B2 02 06 36       622 		br	.EndStackCk
04B5                623 .EndFunction2:
04B5 F5 00          624 		lda0	.Buf1
04B7 A7 0A          625 		cmpe	#0ah
04B9 04 06 29       626 		brc	.SynError			
04BC 02 06 36       627 		br	.EndStackCk
04BF                628 .EnPolRec:
04BF F5 00          629 		lda0	.CommaFlag
04C1 1F             630 		inca		
04C2 F9 00          631 		sta0	.CommaFlag				
04C4 02 03 EE       632 		br	.LCCK		
+                   633 ;-------------------------------------------	
04C7                634 .PointCK:
04C7 F5 00          635 		lda0	.DataBuf
04C9 F9 00          636 		sta0	.Buf2
04CB F5 00          637 		lda0	.Buf1		
04CD A7 A0          638 		cmpe	#0a0h
04CF 06 06 29       639 		brz	.SynError
04D2 F5 00          640 		lda0	.Buf1
04D4 F9 00          641 		sta0	.DataBuf
04D6 F9 01          642 		sta0	.DataBuf+1
04D8 20 00 00       643 		call	.CheckPari
04DB 20 00 00       644 		call	.CheckMem
04DE F5 00          645 		lda0	.Buf2
04E0 F9 00          646 		sta0	.DataBuf
04E2 F5 00          647 		lda0	.AfterPari
04E4 A7 01          648 		cmpe	#01h
04E6 06 06 36       649 		brz	.EndStackCk
04E9 A7 02          650 		cmpe	#02h		;+
04EB 06 06 36       651 		brz	.EndStackCk
04EE A7 03          652 		cmpe	#03h		;-
04F0 06 06 36       653 		brz	.EndStackCk
04F3 A7 04          654 		cmpe	#04h		;*
04F5 06 06 36       655 		brz	.EndStackCk
04F8 A7 05          656 		cmpe	#05h		;/
04FA 06 06 36       657 		brz	.EndStackCk
04FD A7 06          658 		cmpe	#06h		;05h
04FF 06 06 36       659 		brz	.EndStackCk
0502 A7 0A          660 		cmpe	#0ah
0504 06 06 36       661 		brz	.EndStackCk
0507 F5 00          662 		lda0	.Buf1
0509 A7 B2          663 		cmpe	#0b2h
050B 06 06 36       664 		brz	.EndStackCk	
050E A7 D3          665 		cmpe	#0d3h
0510 06 06 36       666 		brz	.EndStackCk
0513 A7 D7          667 		cmpe	#0d7h
0515 06 06 36       668 		brz	.EndStackCk					
0518 02 06 29       669 		br	.SynError
+                   670 ;-------------------------------------------		
051B                671 .DRGCK:
051B F5 00          672 		lda0	.AfterPari
051D F9 00          673 		sta0	.Buf3
051F F5 00          674 		lda0	.DataBuf
0521 F9 00          675 		sta0	.Buf2
0523 F5 00          676 		lda0	.Buf1
0525 F9 00          677 		sta0	.DataBuf
0527 F9 01          678 		sta0	.DataBuf+1
0529 20 00 00       679 		call	.CheckPari
052C 20 00 00       680 		call	.CheckMem
052F F5 00          681 		lda0	.Buf2
0531 F9 00          682 		sta0	.DataBuf
0533 F5 00          683 		lda0	.AfterPari
0535 A7 06          684 		cmpe	#06h		;05h
0537 06 06 29       685 		brz	.SynError
053A A7 09          686 		cmpe	#09h
053C 06 06 29       687 		brz	.SynError
053F F5 00          688 		lda0	.Buf3
0541 F9 00          689 		sta0	.AfterPari
0543 02 06 36       690 		br	.EndStackCk 
+                   691 ;-------------------------------------------
0546                692 .MemCLR:
0546 F5 00          693 		lda0	.DataBuf
0548 A7 02          694 		cmpe	#02h
054A 04 06 29       695 		brc	.SynError				
054D 02 06 36       696 		br	.EndStackCk
+                   697 ;-------------------------------------------		
0550                698 .DoSemicolon:
0550 F5 00          699 		lda0	.SimeFlag
0552 1F             700 		inca
0553 F9 00          701 		sta0	.SimeFlag
0555 F5 00          702 		lda0	.Buf1
0557 A7 B0          703 		cmpe	#0b0h		;b0=';'
0559 06 06 29       704 		brz	.SynError
055C A7 B4          705 		cmpe	#0b4h		;b4=','
055E 06 06 29       706 		brz	.SynError
0561 F5 00          707 		lda0	.SimeFlag
0563 A7 02          708 		cmpe	#02h
0565 04 06 29       709 		brc 	.SynError		 	
0568 02 06 36       710 		br	.EndStackCk						
+                   711 ;-------------------------------------------		
056B                712 .SignDec:
056B F5 00          713 		lda0	.DataBuf
056D F9 00          714 		sta0	.Buf2
056F F5 00          715 		lda0	.Buf1	
0571 A7 B4          716 		cmpe	#0b4h		; ,			;2002 10 22   Alton
0573 06 06 36       717 		brz	.EndStackCk
0576 A7 A8          718 		cmpe	#0a8h
0578 06 06 36       719 		brz	.EndStackCk
057B A7 C3          720 		cmpe	#0c3h
057D 06 06 36       721 		brz	.EndStackCk
0580 F5 00          722 		lda0	.Buf1
0582 F9 00          723 		sta0	.DataBuf
0584 F9 01          724 		sta0	.DataBuf+1
0586 20 00 00       725 		call	.CheckPari
0589 20 00 00       726 		call	.CheckMem
058C F5 00          727 		lda0	.Buf2
058E F9 00          728 		sta0	.DataBuf
0590 F5 00          729 		lda0	.AfterPari
0592 A7 01          730 		cmpe	#01h
0594 06 06 29       731 		brz	.SynError
0597 A7 02          732 		cmpe	#02h
0599 06 06 29       733 		brz	.SynError			

⌨️ 快捷键说明

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