📄 parameter.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Thu Dec 11 14:01:28 2008
Licensed to: ONE TWO
1 processor 16F688
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text3,local,class=CODE,delta=2
5 psect text5,local,class=CODE,delta=2
6 0000
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16
17 psect __Z88888RS_
18 0120
19 0120
20
21 psect text3
22 ;parameter.c: 51: unsigned char checkOledParamA
+ vailable(void)
23 ;parameter.c: 52: { unsigned char flag;
24 0551 _checkOledParamAvailable
25 ; _flag assigned to ?a_checkOledParamAvailable+
+ 0
26 0000 _checkOledParamAvailable$flag set ?a_checkOledP
+ aramAvailable
27 ;parameter.c: 53: flag =1;
28 0551 0183 clrf 3 ;select bank 0
29 0552 01C3 clrf ?a_checkOledParamAvailable
30 0553 0AC3 incf ?a_checkOledParamAvailable
31 ;parameter.c: 54: if (!((oledParam.gain>=85)&&(
+ oledParam.gain<=135)))
32 0554 3055 movlw 85
33 0555 023B subwf _oledParam+2,w
34 0556 1C03 btfss 3,0
35 0557 2D5C goto u180
36 0558 3088 movlw -120
37 0559 023B subwf _oledParam+2,w
38 055A 1C03 btfss 3,0
39 055B 2D5D goto l39
40 055C u180
41 ;parameter.c: 55: { flag =0; }
42 055C 01C3 clrf ?a_checkOledParamAvailable
43 055D l39
44 ;parameter.c: 56: if (!((oledParam.offset>=40)&
+ &(oledParam.offset<=85)))
45 055D 3028 movlw 40
46 055E 023C subwf _oledParam+3,w
47 055F 1C03 btfss 3,0
48 0560 2D65 goto u210
49 0561 3056 movlw 86
50 0562 023C subwf _oledParam+3,w
51 0563 1C03 btfss 3,0
52 0564 2D66 goto l40
53 0565 u210
54 ;parameter.c: 57: { flag =0; }
55 0565 01C3 clrf ?a_checkOledParamAvailable
56 0566 l40
57 ;parameter.c: 58: return flag;
58 0566 0843 movf ?a_checkOledParamAvailable,w
59 ;parameter.c: 59: }
60 0567 0008 return
61 ;parameter.c: 19: void saveOledParam(void)
62 ;parameter.c: 20: {
63 0568 _saveOledParam
64 ; _crc assigned to ?a_saveOledParam+0
65 0000 _saveOledParam$crc set ?a_saveOledParam
66 ; _n assigned to ?a_saveOledParam+1
67 0000 _saveOledParam$n set ?a_saveOledParam+1
68 ;parameter.c: 21: unsigned char n;
69 0568 0183 clrf 3 ;select bank 0
70 0569 08BD movf _oledParam+4
71 056A 1D03 btfss 3,2
72 056B 2D71 goto l11
73 ;parameter.c: 24: { oledParam.block=1;
74 056C 01BD clrf _oledParam+4
75 056D 0ABD incf _oledParam+4
76 ;parameter.c: 25: n=1;
77 056E 01C5 clrf ?a_saveOledParam+1
78 056F 0AC5 incf ?a_saveOledParam+1
79 ;parameter.c: 26: }
80 0570 2D73 goto l12
81 0571 l11
82 ;parameter.c: 28: { oledParam.block=0;
83 0571 01BD clrf _oledParam+4
84 ;parameter.c: 29: n=0;
85 0572 01C5 clrf ?a_saveOledParam+1
86 0573 l12
87 ;parameter.c: 30: }
88 ;parameter.c: 31: crc=oledParam.offset+oledPara
+ m.gain;
89 0573 083C movf _oledParam+3,w
90 0574 073B addwf _oledParam+2,w
91 0575 00C4 movwf ?a_saveOledParam
92 ;parameter.c: 32: while (WR) ;
93 0576 l13
94 0576 1683 bsf 3,5
95 0577 189C btfsc 28,1
96 0578 2D76 goto l13
97 ;parameter.c: 33: while(WR)continue;EEADR=(0x05
+ +(n*16));EEDATA=(oledParam.gain); EECON1&=0x7F;
+ CARRY=0;if(GIE)CARRY=1;GIE=0; WREN=1;EECON2=0x5
+ 5;EECON2=0xAA;WR=1;WREN=0; if(CARRY)GIE=1;
98 0579 l16
99 0579 189C btfsc 28,1
100 057A 2D79 goto l16
101 057B 1283 bcf 3,5
102 057C 0E45 swapf ?a_saveOledParam+1,w
103 057D 39F0 andlw 240
104 057E 3E05 addlw 5
105 057F 1683 bsf 3,5
106 0580 009B movwf 27
107 0581 1283 bcf 3,5
108 0582 083B movf _oledParam+2,w
109 0583 1683 bsf 3,5
110 0584 009A movwf 26 ;volatile
111 0585 139C bcf 28,7 ;volatile
112 0586 1003 bcf 3,0
113 0587 1B8B btfsc 11,7
114 0588 1403 bsf 3,0
115 0589 138B bcf 11,7
116 058A 151C bsf 28,2
117 058B 3055 movlw 85
118 058C 009D movwf 29 ;volatile
119 058D 30AA movlw -86
120 058E 009D movwf 29 ;volatile
121 058F 149C bsf 28,1
122 0590 111C bcf 28,2
123 0591 1803 btfsc 3,0
124 0592 178B bsf 11,7
125 ;parameter.c: 34: while (WR) ;
126 0593 l21
127 0593 189C btfsc 28,1
128 0594 2D93 goto l21
129 ;parameter.c: 35: while(WR)continue;EEADR=(0x06
+ +(n*16));EEDATA=(oledParam.offset); EECON1&=0x7
+ F;CARRY=0;if(GIE)CARRY=1;GIE=0; WREN=1;EECON2=0
+ x55;EECON2=0xAA;WR=1;WREN=0; if(CARRY)GIE=1;
130 0595 l24
131 0595 189C btfsc 28,1
132 0596 2D95 goto l24
133 0597 1283 bcf 3,5
134 0598 0E45 swapf ?a_saveOledParam+1,w
135 0599 39F0 andlw 240
136 059A 3E06 addlw 6
137 059B 1683 bsf 3,5
138 059C 009B movwf 27
139 059D 1283 bcf 3,5
140 059E 083C movf _oledParam+3,w
141 059F 1683 bsf 3,5
142 05A0 009A movwf 26 ;volatile
143 05A1 139C bcf 28,7 ;volatile
144 05A2 1003 bcf 3,0
145 05A3 1B8B btfsc 11,7
146 05A4 1403 bsf 3,0
147 05A5 138B bcf 11,7
148 05A6 151C bsf 28,2
149 05A7 3055 movlw 85
150 05A8 009D movwf 29 ;volatile
151 05A9 30AA movlw -86
152 05AA 009D movwf 29 ;volatile
153 05AB 149C bsf 28,1
154 05AC 111C bcf 28,2
155 05AD 1803 btfsc 3,0
156 05AE 178B bsf 11,7
157 ;parameter.c: 36: while (WR) ;
158 05AF l29
159 05AF 189C btfsc 28,1
160 05B0 2DAF goto l29
161 ;parameter.c: 37: while(WR)continue;EEADR=(0x07
+ +(n*16));EEDATA=(crc); EECON1&=0x7F;CARRY=0;if(
+ GIE)CARRY=1;GIE=0; WREN=1;EECON2=0x55;EECON2=0x
+ AA;WR=1;WREN=0; if(CARRY)GIE=1;
162 05B1 l32
163 05B1 189C btfsc 28,1
164 05B2 2DB1 goto l32
165 05B3 1283 bcf 3,5
166 05B4 0E45 swapf ?a_saveOledParam+1,w
167 05B5 39F0 andlw 240
168 05B6 3E07 addlw 7
169 05B7 1683 bsf 3,5
170 05B8 009B movwf 27
171 05B9 1283 bcf 3,5
172 05BA 0844 movf ?a_saveOledParam,w
173 05BB 1683 bsf 3,5
174 05BC 009A movwf 26 ;volatile
175 05BD 139C bcf 28,7 ;volatile
176 05BE 1003 bcf 3,0
177 05BF 1B8B btfsc 11,7
178 05C0 1403 bsf 3,0
179 05C1 138B bcf 11,7
180 05C2 151C bsf 28,2
181 05C3 3055 movlw 85
182 05C4 009D movwf 29 ;volatile
183 05C5 30AA movlw -86
184 05C6 009D movwf 29 ;volatile
185 05C7 149C bsf 28,1
186 05C8 111C bcf 28,2
187 05C9 1803 btfsc 3,0
188 05CA 178B bsf 11,7
189 ;parameter.c: 38: }
190 05CB 1283 bcf 3,5
191 05CC 0008 return
192 ;parameter.c: 41: void saveOledDefaultParam(voi
+ d)
193 ;parameter.c: 42: {
194 05CD _saveOledDefaultParam
195 ;parameter.c: 43: oledParam.gain =110;
196 05CD 306E movlw 110
197 05CE 0183 clrf 3 ;select bank 0
198 05CF 00BB movwf _oledParam+2
199 ;parameter.c: 44: oledParam.offset =65;
200 05D0 3041 movlw 65
201 05D1 00BC movwf _oledParam+3
202 ;parameter.c: 45: oledParam.block=0;
203 05D2 01BD clrf _oledParam+4
204 ;parameter.c: 46: saveOledParam();
205 05D3 2568 fcall _saveOledParam
206 ;parameter.c: 47: saveOledParam();
207 05D4 2D68 ljmp _saveOledParam
208 05D5 _readOledParam
209 ; _crc assigned to ?a_readOledParam+0
210 0000 _readOledParam$crc set ?a_readOledParam
211 ; _n assigned to ?a_readOledParam+1
212 0000 _readOledParam$n set ?a_readOledParam+1
213 ;parameter.c: 8: unsigned char n;
214 05D5 0183 clrf 3 ;select bank 0
215 05D6 01C4 clrf ?a_readOledParam+1
216 05D7 l6
217 ;parameter.c: 10: { oledParam.gain=((EEADR=(0x0
+ 5+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
218 05D7 0E44 swapf ?a_readOledParam+1,w
219 05D8 39F0 andlw 240
220 05D9 3E05 addlw 5
221 05DA 1683 bsf 3,5
222 05DB 009B movwf 27
223 05DC 139C bcf 28,7 ;volatile
224 05DD 141C bsf 28,0
225 05DE 081A movf 26,w ;volatile
226 05DF 1283 bcf 3,5
227 05E0 00BB movwf _oledParam+2
228 ;parameter.c: 11: oledParam.offset=((EEADR=(0x0
+ 6+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
229 05E1 0E44 swapf ?a_readOledParam+1,w
230 05E2 39F0 andlw 240
231 05E3 3E06 addlw 6
232 05E4 1683 bsf 3,5
233 05E5 009B movwf 27
234 05E6 139C bcf 28,7 ;volatile
235 05E7 141C bsf 28,0
236 05E8 081A movf 26,w ;volatile
237 05E9 1283 bcf 3,5
238 05EA 00BC movwf _oledParam+3
239 ;parameter.c: 12: crc=oledParam.gain+oledParam.
+ offset;
240 05EB 083B movf _oledParam+2,w
241 05EC 073C addwf _oledParam+3,w
242 05ED 00C3 movwf ?a_readOledParam
243 ;parameter.c: 13: if (crc==((EEADR=(0x07+(n*16)
+ )),(EECON1&=0x7F),(RD=1),EEDATA))
244 05EE 0E44 swapf ?a_readOledParam+1,w
245 05EF 39F0 andlw 240
246 05F0 3E07 addlw 7
247 05F1 1683 bsf 3,5
248 05F2 009B movwf 27
249 05F3 139C bcf 28,7 ;volatile
250 05F4 141C bsf 28,0
251 05F5 1283 bcf 3,5
252 05F6 0843 movf ?a_readOledParam,w
253 05F7 1683 bsf 3,5
254 05F8 061A xorwf 26,w ;volatile
255 05F9 1D03 btfss 3,2
256 05FA 2DFD goto l9
257 ;parameter.c: 14: return (1);
258 05FB 3001 movlw 1
259 05FC 2E04 goto l5
260 05FD l9
261 ;parameter.c: 15: }
262 05FD 1283 bcf 3,5
263 05FE 0AC4 incf ?a_readOledParam+1
264 05FF 3002 movlw 2
265 0600 0244 subwf ?a_readOledParam+1,w
266 0601 1C03 btfss 3,0
267 0602 2DD7 goto l6
268 ;parameter.c: 16: return (0);
269 0603 3000 movlw 0
270 ;parameter.c: 17: }
271 0604 l5
272 0604 1283 bcf 3,5
273 0605 0008 return
274 ;parameter.c: 62: void loadDefaultParam(void)
275 ;parameter.c: 63: {
276 0606 _loadDefaultParam
277 ;parameter.c: 64: oledParam.gray =120;
278 0606 3078 movlw 120
279 0607 0183 clrf 3 ;select bank 0
280 0608 00BA movwf _oledParam+1
281 ;parameter.c: 65: oledParam.gain =110;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -