?? 18f_232.lst
字號:
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
C:\MCC18\src\traditional\startup\c018i.c
// Initialized data... C:\MCC18\src\traditional\startup\c018i.c
00002c 0e2a MOVLW 0x2a TBLPTR = (short long)&_cinit; C:\MCC18\src\traditional\startup\c018i.c
00002e 6ef6 MOVWF 0xf6,0x0
000030 0e00 MOVLW 0x0
000032 6ef7 MOVWF 0xf7,0x0
000034 0e00 MOVLW 0x0
000036 6ef8 MOVWF 0xf8,0x0
_asm C:\MCC18\src\traditional\startup\c018i.c
000038 0100 MOVLB 0x0 movlb data_ptr C:\MCC18\src\traditional\startup\c018i.c
00003a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00003c 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
00003e 6f65 MOVWF 0x65,0x1 movwf curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c
000040 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000042 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000044 6f66 MOVWF 0x66,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
000046 e103 BNZ 0x4e bnz 3 C:\MCC18\src\traditional\startup\c018i.c
000048 6765 TSTFSZ 0x65,0x1 tstfsz curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c
00004a d001 BRA 0x4e bra 1 C:\MCC18\src\traditional\startup\c018i.c
_endasm C:\MCC18\src\traditional\startup\c018i.c
00004c d03d BRA 0xc8 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
00004e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000050 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000052 6f60 MOVWF 0x60,0x1 movwf prom, 1 C:\MCC18\src\traditional\startup\c018i.c
000054 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000056 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000058 6f61 MOVWF 0x61,0x1 movwf prom+1, 1 C:\MCC18\src\traditional\startup\c018i.c
00005a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00005c 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
00005e 6f62 MOVWF 0x62,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
000060 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
/* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c
000062 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000064 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000066 6ee9 MOVWF 0xe9,0x0 movwf FSR0L, 0 C:\MCC18\src\traditional\startup\c018i.c
000068 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00006a 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
00006c 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
00006e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000070 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
/* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c
000072 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
000074 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
000076 6f63 MOVWF 0x63,0x1 movwf curr_byte, 1 C:\MCC18\src\traditional\startup\c018i.c
000078 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00007a 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
00007c 6f64 MOVWF 0x64,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
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -