vectors08.lis
来自「基于HC908GP32的计算器完整程序」· LIS 代码 · 共 1,938 行 · 第 1/5 页
LIS
1,938 行
072E A620 lda #32
0730 5500 ldhx *__r0
0732 F7 sta ,x
0733 95 tsx
0734 L90:
0734 3C52 inc *_i
0736 L92:
0736 ; for(i=t-s2;i<32;i++)n[i]=' ';
0736 B652 lda *_i
0738 A120 cmp #32
073A 25E4 blo L89
073C ; t=t-s2-1;
073C B621 lda *_t
073E B051 sub *_s2
0740 A001 sub #1
0742 B721 sta *_t
0744 ; }
0744 L79:
0744 ; if(t==0)break;
0744 B621 lda *_t
0746 2603 bne L93
0748 CC0B4B jmp L59
074B L93:
074B ; else n[t++]='+';
074B 3F00 clr *__r0
074D B621 lda *_t
074F B700 sta *__r1
0751 5500 ldhx *__r0
0753 AF01 aix #1
0755 3500 sthx *__r2
0757 4E0021 mov *__r3,*_t
075A AB00 add #<_n
075C B700 sta *__r1
075E B600 lda *__r0
0760 A900 adc #>_n
0762 B700 sta *__r0
0764 A62B lda #43
0766 5500 ldhx *__r0
0768 F7 sta ,x
0769 95 tsx
076A ; s1=0;break;
076A 3F20 clr *_s1
076C CC0B4B jmp L59
076F L95:
076F ; case '-':if(s1==1)
076F B620 lda *_s1
0771 A101 cmp #1
0773 2703 beq X15
0775 CC080D jmp L96
0778 X15:
0778 ; {
0778 ; s2=0;
0778 3F51 clr *_s2
077A 2002 bra L99
077C L98:
077C 3C51 inc *_s2
077E L99:
077E ; while(n[s2]!='=')s2++;
077E 3F00 clr *__r0
0780 B651 lda *_s2
0782 AB00 add #<_n
0784 B700 sta *__r1
0786 B600 lda *__r0
0788 A900 adc #>_n
078A B700 sta *__r0
078C 5500 ldhx *__r0
078E F6 lda ,x
078F 95 tsx
0790 A13D cmp #61
0792 26E8 bne L98
0794 3F52 clr *_i
0796 203B bra L104
0798 L101:
0798 3F00 clr *__r0
079A B651 lda *_s2
079C B700 sta *__r1
079E 3F00 clr *__r2
07A0 B652 lda *_i
07A2 BB00 add *__r1
07A4 B700 sta *__r1
07A6 B600 lda *__r2
07A8 B900 adc *__r0
07AA B700 sta *__r0
07AC B600 lda *__r1
07AE AB01 add #<_n+1
07B0 B700 sta *__r1
07B2 B600 lda *__r0
07B4 A901 adc #>_n+1
07B6 B700 sta *__r0
07B8 5500 ldhx *__r0
07BA F6 lda ,x
07BB B700 sta *__r1
07BD 3F00 clr *__r2
07BF B652 lda *_i
07C1 AB00 add #<_n
07C3 B700 sta *__r3
07C5 B600 lda *__r2
07C7 A900 adc #>_n
07C9 B700 sta *__r2
07CB B600 lda *__r1
07CD 5500 ldhx *__r2
07CF F7 sta ,x
07D0 95 tsx
07D1 L102:
07D1 3C52 inc *_i
07D3 L104:
07D3 ; for(i=0;i<t-s2;i++)n[i]=n[i+s2+1];
07D3 B621 lda *_t
07D5 B051 sub *_s2
07D7 B700 sta *__r0
07D9 B652 lda *_i
07DB B100 cmp *__r0
07DD 25B9 blo L101
07DF B621 lda *_t
07E1 B051 sub *_s2
07E3 B752 sta *_i
07E5 2016 bra L109
07E7 L106:
07E7 3F00 clr *__r0
07E9 B652 lda *_i
07EB AB00 add #<_n
07ED B700 sta *__r1
07EF B600 lda *__r0
07F1 A900 adc #>_n
07F3 B700 sta *__r0
07F5 A620 lda #32
07F7 5500 ldhx *__r0
07F9 F7 sta ,x
07FA 95 tsx
07FB L107:
07FB 3C52 inc *_i
07FD L109:
07FD ; for(i=t-s2;i<32;i++)n[i]=' ';
07FD B652 lda *_i
07FF A120 cmp #32
0801 25E4 blo L106
0803 ; t=t-s2-1;
0803 B621 lda *_t
0805 B051 sub *_s2
0807 A001 sub #1
0809 B721 sta *_t
080B ; }
080B 201F bra L97
080D L96:
080D ; else n[t++]='-';
080D 3F00 clr *__r0
080F B621 lda *_t
0811 B700 sta *__r1
0813 5500 ldhx *__r0
0815 AF01 aix #1
0817 3500 sthx *__r2
0819 4E0021 mov *__r3,*_t
081C AB00 add #<_n
081E B700 sta *__r1
0820 B600 lda *__r0
0822 A900 adc #>_n
0824 B700 sta *__r0
0826 A62D lda #45
0828 5500 ldhx *__r0
082A F7 sta ,x
082B 95 tsx
082C L97:
082C ; s1=0;break;
082C 3F20 clr *_s1
082E CC0B4B jmp L59
0831 L110:
0831 ; case '*':if(s1==1)
0831 B620 lda *_s1
0833 A101 cmp #1
0835 2703 beq X16
0837 CC08CD jmp L111
083A X16:
083A ; {
083A ; s2=0;
083A 3F51 clr *_s2
083C 2002 bra L114
083E L113:
083E 3C51 inc *_s2
0840 L114:
0840 ; while(n[s2]!='=')s2++;
0840 3F00 clr *__r0
0842 B651 lda *_s2
0844 AB00 add #<_n
0846 B700 sta *__r1
0848 B600 lda *__r0
084A A900 adc #>_n
084C B700 sta *__r0
084E 5500 ldhx *__r0
0850 F6 lda ,x
0851 95 tsx
0852 A13D cmp #61
0854 26E8 bne L113
0856 3F52 clr *_i
0858 203B bra L119
085A L116:
085A 3F00 clr *__r0
085C B651 lda *_s2
085E B700 sta *__r1
0860 3F00 clr *__r2
0862 B652 lda *_i
0864 BB00 add *__r1
0866 B700 sta *__r1
0868 B600 lda *__r2
086A B900 adc *__r0
086C B700 sta *__r0
086E B600 lda *__r1
0870 AB01 add #<_n+1
0872 B700 sta *__r1
0874 B600 lda *__r0
0876 A901 adc #>_n+1
0878 B700 sta *__r0
087A 5500 ldhx *__r0
087C F6 lda ,x
087D B700 sta *__r1
087F 3F00 clr *__r2
0881 B652 lda *_i
0883 AB00 add #<_n
0885 B700 sta *__r3
0887 B600 lda *__r2
0889 A900 adc #>_n
088B B700 sta *__r2
088D B600 lda *__r1
088F 5500 ldhx *__r2
0891 F7 sta ,x
0892 95 tsx
0893 L117:
0893 3C52 inc *_i
0895 L119:
0895 ; for(i=0;i<t-s2;i++)n[i]=n[i+s2+1];
0895 B621 lda *_t
0897 B051 sub *_s2
0899 B700 sta *__r0
089B B652 lda *_i
089D B100 cmp *__r0
089F 25B9 blo L116
08A1 B621 lda *_t
08A3 B051 sub *_s2
08A5 B752 sta *_i
08A7 2016 bra L124
08A9 L121:
08A9 3F00 clr *__r0
08AB B652 lda *_i
08AD AB00 add #<_n
08AF B700 sta *__r1
08B1 B600 lda *__r0
08B3 A900 adc #>_n
08B5 B700 sta *__r0
08B7 A620 lda #32
08B9 5500 ldhx *__r0
08BB F7 sta ,x
08BC 95 tsx
08BD L122:
08BD 3C52 inc *_i
08BF L124:
08BF ; for(i=t-s2;i<32;i++)n[i]=' ';
08BF B652 lda *_i
08C1 A120 cmp #32
08C3 25E4 blo L121
08C5 ; t=t-s2-1;
08C5 B621 lda *_t
08C7 B051 sub *_s2
08C9 A001 sub #1
08CB B721 sta *_t
08CD ; }
08CD L111:
08CD ; if(t==0)break;
08CD B621 lda *_t
08CF 2603 bne L125
08D1 CC0B4B jmp L59
08D4 L125:
08D4 ; else n[t++]='*';
08D4 3F00 clr *__r0
08D6 B621 lda *_t
08D8 B700 sta *__r1
08DA 5500 ldhx *__r0
08DC AF01 aix #1
08DE 3500 sthx *__r2
08E0 4E0021 mov *__r3,*_t
08E3 AB00 add #<_n
08E5 B700 sta *__r1
08E7 B600 lda *__r0
08E9 A900 adc #>_n
08EB B700 sta *__r0
08ED A62A lda #42
08EF 5500 ldhx *__r0
08F1 F7 sta ,x
08F2 95 tsx
08F3 ; s1=0;break;
08F3 3F20 clr *_s1
08F5 CC0B4B jmp L59
08F8 L127:
08F8 ; case '/':if(s1==1)
08F8 B620 lda *_s1
08FA A101 cmp #1
08FC 2703 beq X17
08FE CC0994 jmp L128
0901 X17:
0901 ; {
0901 ; s2=0;
0901 3F51 clr *_s2
0903 2002 bra L131
0905 L130:
0905 3C51 inc *_s2
0907 L131:
0907 ; while(n[s2]!='=')s2++;
0907 3F00 clr *__r0
0909 B651 lda *_s2
090B AB00 add #<_n
090D B700 sta *__r1
090F B600 lda *__r0
0911 A900 adc #>_n
0913 B700 sta *__r0
0915 5500 ldhx *__r0
0917 F6 lda ,x
0918 95 tsx
0919 A13D cmp #61
091B 26E8 bne L130
091D 3F52 clr *_i
091F 203B bra L136
0921 L133:
0921 3F00 clr *__r0
0923 B651 lda *_s2
0925 B700 sta *__r1
0927 3F00 clr *__r2
0929 B652 lda *_i
092B BB00 add *__r1
092D B700 sta *__r1
092F B600 lda *__r2
0931 B900 adc *__r0
0933 B700 sta *__r0
0935 B600 lda *__r1
0937 AB01 add #<_n+1
0939 B700 sta *__r1
093B B600 lda *__r0
093D A901 adc #>_n+1
093F B700 sta *__r0
0941 5500 ldhx *__r0
0943 F6 lda ,x
0944 B700 sta *__r1
0946 3F00 clr *__r2
0948 B652 lda *_i
094A AB00 add #<_n
094C B700 sta *__r3
094E B600 lda *__r2
0950 A900 adc #>_n
0952 B700 sta *__r2
0954 B600 lda *__r1
0956 5500 ldhx *__r2
0958 F7 sta ,x
0959 95 tsx
095A L134:
095A 3C52 inc *_i
095C L136:
095C ; for(i=0;i<t-s2;i++)n[i]=n[i+s2+1];
095C B621 lda *_t
095E B051 sub *_s2
0960 B700 sta *__r0
0962 B652 lda *_i
0964 B100 cmp *__r0
0966 25B9 blo L133
0968 B621 lda *_t
096A B051 sub *_s2
096C B752 sta *_i
096E 2016 bra L141
0970 L138:
0970 3F00 clr *__r0
0972 B652 lda *_i
0974 AB00 add #<_n
0976 B700 sta *__r1
0978 B600 lda *__r0
097A A900 adc #>_n
097C B700 sta *__r0
097E A620 lda #32
0980 5500 ldhx *__r0
0982 F7 sta ,x
0983 95 tsx
0984 L139:
0984 3C52 inc *_i
0986 L141:
0986 ; for(i=t-s2;i<32;i++)n[i]=' ';
0986 B652 lda *_i
0988 A120 cmp #32
098A 25E4 blo L138
098C ; t=t-s2-1;
098C B621 lda *_t
098E B051 sub *_s2
0990 A001 sub #1
0992 B721 sta *_t
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?