📄 flash.lst
字号:
209 009E f4472:
210 0000
211 ;flash.c: 67: unsigned char i;
212 009E 6AE9 clrf fsr0l,c
213 00A0 6AD9 clrf fsr2l,c
214 ;flash.c: 69: for(i=0;i<8;i++)
215 00A2 6AE1 clrf fsr1l,c
216 00A4 l10:
217 ;flash.c: 70: {
218 ;flash.c: 71: RC3=0;
219 00A4 9682 bcf 3970,3,c ;volatile
220 ;flash.c: 72: asm("nop");
221 00A6 F000 nop ;#
222 ;flash.c: 73: temp=RC4;
223 00A8 0E00 movlw 0
224 00AA B882 btfsc 3970,4,c ;volatile
225 00AC 0E01 movlw 1
226 00AE 6EE9 movwf fsr0l,c
227 ;flash.c: 75: RC3=1;
228 00B0 8682 bsf 3970,3,c ;volatile
229 ;flash.c: 77: readData<<=1;
230 00B2 90D8 bcf status,0,c
231 00B4 36D9 rlcf fsr2l,f,c
232 ;flash.c: 78: readData|=temp;
233 00B6 50E9 movf fsr0l,w,c
234 00B8 12D9 iorwf fsr2l,f,c
235 ;flash.c: 80: }
236 00BA 2AE1 incf fsr1l,f,c
237 00BC 0E07 movlw 7
238 00BE 64E1 cpfsgt fsr1l,c
239 00C0 D7F1 goto l10
240 ;flash.c: 81: return readData;
241 00C2 50D9 movf fsr2l,w,c
242 ;flash.c: 82: }
243 00C4 0012 return
244 00C6 FFFF dw 65535
245 00C8 D7EA goto f4472
246 ;flash.c: 86: void read_one_message(unsigned cha
+ r *RBuff, unsigned int page_counter, unsigned in
+ t page_offset)
247 ;flash.c: 87: {
248 ; param _RBuff assigned to ?_read_one_mess
+ age+0
249 00CA 00B7 dw ?_read_one_message
250 00CC _read_one_message:
251 00CC FFFF dw 65535
252 00CE f4482:
253 0000
254 ;flash.c: 88: unsigned char i,temp;
255 00CE 9082 bcf 3970,0,c ;volatile
256 ;flash.c: 91: Delay();
257 00D0 DFCC call _Delay ;wreg free
258 ;flash.c: 92: OutPut(0xD2);
259 00D2 0ED2 movlw 210
260 00D4 DFD0 call _OutPut
261 ;flash.c: 93: OutPut((unsigned char)(page_counte
+ r>>6));
262 00D6 C0B9 F000 movff ?_read_one_message+2,btemp
263 00DA C0BA F001 movff ?_read_one_message+3,btemp+1
264 00DE 0E06 movlw 6
265 00E0 6E02 movwf btemp+2
266 00E2 u45:
267 00E2 90D8 bcf status,0,c
268 00E4 3201 rrcf btemp+1,f
269 00E6 3200 rrcf btemp,f
270 00E8 2E02 decfsz btemp+2,f
271 00EA D7FB goto u45
272 00EC 5000 movf btemp,w
273 00EE DFC3 call _OutPut
274 ;flash.c: 94: OutPut((unsigned char)((page_count
+ er<<2)|(page_offset>>8)));
275 00F0 0100 movlb __Lparam shr (0+8)
276 00F2 51BC movf (?_read_one_message+5)^(__Lparam& (0+65280
+ )),w
277 00F4 6E02 movwf btemp+2
278 00F6 6A03 clrf btemp+3
279 00F8 C0B9 F000 movff ?_read_one_message+2,btemp
280 00FC 0E02 movlw 2
281 00FE 6E01 movwf btemp+1
282 0100 u55:
283 0100 90D8 bcf status,0,c
284 0102 3600 rlcf btemp,f
285 0104 2E01 decfsz btemp+1,f
286 0106 D7FC goto u55
287 0108 5002 movf btemp+2,w
288 010A 1000 iorwf btemp,w
289 010C DFB4 call _OutPut
290 ;flash.c: 96: OutPut((unsigned char)page_offset)
+ ;
291 010E 0100 movlb __Lparam shr (0+8)
292 0110 51BB movf (?_read_one_message+4)^(__Lparam& (0+65280
+ )),w
293 0112 DFB1 call _OutPut
294 ;flash.c: 97: OutPut(0x00);
295 0114 0E00 movlw 0
296 0116 DFAF call _OutPut
297 ;flash.c: 98: OutPut(0x00);
298 0118 0E00 movlw 0
299 011A DFAD call _OutPut
300 ;flash.c: 99: OutPut(0x00);
301 011C 0E00 movlw 0
302 011E DFAB call _OutPut
303 ;flash.c: 100: OutPut(0x00);
304 0120 0E00 movlw 0
305 0122 DFA9 call _OutPut
306 ;flash.c: 102: asm("nop");
307 0124 F000 nop ;#
308 ;flash.c: 103: for(i=0;i<BYTES_PER_MSG;++i)
309 0126 6AF3 clrf prodl,c
310 0128 l17:
311 0128 0E04 movlw low _BYTES_PER_MSG
312 012A 6EF6 movwf tblptrl,c
313 012C 0E07 movlw high _BYTES_PER_MSG
314 012E 6EF7 movwf tblptrh,c
315 0130 0008 tblrd *
316 0132 FFFF dw 65535
317 0134 50F5 movf tablat,w,c
318 0136 5CF3 subwf prodl,w,c
319 0138 B0D8 btfsc status,0,c
320 013A D00D goto u60
321 ;flash.c: 104: {
322 ;flash.c: 105: temp=InPut();
323 013C DFAF call _InPut ;wreg free
324 013E 6EF4 movwf prodh,c
325 ;flash.c: 107: RBuff[i]=temp;
326 0140 50F3 movf prodl,w,c
327 0142 0100 movlb __Lparam shr (0+8)
328 0144 25B7 addwf ?_read_one_message^(__Lparam& (0+65280)),
+ w
329 0146 6EE9 movwf fsr0l,c
330 0148 0E00 movlw 0
331 014A 21B8 addwfc (?_read_one_message+1)^(__Lparam& (0+652
+ 80)),w
332 014C 6EEA movwf fsr0h
333 014E CFF4 FFEF movff prodh,indf0
334 ;flash.c: 108: }
335 0152 2AF3 incf prodl,f,c
336 0154 D7E9 goto l17
337 0156 u60:
338 ;flash.c: 110: Delay();
339 0156 DF89 call _Delay ;wreg free
340 ;flash.c: 111: RC0=1;
341 0158 8082 bsf 3970,0,c ;volatile
342 ;flash.c: 113: }
343 015A 0012 return
344 015C FFFF dw 65535
345 015E D7B7 goto f4482
346 0160 008C dw ?_write_memory
347 0162 _write_memory:
348 0162 FFFF dw 65535
349 0164 f4502:
350 0000
351 ; _write_CMD loaded to fsr0l
352 0164 6EE9 movwf fsr0l,c
353 ;flash.c: 118: OutPut(write_CMD);
354 0166 DF87 call _OutPut
355 ;flash.c: 119: OutPut((unsigned char)(page_count
+ er>>6));
356 0168 C08C F000 movff ?_write_memory,btemp
357 016C C08D F001 movff ?_write_memory+1,btemp+1
358 0170 0E06 movlw 6
359 0172 6E02 movwf btemp+2
360 0174 u75:
361 0174 90D8 bcf status,0,c
362 0176 3201 rrcf btemp+1,f
363 0178 3200 rrcf btemp,f
364 017A 2E02 decfsz btemp+2,f
365 017C D7FB goto u75
366 017E 5000 movf btemp,w
367 0180 DF7A call _OutPut
368 ;flash.c: 120: OutPut((unsigned char)((page_coun
+ ter<<2)|(page_offset>>8)));
369 0182 0100 movlb __Lparam shr (0+8)
370 0184 518F movf (?_write_memory+3)^(__Lparam& (0+65280)),w
371 0186 6E02 movwf btemp+2
372 0188 6A03 clrf btemp+3
373 018A C08C F000 movff ?_write_memory,btemp
374 018E 0E02 movlw 2
375 0190 6E01 movwf btemp+1
376 0192 u85:
377 0192 90D8 bcf status,0,c
378 0194 3600 rlcf btemp,f
379 0196 2E01 decfsz btemp+1,f
380 0198 D7FC goto u85
381 019A 5002 movf btemp+2,w
382 019C 1000 iorwf btemp,w
383 019E DF6B call _OutPut
384 ;flash.c: 121: OutPut((unsigned char)(page_offse
+ t));
385 01A0 0100 movlb __Lparam shr (0+8)
386 01A2 518E movf (?_write_memory+2)^(__Lparam& (0+65280)),w
387 01A4 D768 goto _OutPut
388 ;flash.c: 122: }
389 01A6 FFFF dw 65535
390 01A8 D7DD goto f4502
391 01AA 00B7 dw ?_read_flash_flag
392 01AC _read_flash_flag:
393 01AC FFFF dw 65535
394 01AE f4512:
395 0000
396 ;flash.c: 130: unsigned char i,temp;
397 01AE 6AF3 clrf prodl,c
398 01B0 6AF4 clrf prodh,c
399 ;flash.c: 134: RC0=0;
400 01B2 9082 bcf 3970,0,c ;volatile
401 ;flash.c: 135: Delay();
402 01B4 DF5A call _Delay ;wreg free
403 ;flash.c: 136: OutPut(0xD2);
404 01B6 0ED2 movlw 210
405 01B8 DF5E call _OutPut
406 ;flash.c: 137: OutPut((unsigned char)(page_count
+ er>>6));
407 01BA 0E10 movlw 16
408 01BC DF5C call _OutPut
409 ;flash.c: 138: OutPut((unsigned char)((page_coun
+ ter<<2)|(page_offset>>8)));
410 01BE 0E24 movlw 36
411 01C0 DF5A call _OutPut
412 ;flash.c: 140: OutPut((unsigned char)page_offset
+ );
413 01C2 0E00 movlw 0
414 01C4 DF58 call _OutPut
415 ;flash.c: 141: OutPut(0x00);
416 01C6 0E00 movlw 0
417 01C8 DF56 call _OutPut
418 ;flash.c: 142: OutPut(0x00);
419 01CA 0E00 movlw 0
420 01CC DF54 call _OutPut
421 ;flash.c: 143: OutPut(0x00);
422 01CE 0E00 movlw 0
423 01D0 DF52 call _OutPut
424 ;flash.c: 144: OutPut(0x00);
425 01D2 0E00 movlw 0
426 01D4 DF50 call _OutPut
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -