⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mchpusb.lst

📁 PIC18F4550 USB设计原理图和源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                           _do_cinit (void)                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           {                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                             /* we'll make the assumption in the following code that these statics          C:\mcc18\src\traditional\startup\c018i.c
                                              * will be allocated into the same bank.                                       C:\mcc18\src\traditional\startup\c018i.c
                                              */                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                             static short long prom;                                                        C:\mcc18\src\traditional\startup\c018i.c
                                             static unsigned short curr_byte;                                               C:\mcc18\src\traditional\startup\c018i.c
                                             static unsigned short curr_entry;                                              C:\mcc18\src\traditional\startup\c018i.c
                                             static short long data_ptr;                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                             // Initialized data...                                                         C:\mcc18\src\traditional\startup\c018i.c
0006c2   0e2a     MOVLW     0x2a             TBLPTR = (short long)&_cinit;                                                  C:\mcc18\src\traditional\startup\c018i.c
0006c4   6ef6     MOVWF     0xf6,0x0                                                                                        
0006c6   0e00     MOVLW     0x0                                                                                             
0006c8   6ef7     MOVWF     0xf7,0x0                                                                                        
0006ca   0e00     MOVLW     0x0                                                                                             
0006cc   6ef8     MOVWF     0xf8,0x0                                                                                        
                                             _asm                                                                           C:\mcc18\src\traditional\startup\c018i.c
0006ce   0100     MOVLB     0x0                movlb data_ptr                                                               C:\mcc18\src\traditional\startup\c018i.c
0006d0   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\mcc18\src\traditional\startup\c018i.c
0006d2   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\mcc18\src\traditional\startup\c018i.c
0006d4   6f70     MOVWF     0x70,0x1           movwf curr_entry, 1                                                          C:\mcc18\src\traditional\startup\c018i.c
0006d6   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\mcc18\src\traditional\startup\c018i.c
0006d8   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\mcc18\src\traditional\startup\c018i.c
0006da   6f71     MOVWF     0x71,0x1           movwf curr_entry+1, 1                                                        C:\mcc18\src\traditional\startup\c018i.c
                                             _endasm                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               //while (curr_entry)                                                         C:\mcc18\src\traditional\startup\c018i.c
                                               //{                                                                          C:\mcc18\src\traditional\startup\c018i.c
                                               test:                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               _asm                                                                         C:\mcc18\src\traditional\startup\c018i.c
0006dc   e103     BNZ       0x6e4               bnz 3                                                                       C:\mcc18\src\traditional\startup\c018i.c
0006de   6770     TSTFSZ    0x70,0x1           tstfsz curr_entry, 1                                                         C:\mcc18\src\traditional\startup\c018i.c
0006e0   d001     BRA       0x6e4              bra 1                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               _endasm                                                                      C:\mcc18\src\traditional\startup\c018i.c
0006e2   d03d     BRA       0x75e              goto done;                                                                   C:\mcc18\src\traditional\startup\c018i.c
                                                 /* Count down so we only have to look up the data in _cinit                C:\mcc18\src\traditional\startup\c018i.c
                                                  * once.                                                                   C:\mcc18\src\traditional\startup\c018i.c
                                                  *                                                                         C:\mcc18\src\traditional\startup\c018i.c
                                                  * At this point we know that TBLPTR points to the top of the current      C:\mcc18\src\traditional\startup\c018i.c
                                                  * entry in _cinit, so we can just start reading the from, to, and         C:\mcc18\src\traditional\startup\c018i.c
                                                  * size values.                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                  */                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                                 _asm                                                                       C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the source address */                                                   C:\mcc18\src\traditional\startup\c018i.c
0006e4   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0006e6   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0006e8   6f6b     MOVWF     0x6b,0x1       	movwf prom, 1                                                                   C:\mcc18\src\traditional\startup\c018i.c
0006ea   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0006ec   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0006ee   6f6c     MOVWF     0x6c,0x1       	movwf prom+1, 1                                                                 C:\mcc18\src\traditional\startup\c018i.c
0006f0   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0006f2   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0006f4   6f6d     MOVWF     0x6d,0x1       	movwf prom+2, 1                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip a byte since it's stored as a 32bit int */                              C:\mcc18\src\traditional\startup\c018i.c
0006f6   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\mcc18\src\traditional\startup\c018i.c
0006f8   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0006fa   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0006fc   6ee9     MOVWF     0xe9,0x0       	movwf FSR0L, 0                                                                  C:\mcc18\src\traditional\startup\c018i.c
0006fe   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000700   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000702   6eea     MOVWF     0xea,0x0       	movwf FSR0H, 0                                                                  C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip two bytes since it's stored as a 32bit int */                           C:\mcc18\src\traditional\startup\c018i.c
000704   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000706   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\mcc18\src\traditional\startup\c018i.c
000708   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
00070a   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
00070c   6f6e     MOVWF     0x6e,0x1       	movwf curr_byte, 1                                                              C:\mcc18\src\traditional\startup\c018i.c
00070e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000710   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000712   6f6f     MOVWF     0x6f,0x1       	movwf curr_byte+1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip two bytes since it's stored as a 32bit int */                           C:\mcc18\src\traditional\startup\c018i.c
000714   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000716   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 _endasm                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 //prom = data_ptr->from;                                                   C:\mcc18\src\traditional\startup\c018i.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -