?? ex3.lst
字號(hào):
C:\MCC18\src\traditional\startup\c018i.c
// Initialized data... C:\MCC18\src\traditional\startup\c018i.c
0013d6 0e2a MOVLW 0x2a TBLPTR = (short long)&_cinit; C:\MCC18\src\traditional\startup\c018i.c
0013d8 6ef6 MOVWF 0xf6,0x0
0013da 0e00 MOVLW 0x0
0013dc 6ef7 MOVWF 0xf7,0x0
0013de 0e00 MOVLW 0x0
0013e0 6ef8 MOVWF 0xf8,0x0
_asm C:\MCC18\src\traditional\startup\c018i.c
0013e2 0100 MOVLB 0x0 movlb data_ptr C:\MCC18\src\traditional\startup\c018i.c
0013e4 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
0013e6 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
0013e8 6fa7 MOVWF 0xa7,0x1 movwf curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c
0013ea 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
0013ec 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
0013ee 6fa8 MOVWF 0xa8,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
0013f0 e103 BNZ 0x13f8 bnz 3 C:\MCC18\src\traditional\startup\c018i.c
0013f2 67a7 TSTFSZ 0xa7,0x1 tstfsz curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c
0013f4 d001 BRA 0x13f8 bra 1 C:\MCC18\src\traditional\startup\c018i.c
_endasm C:\MCC18\src\traditional\startup\c018i.c
0013f6 d03d BRA 0x1472 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
0013f8 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
0013fa 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
0013fc 6fa2 MOVWF 0xa2,0x1 movwf prom, 1 C:\MCC18\src\traditional\startup\c018i.c
0013fe 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
001400 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001402 6fa3 MOVWF 0xa3,0x1 movwf prom+1, 1 C:\MCC18\src\traditional\startup\c018i.c
001404 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
001406 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001408 6fa4 MOVWF 0xa4,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
00140a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
/* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c
00140c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00140e 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001410 6ee9 MOVWF 0xe9,0x0 movwf FSR0L, 0 C:\MCC18\src\traditional\startup\c018i.c
001412 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
001414 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001416 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
001418 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00141a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
/* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c
00141c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00141e 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001420 6fa5 MOVWF 0xa5,0x1 movwf curr_byte, 1 C:\MCC18\src\traditional\startup\c018i.c
001422 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
001424 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c
001426 6fa6 MOVWF 0xa6,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
001428 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c
00142a 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
00142c cff6 MOVFF 0xff6,0xa9 data_ptr = TBLPTR; C:\MCC18\src\traditional\startup\c018i.c
00142e f0a9
001430 cff7 MOVFF 0xff7,0xaa
001432 f0aa
001434 cff8 MOVFF 0xff8,0xab
001436 f0ab
C:\MCC18\src\traditional\startup\c018i.c
/* now assign the source address to the table pointer */ C:\MCC18\src\traditional\startup\c018i.c
001438 c0a2 MOVFF 0xa2,0xff6 TBLPTR = prom; C:\MCC18\src\traditional\startup\c018i.c
00143a fff6
00143c c0a3 MOVFF 0xa3,0xff7
00143e fff7
001440 c0a4 MOVFF 0xa4,0xff8
001442 fff8
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -