📄 16f884.lst
字号:
HI-TECH Software PICC Macro Assembler V9.50PL2
Mon Dec 15 19:09:15 2008
1 processor 16F884
2 opt pw 79
3 psect config,global,class=CONFIG,delta=2
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect rdata_2,global,class=BANK2,space=1,delta
+ =1
7 psect idata_2,global,class=CODE,delta=2
8 psect rdata_1,global,class=BANK1,space=1,delta
+ =1
9 psect idata_1,global,class=CODE,delta=2
10 psect text1,local,class=CODE,delta=2
11 psect intcode,global,class=CODE,delta=2
12 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
13 psect intret,global,class=CODE,delta=2
14 psect intentry,global,class=CODE,delta=2
15 psect intsave,global,class=BANK0,space=1,delta
+ =1
16 psect text2,local,class=CODE,delta=2
17 psect text3,local,class=CODE,delta=2
18 psect text5,local,class=CODE,delta=2
19 psect text6,local,class=CODE,delta=2
20 psect text7,local,class=CODE,delta=2
21 psect text8,local,class=CODE,delta=2
22 psect text9,local,class=CODE,delta=2
23 psect text10,local,class=CODE,delta=2
24 psect text11,local,class=CODE,delta=2
25 psect text12,local,class=CODE,delta=2
26 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
27 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
28 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
29 psect rbss_2,global,class=BANK2,space=1,delta=
+ 1
30 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
31 0000
32 0000
33 0000
34 0000
35 0000
36 0000
37 0000
38 0000
39 0000
40 0000 ;#
41
42 psect config
43 2007 20AA dw 8362 ;#
44
45 psect const1
46 0800 0782 addwf 2
47 0801 _display_data
48 0801 343F retlw 63
49 0802 3430 retlw 48
50 0803 345B retlw 91
51 0804 344F retlw 79
52 0805 3466 retlw 102
53 0806 346D retlw 109
54 0807 347D retlw 125
55 0808 3407 retlw 7
56 0809 347F retlw 127
57 080A 346F retlw 111
58 080B 3473 retlw 115
59 080C 3453 retlw 83
60 080D 3477 retlw 119
61 080E 346D retlw 109
62 080F 3479 retlw 121
63 0810 3431 retlw 49
64 0811 3471 retlw 113
65 0812 3438 retlw 56
66 0813 3400 retlw 0
67 0814 3477 retlw 119
68 0815 343E retlw 62
69 0816 3437 retlw 55
70
71 psect rdata_2
72 0166 _zhuangtai
73 0166 ds 1
74
75 psect idata_2
76 0003 3403 retlw 3
77
78 psect rdata_1
79 00EC _new_pdc
80 00EC ds 2
81 00EE _RDY_RANGE
82 00EE ds 2
83
84 psect idata_1
85 07FC 3463 retlw 99
86 07FD 3400 retlw 0
87 07FE 3446 retlw 70
88 07FF 3400 retlw 0
89
90 psect intcode
91 001D _ISR
92 001D int_func
93 ;16f884.c: 219: void interrupt ISR(void)
94 001D 0183 clrf 3 ;select bank 0
95 001E 1C8C btfss 12,1
96 001F 28CC goto l106
97 ;16f884.c: 222: {TMR2IF=0;
98 0020 108C bcf 12,1
99 ;16f884.c: 223: if(zhengbanzhou)
100 0021 1DA2 btfss _zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
101 0022 286A goto l107
102 ;16f884.c: 224: {CCPR1L=new_pdc;GODONE=1;
103 0023 1683 bsf 3,5
104 0024 086C movf _new_pdc^(0+128),w ;volatile
105 0025 1283 bcf 3,5
106 0026 0095 movwf 21 ;volatile
107 0027 149F bsf 31,1
108 ;16f884.c: 225: new_pdc=pwm_data[point++];
109 0028 082B movf _point,w ;volatile
110 0029 3E34 addlw _pwm_data^(0+256)
111 002A 0084 movwf 4
112 002B 1783 bsf 3,7
113 002C 0800 movf 0,w
114 002D 1683 bsf 3,5
115 002E 00EC movwf _new_pdc^(0+128) ;volatile
116 002F 01ED clrf (_new_pdc+1)^(0+128) ;volatile
117 0030 1283 bcf 3,5
118 0031 0AAB incf _point ;volatile
119 ;16f884.c: 226: new_pdc=new_pdc*range;
120 0032 1683 bsf 3,5
121 0033 0834 movf (_range+1)^(0+128),w ;volatile
122 0034 00F3 movwf btemp+3
123 0035 0833 movf _range^(0+128),w ;volatile
124 0036 00F2 movwf btemp+2
125 0037 086C movf _new_pdc^(0+128),w ;volatile
126 0038 00F0 movwf btemp
127 0039 086D movf (_new_pdc+1)^(0+128),w ;volatile
128 003A 00F1 movwf btemp+1
129 003B 118A 21A8 118A fcall lwmul
130 003E 0874 movf btemp+4,w
131 003F 00EC movwf _new_pdc^(0+128) ;volatile
132 0040 0875 movf btemp+5,w
133 0041 00ED movwf (_new_pdc+1)^(0+128) ;volatile
134 ;16f884.c: 227: new_pdc=new_pdc>>9;
135 0042 3009 movlw 9
136 0043 00F0 movwf btemp
137 0044 u695
138 0044 1003 bcf 3,0
139 0045 0CED rrf (_new_pdc+1)^(0+128) ;volatile
140 0046 0CEC rrf _new_pdc^(0+128) ;volatile
141 0047 0BF0 decfsz btemp
142 0048 2844 goto u695
143 ;16f884.c: 228: new_pdc+=(PR2/2);
144 0049 1003 bcf 3,0
145 004A 0C12 rrf 18,w
146 004B 07EC addwf _new_pdc^(0+128) ;volatile
147 004C 1803 btfsc 3,0
148 004D 0AED incf (_new_pdc+1)^(0+128) ;volatile
149 ;16f884.c: 229: if(point>(dianshu-1)){point=0;z
+ hengbanzhou=0;}
150 004E 1283 bcf 3,5
151 004F 082B movf _point,w ;volatile
152 0050 00F0 movwf btemp
153 0051 01F1 clrf btemp+1
154 0052 0826 movf _dianshu,w
155 0053 00F2 movwf btemp+2
156 0054 01F3 clrf btemp+3
157 0055 30FF movlw -1
158 0056 07F2 addwf btemp+2
159 0057 1C03 btfss 3,0
160 0058 07F3 addwf btemp+3
161 0059 0873 movf btemp+3,w
162 005A 3A80 xorlw 128
163 005B 00F4 movwf btemp+4
164 005C 0871 movf btemp+1,w
165 005D 3A80 xorlw 128
166 005E 0274 subwf btemp+4,w
167 005F 1D03 btfss 3,2
168 0060 2863 goto u705
169 0061 0870 movf btemp,w
170 0062 0272 subwf btemp+2,w
171 0063 u705
172 0063 1283 bcf 3,5
173 0064 1303 bcf 3,6 ;carry unused
174 0065 1803 btfsc 3,0
175 0066 28CE goto L7
176 0067 01AB clrf _point ;volatile
177 0068 11A2 bcf _zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
178 ;16f884.c: 230: }
179 0069 28CC goto l106
180 006A l107
181 ;16f884.c: 231: else
182 006A 1683 bsf 3,5
183 006B 086C movf _new_pdc^(0+128),w ;volatile
184 006C 1283 bcf 3,5
185 006D 0095 movwf 21 ;volatile
186 006E 149F bsf 31,1
187 ;16f884.c: 233: new_pdc=pwm_data[point++];
188 006F 082B movf _point,w ;volatile
189 0070 3E34 addlw _pwm_data^(0+256)
190 0071 0084 movwf 4
191 0072 1783 bsf 3,7
192 0073 0800 movf 0,w
193 0074 1683 bsf 3,5
194 0075 00EC movwf _new_pdc^(0+128) ;volatile
195 0076 01ED clrf (_new_pdc+1)^(0+128) ;volatile
196 0077 1283 bcf 3,5
197 0078 0AAB incf _point ;volatile
198 ;16f884.c: 234: new_pdc=new_pdc*range;
199 0079 1683 bsf 3,5
200 007A 0834 movf (_range+1)^(0+128),w ;volatile
201 007B 00F3 movwf btemp+3
202 007C 0833 movf _range^(0+128),w ;volatile
203 007D 00F2 movwf btemp+2
204 007E 086C movf _new_pdc^(0+128),w ;volatile
205 007F 00F0 movwf btemp
206 0080 086D movf (_new_pdc+1)^(0+128),w ;volatile
207 0081 00F1 movwf btemp+1
208 0082 118A 21A8 118A fcall lwmul
209 0085 0874 movf btemp+4,w
210 0086 00EC movwf _new_pdc^(0+128) ;volatile
211 0087 0875 movf btemp+5,w
212 0088 00ED movwf (_new_pdc+1)^(0+128) ;volatile
213 ;16f884.c: 235: new_pdc=new_pdc>>9;
214 0089 3009 movlw 9
215 008A 00F0 movwf btemp
216 008B u715
217 008B 1003 bcf 3,0
218 008C 0CED rrf (_new_pdc+1)^(0+128) ;volatile
219 008D 0CEC rrf _new_pdc^(0+128) ;volatile
220 008E 0BF0 decfsz btemp
221 008F 288B goto u715
222 ;16f884.c: 236: new_pdc=(PR2/2)-new_pdc;
223 0090 1003 bcf 3,0
224 0091 0C12 rrf 18,w
225 0092 00F0 movwf btemp
226 0093 086C movf _new_pdc^(0+128),w ;volatile
227 0094 0270 subwf btemp,w
228 0095 00EC movwf _new_pdc^(0+128) ;volatile
229 0096 086D movf (_new_pdc+1)^(0+128),w ;volatile
230 0097 1C03 btfss 3,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -