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

📄 18f_ad.lst

📁 pic18f4580的ad转换子程序工程文件
💻 LST
📖 第 1 页 / 共 4 页
字号:
000104   0100     MOVLB     0x0                movlb data_ptr                                                               C:\MCC18\src\traditional\startup\c018i.c
000106   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\MCC18\src\traditional\startup\c018i.c
000108   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\MCC18\src\traditional\startup\c018i.c
00010a   6f73     MOVWF     0x73,0x1           movwf curr_entry, 1                                                          C:\MCC18\src\traditional\startup\c018i.c
00010c   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\MCC18\src\traditional\startup\c018i.c
00010e   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\MCC18\src\traditional\startup\c018i.c
000110   6f74     MOVWF     0x74,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
000112   e103     BNZ       0x11a               bnz 3                                                                       C:\MCC18\src\traditional\startup\c018i.c
000114   6773     TSTFSZ    0x73,0x1           tstfsz curr_entry, 1                                                         C:\MCC18\src\traditional\startup\c018i.c
000116   d001     BRA       0x11a              bra 1                                                                        C:\MCC18\src\traditional\startup\c018i.c
                                               _endasm                                                                      C:\MCC18\src\traditional\startup\c018i.c
000118   d03d     BRA       0x194              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
00011a   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
00011c   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
00011e   6f6e     MOVWF     0x6e,0x1       	movwf prom, 1                                                                   C:\MCC18\src\traditional\startup\c018i.c
000120   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000122   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000124   6f6f     MOVWF     0x6f,0x1       	movwf prom+1, 1                                                                 C:\MCC18\src\traditional\startup\c018i.c
000126   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000128   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
00012a   6f70     MOVWF     0x70,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
00012c   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\MCC18\src\traditional\startup\c018i.c
00012e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000130   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000132   6ee9     MOVWF     0xe9,0x0       	movwf FSR0L, 0                                                                  C:\MCC18\src\traditional\startup\c018i.c
000134   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000136   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000138   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
00013a   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
00013c   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\MCC18\src\traditional\startup\c018i.c
00013e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000140   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000142   6f71     MOVWF     0x71,0x1       	movwf curr_byte, 1                                                              C:\MCC18\src\traditional\startup\c018i.c
000144   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000146   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000148   6f72     MOVWF     0x72,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
00014a   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
00014c   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
                                                 //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
00014e   cff6     MOVFF     0xff6,0x75           data_ptr = TBLPTR;                                                         C:\MCC18\src\traditional\startup\c018i.c
000150   f075                                                                                                               
000152   cff7     MOVFF     0xff7,0x76                                                                                      
000154   f076                                                                                                               
000156   cff8     MOVFF     0xff8,0x77                                                                                      
000158   f077                                                                                                               
                                                                                                                            C:\MCC18\src\traditional\startup\c018i.c
                                                 /* now assign the source address to the table pointer */                   C:\MCC18\src\traditional\startup\c018i.c
00015a   c06e     MOVFF     0x6e,0xff6           TBLPTR = prom;                                                             C:\MCC18\src\traditional\startup\c018i.c
00015c   fff6                                                                                                               
00015e   c06f     MOVFF     0x6f,0xff7                                                                                      
000160   fff7                                                                                                               
000162   c070     MOVFF     0x70,0xff8                                                                                      
000164   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
000166   0100     MOVLB     0x0            	movlb curr_byte                                                                 C:\MCC18\src\traditional\startup\c018i.c
000168   5371     MOVF      0x71,0x1,0x1   	movf curr_byte, 1, 1                                                            C:\MCC18\src\traditional\startup\c018i.c
                                           copy_loop:                                                                       C:\MCC18\src\traditional\startup\c018i.c
00016a   e102     BNZ       0x170          	bnz 2 // copy_one_byte                                                          C:\MCC18\src\traditional\startup\c018i.c
00016c   5372     MOVF      0x72,0x1,0x1   	movf curr_byte + 1, 1, 1                                                        C:\MCC18\src\traditional\startup\c018i.c
00016e   e007     BZ        0x17e          	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
000170   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\MCC18\src\traditional\startup\c018i.c
000172   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\MCC18\src\traditional\startup\c018i.c
000174   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
000176   0771     DECF      0x71,0x1,0x1   	decf curr_byte, 1, 1                                                            C:\MCC18\src\traditional\startup\c018i.c

⌨️ 快捷键说明

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