📄 vectors08.lis
字号:
0494 A601 lda #1
0496 B750 sta *_x
0498 ; if(x==1)
0498 B650 lda *_x
049A A101 cmp #1
049C 2703 beq X11
049E CC0BAC jmp L56
04A1 X11:
04A1 ; {
04A1 ; x=0;
04A1 3F50 clr *_x
04A3 ; KB_valve=KB_Scan(); //扫描键值
04A3 CD0000 jsr _KB_Scan
04A6 95 tsx
04A7 B700 sta *__r1
04A9 E702 sta 2,X
04AB ; KB_valve=KB_Def(KB_valve); //键值转化为定义值
04AB 87 psha
04AC CD0000 jsr _KB_Def
04AF A701 ais #1
04B1 95 tsx
04B2 B700 sta *__r1
04B4 E702 sta 2,X
04B6 ; switch(KB_valve)
04B6 7F clr ,X
04B7 E701 sta 1,X
04B9 F6 lda ,X
04BA B700 sta *__r0
04BC 5500 ldhx *__r0
04BE 65002A cphx #42
04C1 95 tsx
04C2 9003 bge X12
04C4 CC0B4B jmp L58
04C7 X12:
04C7 E601 lda 1,X
04C9 B700 sta *__r1
04CB F6 lda ,X
04CC B700 sta *__r0
04CE 5500 ldhx *__r0
04D0 65003D cphx #61
04D3 95 tsx
04D4 9303 ble X13
04D6 CC0B4B jmp L58
04D9 X13:
04D9 E601 lda 1,X
04DB A02A sub #42
04DD B700 sta *__r1
04DF F6 lda ,X
04E0 A200 sbc #0
04E2 B700 sta *__r0
04E4 3800 lsl *__r1
04E6 3900 rol *__r0
04E8 B600 lda *__r1
04EA AB00 add #<L163
04EC B700 sta *__r1
04EE B600 lda *__r0
04F0 A900 adc #>L163
04F2 B700 sta *__r0
04F4 5500 ldhx *__r0
04F6 E601 lda 1,x
04F8 B700 sta *__r1
04FA F6 lda ,x
04FB 95 tsx
04FC B700 sta *__r0
04FE B600 lda *__r1
0500 87 psha
0501 B600 lda *__r0
0503 87 psha
0504 81 rts
0505 X9:
0505 ; {
0505 L61:
0505 ; case '1':n[t++]='1';s1=0;break;
0505 3F00 clr *__r0
0507 B621 lda *_t
0509 B700 sta *__r1
050B 5500 ldhx *__r0
050D AF01 aix #1
050F 3500 sthx *__r2
0511 4E0021 mov *__r3,*_t
0514 AB00 add #<_n
0516 B700 sta *__r1
0518 B600 lda *__r0
051A A900 adc #>_n
051C B700 sta *__r0
051E A631 lda #49
0520 5500 ldhx *__r0
0522 F7 sta ,x
0523 95 tsx
0524 3F20 clr *_s1
0526 CC0B4B jmp L59
0529 L62:
0529 ; case '2':n[t++]='2';s1=0;break;
0529 3F00 clr *__r0
052B B621 lda *_t
052D B700 sta *__r1
052F 5500 ldhx *__r0
0531 AF01 aix #1
0533 3500 sthx *__r2
0535 4E0021 mov *__r3,*_t
0538 AB00 add #<_n
053A B700 sta *__r1
053C B600 lda *__r0
053E A900 adc #>_n
0540 B700 sta *__r0
0542 A632 lda #50
0544 5500 ldhx *__r0
0546 F7 sta ,x
0547 95 tsx
0548 3F20 clr *_s1
054A CC0B4B jmp L59
054D L63:
054D ; case '3':n[t++]='3';s1=0;break;
054D 3F00 clr *__r0
054F B621 lda *_t
0551 B700 sta *__r1
0553 5500 ldhx *__r0
0555 AF01 aix #1
0557 3500 sthx *__r2
0559 4E0021 mov *__r3,*_t
055C AB00 add #<_n
055E B700 sta *__r1
0560 B600 lda *__r0
0562 A900 adc #>_n
0564 B700 sta *__r0
0566 A633 lda #51
0568 5500 ldhx *__r0
056A F7 sta ,x
056B 95 tsx
056C 3F20 clr *_s1
056E CC0B4B jmp L59
0571 L64:
0571 ; case '4':n[t++]='4';s1=0;break;
0571 3F00 clr *__r0
0573 B621 lda *_t
0575 B700 sta *__r1
0577 5500 ldhx *__r0
0579 AF01 aix #1
057B 3500 sthx *__r2
057D 4E0021 mov *__r3,*_t
0580 AB00 add #<_n
0582 B700 sta *__r1
0584 B600 lda *__r0
0586 A900 adc #>_n
0588 B700 sta *__r0
058A A634 lda #52
058C 5500 ldhx *__r0
058E F7 sta ,x
058F 95 tsx
0590 3F20 clr *_s1
0592 CC0B4B jmp L59
0595 L65:
0595 ; case '5':n[t++]='5';s1=0;break;
0595 3F00 clr *__r0
0597 B621 lda *_t
0599 B700 sta *__r1
059B 5500 ldhx *__r0
059D AF01 aix #1
059F 3500 sthx *__r2
05A1 4E0021 mov *__r3,*_t
05A4 AB00 add #<_n
05A6 B700 sta *__r1
05A8 B600 lda *__r0
05AA A900 adc #>_n
05AC B700 sta *__r0
05AE A635 lda #53
05B0 5500 ldhx *__r0
05B2 F7 sta ,x
05B3 95 tsx
05B4 3F20 clr *_s1
05B6 CC0B4B jmp L59
05B9 L66:
05B9 ; case '6':n[t++]='6';s1=0;break;
05B9 3F00 clr *__r0
05BB B621 lda *_t
05BD B700 sta *__r1
05BF 5500 ldhx *__r0
05C1 AF01 aix #1
05C3 3500 sthx *__r2
05C5 4E0021 mov *__r3,*_t
05C8 AB00 add #<_n
05CA B700 sta *__r1
05CC B600 lda *__r0
05CE A900 adc #>_n
05D0 B700 sta *__r0
05D2 A636 lda #54
05D4 5500 ldhx *__r0
05D6 F7 sta ,x
05D7 95 tsx
05D8 3F20 clr *_s1
05DA CC0B4B jmp L59
05DD L67:
05DD ; case '7':n[t++]='7';s1=0;break;
05DD 3F00 clr *__r0
05DF B621 lda *_t
05E1 B700 sta *__r1
05E3 5500 ldhx *__r0
05E5 AF01 aix #1
05E7 3500 sthx *__r2
05E9 4E0021 mov *__r3,*_t
05EC AB00 add #<_n
05EE B700 sta *__r1
05F0 B600 lda *__r0
05F2 A900 adc #>_n
05F4 B700 sta *__r0
05F6 A637 lda #55
05F8 5500 ldhx *__r0
05FA F7 sta ,x
05FB 95 tsx
05FC 3F20 clr *_s1
05FE CC0B4B jmp L59
0601 L68:
0601 ; case '8':n[t++]='8';s1=0;break;
0601 3F00 clr *__r0
0603 B621 lda *_t
0605 B700 sta *__r1
0607 5500 ldhx *__r0
0609 AF01 aix #1
060B 3500 sthx *__r2
060D 4E0021 mov *__r3,*_t
0610 AB00 add #<_n
0612 B700 sta *__r1
0614 B600 lda *__r0
0616 A900 adc #>_n
0618 B700 sta *__r0
061A A638 lda #56
061C 5500 ldhx *__r0
061E F7 sta ,x
061F 95 tsx
0620 3F20 clr *_s1
0622 CC0B4B jmp L59
0625 L69:
0625 ; case '9':n[t++]='9';s1=0;break;
0625 3F00 clr *__r0
0627 B621 lda *_t
0629 B700 sta *__r1
062B 5500 ldhx *__r0
062D AF01 aix #1
062F 3500 sthx *__r2
0631 4E0021 mov *__r3,*_t
0634 AB00 add #<_n
0636 B700 sta *__r1
0638 B600 lda *__r0
063A A900 adc #>_n
063C B700 sta *__r0
063E A639 lda #57
0640 5500 ldhx *__r0
0642 F7 sta ,x
0643 95 tsx
0644 3F20 clr *_s1
0646 CC0B4B jmp L59
0649 L70:
0649 ; case '0':n[t++]='0';s1=0;break;
0649 3F00 clr *__r0
064B B621 lda *_t
064D B700 sta *__r1
064F 5500 ldhx *__r0
0651 AF01 aix #1
0653 3500 sthx *__r2
0655 4E0021 mov *__r3,*_t
0658 AB00 add #<_n
065A B700 sta *__r1
065C B600 lda *__r0
065E A900 adc #>_n
0660 B700 sta *__r0
0662 A630 lda #48
0664 5500 ldhx *__r0
0666 F7 sta ,x
0667 95 tsx
0668 3F20 clr *_s1
066A CC0B4B jmp L59
066D L72:
066D 3A21 dec *_t
066F L73:
066F 3F00 clr *__r0
0671 B621 lda *_t
0673 ABFF add #<_n-1
0675 B700 sta *__r1
0677 B600 lda *__r0
0679 A9FF adc #>_n-1
067B B700 sta *__r0
067D 5500 ldhx *__r0
067F F6 lda ,x
0680 95 tsx
0681 A120 cmp #32
0683 27E8 beq L72
0685 B621 lda *_t
0687 2718 beq L76
0689 B621 lda *_t
068B A001 sub #1
068D B721 sta *_t
068F 3F00 clr *__r0
0691 AB00 add #<_n
0693 B700 sta *__r1
0695 B600 lda *__r0
0697 A900 adc #>_n
0699 B700 sta *__r0
069B A620 lda #32
069D 5500 ldhx *__r0
069F F7 sta ,x
06A0 95 tsx
06A1 L76:
06A1 ; case '<':while(n[t-1]==' ')t--;if(t!=0)n[--t]=' ';s1=2;break;
06A1 A602 lda #2
06A3 B720 sta *_s1
06A5 CC0B4B jmp L59
06A8 L78:
06A8 ; case '+':if(s1==1)
06A8 B620 lda *_s1
06AA A101 cmp #1
06AC 2703 beq X14
06AE CC0744 jmp L79
06B1 X14:
06B1 ; {
06B1 ; s2=0;
06B1 3F51 clr *_s2
06B3 2002 bra L82
06B5 L81:
06B5 3C51 inc *_s2
06B7 L82:
06B7 ; while(n[s2]!='=')s2++;
06B7 3F00 clr *__r0
06B9 B651 lda *_s2
06BB AB00 add #<_n
06BD B700 sta *__r1
06BF B600 lda *__r0
06C1 A900 adc #>_n
06C3 B700 sta *__r0
06C5 5500 ldhx *__r0
06C7 F6 lda ,x
06C8 95 tsx
06C9 A13D cmp #61
06CB 26E8 bne L81
06CD 3F52 clr *_i
06CF 203B bra L87
06D1 L84:
06D1 3F00 clr *__r0
06D3 B651 lda *_s2
06D5 B700 sta *__r1
06D7 3F00 clr *__r2
06D9 B652 lda *_i
06DB BB00 add *__r1
06DD B700 sta *__r1
06DF B600 lda *__r2
06E1 B900 adc *__r0
06E3 B700 sta *__r0
06E5 B600 lda *__r1
06E7 AB01 add #<_n+1
06E9 B700 sta *__r1
06EB B600 lda *__r0
06ED A901 adc #>_n+1
06EF B700 sta *__r0
06F1 5500 ldhx *__r0
06F3 F6 lda ,x
06F4 B700 sta *__r1
06F6 3F00 clr *__r2
06F8 B652 lda *_i
06FA AB00 add #<_n
06FC B700 sta *__r3
06FE B600 lda *__r2
0700 A900 adc #>_n
0702 B700 sta *__r2
0704 B600 lda *__r1
0706 5500 ldhx *__r2
0708 F7 sta ,x
0709 95 tsx
070A L85:
070A 3C52 inc *_i
070C L87:
070C ; for(i=0;i<t-s2;i++)n[i]=n[i+s2+1];
070C B621 lda *_t
070E B051 sub *_s2
0710 B700 sta *__r0
0712 B652 lda *_i
0714 B100 cmp *__r0
0716 25B9 blo L84
0718 B621 lda *_t
071A B051 sub *_s2
071C B752 sta *_i
071E 2016 bra L92
0720 L89:
0720 3F00 clr *__r0
0722 B652 lda *_i
0724 AB00 add #<_n
0726 B700 sta *__r1
0728 B600 lda *__r0
072A A900 adc #>_n
072C B700 sta *__r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -