📄 postfixvalume.asl
字号:
0274 F5 7B 332 lda0 .PsValDP
0276 FC 21 333 sta DP
0278 F2 334 lda i
0279 F9 01 335 sta0 .DataBuf+1
027B A7 A0 336 cmpe #0a0h
027D 06 07 BA 337 brz .EndCalcVal
0280 A7 B0 338 cmpe #0b0h
0282 06 02 E3 339 brz .StartCalcV
0285 A7 B4 340 cmpe #0b4h
0287 06 02 D3 341 brz .CheckNowMode
028A A7 B6 342 cmpe #0b6h
028C 06 07 BA 343 brz .EndCalcVal
028F A7 AE 344 cmpe #0aeh ;07h ae
0291 06 02 E3 345 brz .StartCalcV
0294 20 00 00 346 call .CheckPari
0297 F5 00 347 lda0 .AfterPari
0299 A7 00 348 cmpe #0h
029B 06 02 E3 349 brz .StartCalcV
029E A7 01 350 cmpe #01h
02A0 06 07 BA 351 brz .EndCalcVal
02A3 A7 02 352 cmpe #02h
02A5 06 07 BA 353 brz .EndCalcVal
02A8 A7 03 354 cmpe #03h
02AA 06 02 E3 355 brz .StartCalcV
02AD A7 04 356 cmpe #04h
02AF 06 02 E3 357 brz .StartCalcV
02B2 A7 05 358 cmpe #05h
02B4 06 02 E3 359 brz .StartCalcV
02B7 A7 07 360 cmpe #07h ;07hae
02B9 06 02 E3 361 brz .StartCalcV
02BC A7 08 362 cmpe #08h ;07h
02BE 06 02 E3 363 brz .StartCalcV
02C1 A7 09 364 cmpe #09h
02C3 06 02 E3 365 brz .StartCalcV
02C6 A7 0B 366 cmpe #0bh
02C8 06 02 E3 367 brz .StartCalcV
02CB A7 0C 368 cmpe #0ch
02CD 06 02 E3 369 brz .StartCalcV
02D0 02 07 BA 370 br .EndCalcVal
02D3 371 .CheckNowMode:
02D3 F3 01 372 lda #01h ;only x','y cann't use comp mode
02D5 FC 28 373 sta PP
02D7 F1 00 374 lda StateFlag
02D9 CB 07 375 anda #07h
02DB A7 00 376 cmpe #0h
02DD 07 02 E3 377 brnz .StartCalcV
02E0 02 07 BA 378 br .EndCalcVal
02E3 379 .StartCalcV:
02E3 F5 7C 380 lda0 .IndexDP
02E5 FC 21 381 sta DP
02E7 F3 03 382 lda #03h
02E9 FC 28 383 sta PP
02EB F2 384 lda i
02EC F9 7B 385 sta0 .PsValDP
02EE F5 7B 386 lda0 .PsValDP
02F0 A7 00 387 cmpe #0h
02F2 06 07 BA 388 brz .EndCalcVal
02F5 A7 F0 389 cmpe #0f0h
02F7 04 04 5E 390 brc .P3DPX
02FA F3 02 391 lda #02h
02FC FC 28 392 sta PP
02FE F5 7B 393 lda0 .PsValDP
0300 FC 21 394 sta DP
0302 F2 395 lda i
0303 F9 01 396 sta0 .DataBuf+1
0305 F9 00 397 sta0 .DataBuf
0307 A7 A0 398 cmpe #0a0h
0309 06 03 19 399 brz .SaveX
030C 20 00 00 400 call .CheckPari
030F 20 00 00 401 call .CheckMem
0312 F5 00 402 lda0 .AfterPari
0314 A7 01 403 cmpe #01h
0316 06 03 26 404 brz .MemoryToX
0319 405 .SaveX:
0319 20 08 B3 406 call .SaveToZ
031C F3 00 407 lda #0h
031E FC 28 408 sta PP
0320 20 00 00 409 call .Z_trans_R ;R store X
0323 02 03 2F 410 br .GetY
0326 411 .MemoryToX:
0326 20 10 C4 412 call .MemoryToZ
0329 20 00 00 413 call .Z_trans_R
032C 02 03 2F 414 br .GetY
+ 415
+ 416 ;=============
032F 417 .GetY:
032F F5 7C 418 lda0 .IndexDP
0331 FC 21 419 sta DP
0333 F3 03 420 lda #03h
0335 FC 28 421 sta PP
0337 18 422 incdp
0338 F2 423 lda i
0339 F9 7B 424 sta0 .PsValDP
033B A7 00 425 cmpe #0h
033D 06 03 54 426 brz .NormalYmode
0340 A7 F0 427 cmpe #0f0h
0342 04 04 6B 428 brc .P3DPY
0345 F3 02 429 lda #02h
0347 FC 28 430 sta PP
0349 F5 7B 431 lda0 .PsValDP
034B FC 21 432 sta DP
034D F2 433 lda i
034E F9 01 434 sta0 .DataBuf+1
0350 F9 00 435 sta0 .DataBuf
0352 F9 00 436 sta0 .Buf1
0354 437 .NormalYmode:
0354 F5 7B 438 lda0 .PsValDP
0356 A7 00 439 cmpe #0h
0358 06 07 BA 440 brz .EndCalcVal
035B F5 00 441 lda0 .Buf1
035D A7 B0 442 cmpe #0b0h
035F 06 03 B1 443 brz .CalcFunct56V
0362 A7 A0 444 cmpe #0a0h
0364 06 03 99 445 brz .SaveY
0367 F5 00 446 lda0 .DataBuf
+ 447 ;cmpe #0aah
+ 448 ;brz .CalcDMS
0369 A7 AB 449 cmpe #0abh
036B 06 12 8F 450 brz .CalcDMS
036E A7 AC 451 cmpe #0ach
0370 06 12 8F 452 brz .CalcDMS
0373 A7 AD 453 cmpe #0adh
0375 06 12 8F 454 brz .CalcDMS
0378 A7 B4 455 cmpe #0b4h
037A 06 03 B1 456 brz .CalcFunct56V
037D 20 00 00 457 call .CheckPari
0380 20 00 00 458 call .CheckMem
0383 F5 00 459 lda0 .AfterPari
0385 A7 01 460 cmpe #01h
0387 06 03 A8 461 brz .MemoryToY
038A A7 06 462 cmpe #06h ;05h
038C 06 03 B1 463 brz .CalcFunct56V
038F A7 0A 464 cmpe #0ah
0391 06 03 B1 465 brz .CalcFunct56V
0394 A7 0B 466 cmpe #0bh
0396 06 03 B1 467 brz .CalcFunct56V
0399 468 .SaveY:
0399 20 08 B3 469 call .SaveToZ
039C F3 00 470 lda #0h
039E FC 28 471 sta PP
03A0 F9 07 472 sta0 OperandY+7
03A2 20 00 00 473 call .Z_trans_Y
03A5 02 03 BE 474 br .GetOPC
03A8 475 .MemoryToY:
03A8 20 10 C4 476 call .MemoryToZ
03AB 20 00 00 477 call .Z_trans_Y
03AE 02 03 BE 478 br .GetOPC
03B1 479 .CalcFunct56V:
03B1 20 00 00 480 call .R_trans_X
03B4 F3 00 481 lda #0h
03B6 F9 07 482 sta0 OperandX+7
03B8 20 0A FE 483 call .ChoiceFunc
03BB 02 07 49 484 br .MarkDP1
+ 485 ;=============
03BE 486 .GetOPC:
+ 487
03BE 20 00 00 488 call .R_trans_X
03C1 F3 00 489 lda #0h
03C3 F9 07 490 sta0 OperandX+7
03C5 F9 07 491 sta0 OperandY+7
03C7 F5 7C 492 lda0 .IndexDP
03C9 FC 21 493 sta DP
03CB F3 03 494 lda #03h
03CD FC 28 495 sta PP
03CF 18 496 incdp
03D0 18 497 incdp
03D1 F2 498 lda i
03D2 F9 7B 499 sta0 .PsValDP
03D4 F5 00 500 lda0 .KeyPos
03D6 A7 77 501 cmpe #77h ;%=
03D8 07 03 E2 502 brnz .IsEqu
03DB 18 503 incdp
03DC F2 504 lda i
03DD A7 00 505 cmpe #0h
03DF 06 06 D0 506 brz .PercentEqu
03E2 507 .IsEqu:
03E2 F3 02 508 lda #02h
03E4 FC 28 509 sta PP
03E6 F5 7B 510 lda0 .PsValDP
03E8 FC 21 511 sta DP
03EA 512 .CalcOperand:
03EA F2 513 lda i
03EB F9 00 514 sta0 .Buf4
03ED A7 A4 515 cmpe #0a4h
03EF 06 04 78 516 brz .DOadd
03F2 A7 DF 517 cmpe #0dfh
03F4 06 04 82 518 brz .DoSpadd ;.Doadd
03F7 A7 A5 519 cmpe #0a5h
03F9 06 04 A2 520 brz .DOdec
03FC A7 A6 521 cmpe #0a6h
03FE 06 04 AC 522 brz .DOmul
0401 A7 EC 523 cmpe #0ech ;LC *
0403 06 04 AC 524 brz .DOmul
0406 A7 CD 525 cmpe #0cdh
0408 06 04 AC 526 brz .DOmul
040B A7 DE 527 cmpe #0deh
040D 06 04 B6 528 brz .DOdiv
0410 A7 A7 529 cmpe #0a7h
0412 06 04 B6 530 brz .DOdiv
0415 A7 D3 531 cmpe #0d3h
0417 06 04 D8 532 brz .Pow_x_yD
041A A7 D7 533 cmpe #0d7h
041C 06 04 E5 534 brz .Pow_x_invyD
041F A7 D5 535 cmpe #0d5h
0421 06 05 1F 536 brz .NPRD
0424 A7 C9 537 cmpe #0c9h
0426 06 05 29 538 brz .NCRD
0429 A7 D0 539 cmpe #0d0h
042B 06 05 10 540 brz .DoPol
042E A7 D6 541 cmpe #0d6h
0430 06 05 19 542 brz .DoRec
0433 A7 AE 543 cmpe #0aeh
0435 06 04 78 544 brz .DOadd
0438 A7 B4 545 cmpe #0b4h
043A 06 05 33 546 brz .REGD
043D A7 B0 547 cmpe #0b0h
043F 06 05 82 548 brz .LRCnterInp
0442 A7 A1 549 cmpe #0a1h
0444 06 04 D2 550 brz .Doexp2
0447 A7 20 551 cmpe #20h
0449 06 04 F8 552 brz .DOand
044C A7 21 553 cmpe #21h
044E 06 04 FE 554 brz .DOor
0451 A7 22 555 cmpe #22h
0453 06 05 04 556 brz .DOxnor
0456 A7 23 557 cmpe #23h
0458 06 05 0A 558 brz .DOxor
045B 02 07 82 559 br .MarkDP2
045E 560 .P3DPX:
045E 20 07 BB 561 call .P3dataToZ
0461 F3 00 562 lda #0h
0463 FC 28 563 sta PP
0465 20 00 00 564 call .Z_trans_R
0468 02 03 2F 565 br .GetY
046B 566 .P3DPY:
+ 567
+ 568
046B 20 07 BB 569 call .P3dataToZ
046E F3 00 570 lda #0h
0470 FC 28 571 sta PP
0472 20 00 00 572 call .Z_trans_Y
0475 02 03 BE 573 br .GetOPC
+ 574
0478 575 .DOadd:
+ 576
+ 577
+ 578 ;call .GetDataLimit10
0478 F3 00 579 lda #0h
047A FC 28 580 sta PP
047C 20 00 00 581 call Addition
047F 02 07 82 582 br .MarkDP2
0482 583 .DoSpadd:
0482 F3 00 584 lda #0h
0484 FC 28 585 sta PP
0486 F5 00 586 lda0 SignX
0488 89 00 587 adda SignY
048A CB 01 588 anda #01h
048C F9 00 589 sta0 .Buf1
048E F3 00 590 lda #0h
0490 F9 00 591 sta0 SignY
0492 F9 00 592 sta0 SignX
0494 F3 00 593 lda #0h
0496 FC 28 594 sta PP
0498 20 00 00 595 call Addition
049B F5 00 596 lda0 .Buf1
049D F9 00 597 sta0 SignZ
049F 02 07 82 598 br .MarkDP2
04A2 599 .DOdec:
+ 600
+ 601 ;call .GetDataLimit10
04A2 F3 00 602 lda #0h
04A4 FC 28 603 sta PP
04A6 20 00 00 604 call Subtration
04A9 02 07 82 605 br .MarkDP2
04AC 606 .DOmul:
04AC F3 00 607 lda #0h
04AE FC 28 608 sta PP
04B0 20 00 00 609 call Multiplation
+ 610 ;call .Carry
04B3 02 07 82 611 br .MarkDP2
04B6 612 .DOdiv:
04B6 F3 00 613 lda #0h
04B8 FC 28 614 sta PP
04BA 20 00 00 615 call Division
04BD F3 00 616 lda #>StateFlag
04BF FC 28 617 sta PP
04C1 F1 00 618 lda StateFlag
04C3 CB 08 619 anda #08h
04C5 06 07 82 620 brz .MarkDP2
04C8 20 00 00 621 call GetInt
04CB F3 00 622 lda #0h
04CD FC 28 623 sta PP
+ 624 ;call .Carry
04CF 02 07 82 625 br .MarkDP2
04D2 626 .Doexp2:
04D2 20 00 00 627 call .Expp2
04D5 02 07 82 628 br .MarkDP2
04D8 629 .Pow_x_yD:
04D8 F3 00 630 lda #0h
04DA FC 28 631 sta PP
04DC 20 00 00 632 call .Pow_x_y
04DF 20 00 00 633 call .CKNear_1
04E2 02 07 82 634 br .MarkDP2
04E5 635 .Pow_x_invyD:
04E5 F3 00 636 lda #0h
04E7 FC 28 637 sta PP
04E9 20 00 00 638 call .Y_trans_Z
04EC 20 00 00 639 call .X_trans_Y
04EF 20 00 00 640 call .Z_trans_X
04F2 20 00 00 641 call .Pow_x_invy
04F5 02 07 82 642 br .MarkDP2
04F8 643 .DOand:
04F8 20 00 00 644 call LogicAnd
04FB 02 07 82 645 br .MarkDP2
04FE 646 .DOor:
04FE 20 00 00 647 call LogicOr
0501 02 07 82 648 br .MarkDP2
0504 649 .DOxnor:
0504 20 00 00 650 call LogicXnor
0507 02 07 82 651 br .MarkDP2
050A 652 .DOxor:
050A 20 00 00 653 call LogicXor
050D 02 07 82 654 br .MarkDP2
+ 655
+ 656
0510 657 .DoPol:
0510 20 00 00 658 call .POL
0513 20 00 00 659 call .Z_trans_X
0516 02 07 82 660 br .MarkDP2
0519 661 .DoRec:
0519 20 00 00 662 call .REC
051C 02 07 82 663 br .MarkDP2
051F 664 .NPRD:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -