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

📄 main.lst

📁 PIC16F689驱动SD卡程序,可以实现对SD的ID读取和内存读取,并且可以通过串口调试精灵看到相应信息
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Sun Nov 09 09:42:45 2008


     1                           	processor	16F689
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	text3,local,class=CODE,delta=2
     5                           	psect	text7,local,class=CODE,delta=2
     6                           	psect	intcode,global,class=CODE,delta=2
     7                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     8                           	psect	intret,global,class=CODE,delta=2
     9                           	psect	intentry,global,class=CODE,delta=2
    10                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    11                           	psect	text8,local,class=CODE,delta=2
    12                           	psect	text9,local,class=CODE,delta=2
    13                           	psect	strings,global,class=STRING,delta=2
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    16                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27                           
    28                           	psect	text0
    29  048E                     _DELAY_xNOP
    30                           ;	_ns assigned to ?a_DELAY_xNOP+0
    31  0000                     _DELAY_xNOP$ns	set	?a_DELAY_xNOP
    32                           ;	_i assigned to ?a_DELAY_xNOP+1
    33  0000                     _DELAY_xNOP$i	set	?a_DELAY_xNOP+1
    34                           ;_ns stored from w
    35  048E  0183               	clrf	3	;select bank 0
    36  048F  00B7               	movwf	?a_DELAY_xNOP
    37                           ;delay.h: 2: void DELAY_xNOP(unsigned char ns)
    38  0490  01B8               	clrf	?a_DELAY_xNOP+1
    39  0491  2C93               	goto	l5
    40  0492                     l2
    41                           ;delay.h: 6: {
    42  0492  0AB8               	incf	?a_DELAY_xNOP+1
    43  0493                     l5
    44  0493  0837               	movf	?a_DELAY_xNOP,w
    45  0494  0238               	subwf	?a_DELAY_xNOP+1,w
    46  0495  1803               	btfsc	3,0
    47  0496  0008               	return
    48  0497  2C92               	goto	l2
    49                           
    50                           	psect	text3
    51  04A3                     _time1_initial
    52                           ;function.h: 27: void time1_initial()
    53  04A3  0183               	clrf	3	;select bank 0
    54  04A4  0190               	clrf	16
    55                           ;function.h: 30: TMR1H=0XF8;
    56  04A5  30F8               	movlw	-8
    57  04A6  008F               	movwf	15	;volatile
    58                           ;function.h: 31: TMR1L=0X2F;
    59  04A7  302F               	movlw	47
    60  04A8  008E               	movwf	14	;volatile
    61                           ;function.h: 32: TMR1ON=1;
    62  04A9  1410               	bsf	16,0
    63                           ;function.h: 33: PIR1=0;
    64  04AA  018C               	clrf	12	;volatile
    65                           ;function.h: 34: PIR2=0;
    66  04AB  018D               	clrf	13	;volatile
    67                           ;function.h: 35: RCREG=RCREG;
    68  04AC  081A               	movf	26,w	;volatile
    69  04AD  009A               	movwf	26	;volatile
    70                           ;function.h: 36: PIE1=0;
    71  04AE  1683               	bsf	3,5
    72  04AF  018C               	clrf	12
    73                           ;function.h: 37: PIE2=0;
    74  04B0  018D               	clrf	13
    75                           ;function.h: 38: RCIE=1;
    76  04B1  168C               	bsf	12,5
    77                           ;function.h: 39: TMR1IE=1;
    78  04B2  140C               	bsf	12,0
    79                           ;function.h: 40: PORTA=PORTA;
    80  04B3  1283               	bcf	3,5
    81  04B4  0805               	movf	5,w	;volatile
    82  04B5  0085               	movwf	5	;volatile
    83                           ;function.h: 41: RABIF=0;
    84  04B6  100B               	bcf	11,0
    85                           ;function.h: 42: INTCON=0XC0;
    86  04B7  30C0               	movlw	-64
    87  04B8  008B               	movwf	11	;volatile
    88                           ;function.h: 43: }
    89  04B9  0008               	return	;W free
    90                           
    91                           	psect	intcode
    92  000B                     _int_dispose
    93  000B                     int_func
    94                           ;function.h: 104: void interrupt int_dispose(vo
      +                          id)
    95  000B  0183               	clrf	3	;select bank 0
    96                           
    97                           	psect	intsave_0
    98  0077                     saved_w
    99  0077                     	ds	1
   100                           
   101                           	psect	intret
   102  000C  0866               	movf	saved_pclath,w
   103  000D  008A               	movwf	10
   104  000E                     int_restore
   105  000E  0865               	movf	saved_status,w
   106  000F  0083               	movwf	3
   107  0010  0EF7               	swapf	saved_w
   108  0011  0E77               	swapf	saved_w,w
   109  0012  0009               	retfie
   110                           
   111                           	psect	intentry
   112  0004                     int_entry
   113  0004  00F7               	movwf	saved_w
   114  0005  0803               	movf	3,w
   115  0006  0183               	clrf	3
   116  0007  00E5               	movwf	saved_status
   117  0008  080A               	movf	10,w
   118  0009  00E6               	movwf	saved_pclath
   119  000A  018A               	clrf	10
   120                           ;       param _date assigned to ?_int_to_char+0
   121  0000                     _int_to_char$date	set	?_int_to_char
   122                           ;       param _result assigned to ?_int_to_char
      +                          +2
   123  0000                     _int_to_char$result	set	?_int_to_char+2
   124                           
   125                           	psect	intsave
   126  0065                     saved_status
   127  0065                     	ds	1
   128  0066                     saved_pclath
   129  0066                     	ds	1
   130                           
   131                           	psect	text8
   132  04BA                     _int_to_char
   133                           ;	_i assigned to ?a_int_to_char+0
   134  0000                     _int_to_char$i	set	?a_int_to_char
   135                           ;	_j assigned to ?a_int_to_char+1
   136  0000                     _int_to_char$j	set	?a_int_to_char+1
   137                           ;	_temp assigned to ?a_int_to_char+2
   138  0000                     _int_to_char$temp	set	?a_int_to_char+2
   139                           ;sd.h: 13: void int_to_char(unsigned int date,u
      +                          nsigned char *result)
   140  04BA  0183               	clrf	3	;select bank 0
   141  04BB  01CE               	clrf	?a_int_to_char
   142  04BC  01CF               	clrf	?a_int_to_char+1
   143                           ;sd.h: 16: char temp=0;
   144  04BD  01D0               	clrf	?a_int_to_char+2
   145                           ;sd.h: 19: temp=(date/1000)%10;
   146  04BE  30E8               	movlw	232
   147  04BF  00F2               	movwf	btemp+2
   148  04C0  3003               	movlw	3
   149  04C1  00F3               	movwf	btemp+3
   150  04C2  084C               	movf	?_int_to_char+1,w
   151  04C3  00F1               	movwf	btemp+1
   152  04C4  084B               	movf	?_int_to_char,w
   153  04C5  00F0               	movwf	btemp
   154  04C6  118A  27C6         	fcall	lwdiv
   155  04C8  0874               	movf	btemp+4,w
   156  04C9  00F0               	movwf	btemp
   157  04CA  0875               	movf	btemp+5,w
   158  04CB  00F1               	movwf	btemp+1
   159  04CC  300A               	movlw	10
   160  04CD  00F2               	movwf	btemp+2
   161  04CE  3000               	movlw	0
   162  04CF  01F3               	clrf	btemp+3
   163  04D0  118A  27C6         	fcall	lwmod
   164  04D2  0870               	movf	btemp,w
   165  04D3  00D0               	movwf	?a_int_to_char+2
   166                           ;sd.h: 20: result[0]=temp+0x30;
   167  04D4  084D               	movf	?_int_to_char+2,w
   168  04D5  0084               	movwf	4
   169  04D6  1383               	bcf	3,7
   170  04D7  0850               	movf	?a_int_to_char+2,w
   171  04D8  3E30               	addlw	48
   172  04D9  0080               	movwf	0
   173                           ;sd.h: 21: temp=(date/100)%10;
   174  04DA  3064               	movlw	100
   175  04DB  00F2               	movwf	btemp+2
   176  04DC  01F3               	clrf	btemp+3
   177  04DD  084C               	movf	?_int_to_char+1,w
   178  04DE  00F1               	movwf	btemp+1
   179  04DF  084B               	movf	?_int_to_char,w
   180  04E0  00F0               	movwf	btemp
   181  04E1  118A  27C6         	fcall	lwdiv
   182  04E3  0874               	movf	btemp+4,w
   183  04E4  00F0               	movwf	btemp
   184  04E5  0875               	movf	btemp+5,w
   185  04E6  00F1               	movwf	btemp+1
   186  04E7  300A               	movlw	10
   187  04E8  00F2               	movwf	btemp+2
   188  04E9  3000               	movlw	0
   189  04EA  01F3               	clrf	btemp+3
   190  04EB  118A  27C6         	fcall	lwmod
   191  04ED  0870               	movf	btemp,w
   192  04EE  00D0               	movwf	?a_int_to_char+2
   193                           ;sd.h: 22: result[1]=temp+0x30;
   194  04EF  0A4D               	incf	?_int_to_char+2,w
   195  04F0  0084               	movwf	4
   196  04F1  1383               	bcf	3,7
   197  04F2  0850               	movf	?a_int_to_char+2,w
   198  04F3  3E30               	addlw	48
   199  04F4  0080               	movwf	0
   200                           ;sd.h: 23: temp=(date/10)%10;
   201  04F5  300A               	movlw	10
   202  04F6  00F2               	movwf	btemp+2
   203  04F7  01F3               	clrf	btemp+3
   204  04F8  084C               	movf	?_int_to_char+1,w
   205  04F9  00F1               	movwf	btemp+1
   206  04FA  084B               	movf	?_int_to_char,w
   207  04FB  00F0               	movwf	btemp
   208  04FC  118A  27C6         	fcall	lwdiv
   209  04FE  0874               	movf	btemp+4,w
   210  04FF  00F0               	movwf	btemp
   211  0500  0875               	movf	btemp+5,w
   212  0501  00F1               	movwf	btemp+1
   213  0502  300A               	movlw	10
   214  0503  00F2               	movwf	btemp+2
   215  0504  3000               	movlw	0
   216  0505  01F3               	clrf	btemp+3
   217  0506  118A  27C6         	fcall	lwmod
   218  0508  0870               	movf	btemp,w
   219  0509  00D0               	movwf	?a_int_to_char+2
   220                           ;sd.h: 24: result[2]=temp+0x30;
   221  050A  084D               	movf	?_int_to_char+2,w
   222  050B  3E02               	addlw	2
   223  050C  0084               	movwf	4
   224  050D  1383               	bcf	3,7
   225  050E  0850               	movf	?a_int_to_char+2,w
   226  050F  3E30               	addlw	48
   227  0510  0080               	movwf	0
   228                           ;sd.h: 25: temp=(date)%10;
   229  0511  300A               	movlw	10
   230  0512  00F2               	movwf	btemp+2
   231  0513  01F3               	clrf	btemp+3
   232  0514  084C               	movf	?_int_to_char+1,w
   233  0515  00F1               	movwf	btemp+1
   234  0516  084B               	movf	?_int_to_char,w
   235  0517  00F0               	movwf	btemp
   236  0518  118A  27C6  118A   	fcall	lwmod
   237  051B  0870               	movf	btemp,w

⌨️ 快捷键说明

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