📄 demo02.lst
字号:
//FSR0 = data_ptr->to; C:\mcc18\src\traditional\startup\c018i.c
//curr_byte = (unsigned short) data_ptr->size; C:\mcc18\src\traditional\startup\c018i.c
/* the table pointer now points to the next entry. Save it C:\mcc18\src\traditional\startup\c018i.c
* off since we'll be using the table pointer to do the copying C:\mcc18\src\traditional\startup\c018i.c
* for the entry. C:\mcc18\src\traditional\startup\c018i.c
*/ C:\mcc18\src\traditional\startup\c018i.c
000882 cff6 MOVFF 0xff6,0x67 data_ptr = TBLPTR; C:\mcc18\src\traditional\startup\c018i.c
000884 f067
000886 cff7 MOVFF 0xff7,0x68
000888 f068
00088a cff8 MOVFF 0xff8,0x69
00088c f069
C:\mcc18\src\traditional\startup\c018i.c
/* now assign the source address to the table pointer */ C:\mcc18\src\traditional\startup\c018i.c
00088e c060 MOVFF 0x60,0xff6 TBLPTR = prom; C:\mcc18\src\traditional\startup\c018i.c
000890 fff6
000892 c061 MOVFF 0x61,0xff7
000894 fff7
000896 c062 MOVFF 0x62,0xff8
000898 fff8
C:\mcc18\src\traditional\startup\c018i.c
/* do the copy loop */ C:\mcc18\src\traditional\startup\c018i.c
_asm C:\mcc18\src\traditional\startup\c018i.c
// determine if we have any more bytes to copy C:\mcc18\src\traditional\startup\c018i.c
00089a 0100 MOVLB 0x0 movlb curr_byte C:\mcc18\src\traditional\startup\c018i.c
00089c 5363 MOVF 0x63,0x1,0x1 movf curr_byte, 1, 1 C:\mcc18\src\traditional\startup\c018i.c
copy_loop: C:\mcc18\src\traditional\startup\c018i.c
00089e e102 BNZ 0x8a4 bnz 2 // copy_one_byte C:\mcc18\src\traditional\startup\c018i.c
0008a0 5364 MOVF 0x64,0x1,0x1 movf curr_byte + 1, 1, 1 C:\mcc18\src\traditional\startup\c018i.c
0008a2 e007 BZ 0x8b2 bz 7 // done_copying C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
copy_one_byte: C:\mcc18\src\traditional\startup\c018i.c
0008a4 0009 TBLRDPOSTINC tblrdpostinc C:\mcc18\src\traditional\startup\c018i.c
0008a6 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\mcc18\src\traditional\startup\c018i.c
0008a8 6eee MOVWF 0xee,0x0 movwf POSTINC0, 0 C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
// decrement byte counter C:\mcc18\src\traditional\startup\c018i.c
0008aa 0763 DECF 0x63,0x1,0x1 decf curr_byte, 1, 1 C:\mcc18\src\traditional\startup\c018i.c
0008ac e2f8 BC 0x89e bc -8 // copy_loop C:\mcc18\src\traditional\startup\c018i.c
0008ae 0764 DECF 0x64,0x1,0x1 decf curr_byte + 1, 1, 1 C:\mcc18\src\traditional\startup\c018i.c
0008b0 d7f9 BRA 0x8a4 bra -7 // copy_one_byte C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
done_copying: C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
_endasm C:\mcc18\src\traditional\startup\c018i.c
/* restore the table pointer for the next entry */ C:\mcc18\src\traditional\startup\c018i.c
0008b2 c067 MOVFF 0x67,0xff6 TBLPTR = data_ptr; C:\mcc18\src\traditional\startup\c018i.c
0008b4 fff6
0008b6 c068 MOVFF 0x68,0xff7
0008b8 fff7
0008ba c069 MOVFF 0x69,0xff8
0008bc fff8
/* next entry... */ C:\mcc18\src\traditional\startup\c018i.c
0008be 0100 MOVLB 0x0 curr_entry--; C:\mcc18\src\traditional\startup\c018i.c
0008c0 0765 DECF 0x65,0x1,0x1
0008c2 0e00 MOVLW 0x0
0008c4 5b66 SUBWFB 0x66,0x1,0x1
0008c6 d7bf BRA 0x846 goto test; C:\mcc18\src\traditional\startup\c018i.c
done: C:\mcc18\src\traditional\startup\c018i.c
; C:\mcc18\src\traditional\startup\c018i.c
0008c8 0012 RETURN 0x0 } C:\mcc18\src\traditional\startup\c018i.c
/********************************************************************* C:\MCHPFSUSB\fw\Demo02\Demo02.c
* C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Example User Program to be used with resident Bootloader C:\MCHPFSUSB\fw\Demo02\Demo02.c
* C:\MCHPFSUSB\fw\Demo02\Demo02.c
********************************************************************* C:\MCHPFSUSB\fw\Demo02\Demo02.c
* FileName: Demo02.c C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Dependencies: See INCLUDES section below C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Processor: PIC18 C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Compiler: C18 2.30.01+ C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Company: Microchip Technology, Inc. C:\MCHPFSUSB\fw\Demo02\Demo02.c
* C:\MCHPFSUSB\fw\Demo02\Demo02.c
* Software License Agreement C:\MCHPFSUSB\fw\Demo02\Demo02.c
* C:\MCHPFSUSB\fw\Demo02\Demo02.c
* The software supplied herewith by Microchip Technology Incorporated C:\MCHPFSUSB\fw\Demo02\Demo02.c
* (the 揅ompany
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -