📄 gprs.lst
字号:
MP2COD 3.60.02, COFF to COD File Converter
Copyright (c) 2004 Microchip Technology Inc.
Listing File Generated: Sat Jun 10 00:30:51 2006
Address Value Disassembly Source File
------- ------- ----------------------- ------------------------------------------------------------------------------- -----
/* $Id: c018i.c,v 1.1 2003/12/09 22:53:19 GrosbaJ Exp $ */ C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
/* Copyright (c)1999 Microchip Technology */ C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
/* MPLAB-C18 startup code, including initialized data */ C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
/* external reference to the user's main routine */ C:\mcc18\src\traditional\startup\c018i.c
extern void main (void); C:\mcc18\src\traditional\startup\c018i.c
/* prototype for the startup function */ C:\mcc18\src\traditional\startup\c018i.c
void _entry (void); C:\mcc18\src\traditional\startup\c018i.c
void _startup (void); C:\mcc18\src\traditional\startup\c018i.c
/* prototype for the initialized data setup */ C:\mcc18\src\traditional\startup\c018i.c
void _do_cinit (void); C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
extern volatile near unsigned long short TBLPTR; C:\mcc18\src\traditional\startup\c018i.c
extern near unsigned FSR0; C:\mcc18\src\traditional\startup\c018i.c
extern near char FPFLAGS; C:\mcc18\src\traditional\startup\c018i.c
#define RND 6 C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
#pragma code _entry_scn=0x000000 C:\mcc18\src\traditional\startup\c018i.c
void C:\mcc18\src\traditional\startup\c018i.c
_entry (void) C:\mcc18\src\traditional\startup\c018i.c
{ C:\mcc18\src\traditional\startup\c018i.c
000000 ef12 GOTO 0x2e24 _asm goto _startup _endasm C:\mcc18\src\traditional\startup\c018i.c
000002 f017
C:\mcc18\src\traditional\startup\c018i.c
000004 0012 RETURN 0x0 } C:\mcc18\src\traditional\startup\c018i.c
#pragma code _startup_scn C:\mcc18\src\traditional\startup\c018i.c
void C:\mcc18\src\traditional\startup\c018i.c
_startup (void) C:\mcc18\src\traditional\startup\c018i.c
{ C:\mcc18\src\traditional\startup\c018i.c
_asm C:\mcc18\src\traditional\startup\c018i.c
// Initialize the stack pointer C:\mcc18\src\traditional\startup\c018i.c
002e24 ee17 LFSR 0x1,0x700 lfsr 1, _stack lfsr 2, _stack clrf TBLPTRU, 0 // 1st silicon doesn't do this on POR C:\mcc18\src\traditional\startup\c018i.c
002e26 f000
002e28 ee27 LFSR 0x2,0x700
002e2a f000
002e2c 6af8 CLRF 0xf8,0x0
002e2e 9c0f BCF 0xf,0x6,0x0 bcf FPFLAGS,RND,0 // Initialize rounding flag for floating point libs C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
// initialize the flash memory access configuration. this is harmless C:\mcc18\src\traditional\startup\c018i.c
// for non-flash devices, so we do it on all parts. C:\mcc18\src\traditional\startup\c018i.c
002e30 8ea6 BSF 0xa6,0x7,0x0 bsf 0xa6, 7, 0 C:\mcc18\src\traditional\startup\c018i.c
002e32 9ca6 BCF 0xa6,0x6,0x0 bcf 0xa6, 6, 0 C:\mcc18\src\traditional\startup\c018i.c
_endasm C:\mcc18\src\traditional\startup\c018i.c
002e34 eca5 CALL 0x2d4a,0x0 _do_cinit (); C:\mcc18\src\traditional\startup\c018i.c
002e36 f016
C:\mcc18\src\traditional\startup\c018i.c
loop: C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
// Call the user's main routine C:\mcc18\src\traditional\startup\c018i.c
002e38 ecaa CALL 0x154,0x0 main (); C:\mcc18\src\traditional\startup\c018i.c
002e3a f000
C:\mcc18\src\traditional\startup\c018i.c
002e3c d7fd BRA 0x2e38 goto loop; C:\mcc18\src\traditional\startup\c018i.c
002e3e 0012 RETURN 0x0 } /* end _startup() */ C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
/* MPLAB-C18 initialized data memory support */ C:\mcc18\src\traditional\startup\c018i.c
/* The linker will populate the _cinit table */ C:\mcc18\src\traditional\startup\c018i.c
extern far rom struct C:\mcc18\src\traditional\startup\c018i.c
{ C:\mcc18\src\traditional\startup\c018i.c
unsigned short num_init; C:\mcc18\src\traditional\startup\c018i.c
struct _init_entry C:\mcc18\src\traditional\startup\c018i.c
{ C:\mcc18\src\traditional\startup\c018i.c
unsigned long from; C:\mcc18\src\traditional\startup\c018i.c
unsigned long to; C:\mcc18\src\traditional\startup\c018i.c
unsigned long size; C:\mcc18\src\traditional\startup\c018i.c
} C:\mcc18\src\traditional\startup\c018i.c
entries[]; C:\mcc18\src\traditional\startup\c018i.c
} C:\mcc18\src\traditional\startup\c018i.c
_cinit; C:\mcc18\src\traditional\startup\c018i.c
C:\mcc18\src\traditional\startup\c018i.c
#pragma code _cinit_scn C:\mcc18\src\traditional\startup\c018i.c
void C:\mcc18\src\traditional\startup\c018i.c
_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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -