📄 syntax.asl
字号:
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 + -