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