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

📄 sci.lst

📁 pic16F877A的串口功能C语言软件
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V9.60PL1
                                                      Mon Jan 14 16:16:24 2008


     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	text1,local,class=CODE,delta=2
     5                           	psect	text2,local,class=CODE,delta=2
     6                           	psect	text3,local,class=CODE,delta=2
     7                           	psect	text4,local,class=CODE,delta=2
     8                           	psect	text5,local,class=CODE,delta=2
     9                           	psect	text6,local,class=CODE,delta=2
    10                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     _sci_Init$baud	set	?_sci_Init
    22  0000                     _sci_Init$ninebits	set	?_sci_Init+4
    23                           
    24                           	psect	text0
    25  06E3                     _sci_Init
    26                           ;	_X assigned to ?a_sci_Init+0
    27  0000                     _sci_Init$X	set	?a_sci_Init
    28                           ;	_tmp assigned to ?a_sci_Init+2
    29  0000                     _sci_Init$tmp	set	?a_sci_Init+2
    30                           ;sci.c: 12: unsigned char
    31  06E3  0183               	clrf	3	;select bank 0
    32  06E4  0825               	movf	?_sci_Init,w
    33  06E5  00F4               	movwf	btemp
    34  06E6  0826               	movf	?_sci_Init+1,w
    35  06E7  00F5               	movwf	btemp+1
    36  06E8  0827               	movf	?_sci_Init+2,w
    37  06E9  00F6               	movwf	btemp+2
    38  06EA  0828               	movf	?_sci_Init+3,w
    39  06EB  00F7               	movwf	btemp+3
    40  06EC  3004               	movlw	4
    41  06ED  268C               	call	llsll
    42  06EE  0874               	movf	btemp,w
    43  06EF  00AC               	movwf	?a_sci_Init+2
    44  06F0  0875               	movf	btemp+1,w
    45  06F1  00AD               	movwf	?a_sci_Init+3
    46  06F2  0876               	movf	btemp+2,w
    47  06F3  00AE               	movwf	?a_sci_Init+4
    48  06F4  0877               	movf	btemp+3,w
    49  06F5  00AF               	movwf	?a_sci_Init+5
    50                           ;sci.c: 21: X = (int)((4000000L)/tmp) - 1;
    51  06F6  082C               	movf	?a_sci_Init+2,w
    52  06F7  00F8               	movwf	btemp+4
    53  06F8  082D               	movf	?a_sci_Init+3,w
    54  06F9  00F9               	movwf	btemp+5
    55  06FA  082E               	movf	?a_sci_Init+4,w
    56  06FB  00FA               	movwf	btemp+6
    57  06FC  082F               	movf	?a_sci_Init+5,w
    58  06FD  00FB               	movwf	btemp+7
    59  06FE  01F4               	clrf	btemp
    60  06FF  3009               	movlw	9
    61  0700  00F5               	movwf	btemp+1
    62  0701  303D               	movlw	61
    63  0702  00F6               	movwf	btemp+2
    64  0703  3000               	movlw	0
    65  0704  01F7               	clrf	btemp+3
    66  0705  2776               	call	lldiv
    67  0706  30FF               	movlw	255
    68  0707  0774               	addwf	btemp,w
    69  0708  00AA               	movwf	?a_sci_Init
    70  0709  30FF               	movlw	255
    71  070A  1803               	btfsc	3,0
    72  070B  3000               	movlw	256
    73  070C  0775               	addwf	btemp+1,w
    74  070D  00AB               	movwf	?a_sci_Init+1
    75                           ;sci.c: 22: if((X>255) || (X<0))
    76  070E  3A80               	xorlw	128
    77  070F  00F4               	movwf	btemp
    78  0710  3081               	movlw	129
    79  0711  0274               	subwf	btemp,w
    80  0712  3000               	movlw	0
    81                           ;set	bank bits for (((?a_sci_Init+0)))
    82  0713  1903               	btfsc	3,2
    83  0714  022A               	subwf	?a_sci_Init,w
    84  0715  1803               	btfsc	3,0
    85  0716  2F19               	goto	u30
    86  0717  1FAB               	btfss	?a_sci_Init+1,7
    87  0718  2F53               	goto	l2
    88  0719                     u30
    89                           ;sci.c: 23: {
    90  0719  0825               	movf	?_sci_Init,w
    91  071A  00F4               	movwf	btemp
    92  071B  0826               	movf	?_sci_Init+1,w
    93  071C  00F5               	movwf	btemp+1
    94  071D  0827               	movf	?_sci_Init+2,w
    95  071E  00F6               	movwf	btemp+2
    96  071F  0828               	movf	?_sci_Init+3,w
    97  0720  00F7               	movwf	btemp+3
    98  0721  3006               	movlw	6
    99  0722  268C               	call	llsll
   100  0723  0874               	movf	btemp,w
   101  0724  00AC               	movwf	?a_sci_Init+2
   102  0725  0875               	movf	btemp+1,w
   103  0726  00AD               	movwf	?a_sci_Init+3
   104  0727  0876               	movf	btemp+2,w
   105  0728  00AE               	movwf	?a_sci_Init+4
   106  0729  0877               	movf	btemp+3,w
   107  072A  00AF               	movwf	?a_sci_Init+5
   108                           ;sci.c: 25: X = (int)((4000000L)/tmp) - 1;
   109  072B  082C               	movf	?a_sci_Init+2,w
   110  072C  00F8               	movwf	btemp+4
   111  072D  082D               	movf	?a_sci_Init+3,w
   112  072E  00F9               	movwf	btemp+5
   113  072F  082E               	movf	?a_sci_Init+4,w
   114  0730  00FA               	movwf	btemp+6
   115  0731  082F               	movf	?a_sci_Init+5,w
   116  0732  00FB               	movwf	btemp+7
   117  0733  01F4               	clrf	btemp
   118  0734  3009               	movlw	9
   119  0735  00F5               	movwf	btemp+1
   120  0736  303D               	movlw	61
   121  0737  00F6               	movwf	btemp+2
   122  0738  3000               	movlw	0
   123  0739  01F7               	clrf	btemp+3
   124  073A  2776               	call	lldiv
   125  073B  30FF               	movlw	255
   126  073C  0774               	addwf	btemp,w
   127  073D  00AA               	movwf	?a_sci_Init
   128  073E  30FF               	movlw	255
   129  073F  1803               	btfsc	3,0
   130  0740  3000               	movlw	256
   131  0741  0775               	addwf	btemp+1,w
   132  0742  00AB               	movwf	?a_sci_Init+1
   133                           ;sci.c: 26: if((X>255) || (X<0))
   134  0743  3A80               	xorlw	128
   135  0744  00F4               	movwf	btemp
   136  0745  3081               	movlw	129
   137  0746  0274               	subwf	btemp,w
   138  0747  3000               	movlw	0
   139                           ;set	bank bits for (((?a_sci_Init+0)))
   140  0748  1903               	btfsc	3,2
   141  0749  022A               	subwf	?a_sci_Init,w
   142  074A  1803               	btfsc	3,0
   143  074B  2F4E               	goto	u60
   144  074C  1FAB               	btfss	?a_sci_Init+1,7
   145  074D  2F50               	goto	l3
   146  074E                     u60
   147                           ;sci.c: 27: {
   148  074E  3001               	movlw	1
   149  074F  2F74               	goto	l1
   150  0750                     l3
   151                           ;sci.c: 30: else
   152  0750  1683               	bsf	3,5
   153  0751  1118               	bcf	24,2
   154                           ;sci.c: 32: }
   155  0752  2F55               	goto	l5
   156  0753                     l2
   157                           ;sci.c: 33: else
   158  0753  1683               	bsf	3,5
   159  0754  1518               	bsf	24,2
   160  0755                     l5
   161                           ;sci.c: 35: SPBRG = X;
   162  0755  1283               	bcf	3,5
   163  0756  082A               	movf	?a_sci_Init,w
   164  0757  1683               	bsf	3,5
   165  0758  0099               	movwf	25	;volatile
   166                           ;sci.c: 37: SYNC = 0;
   167  0759  1218               	bcf	24,4
   168                           ;sci.c: 38: SPEN = 1;
   169  075A  1283               	bcf	3,5
   170  075B  1798               	bsf	24,7
   171                           ;sci.c: 39: CREN = 1;
   172  075C  1618               	bsf	24,4
   173                           ;sci.c: 40: SREN = 0;
   174  075D  1298               	bcf	24,5
   175                           ;sci.c: 41: TXIE = 0;
   176  075E  1683               	bsf	3,5
   177  075F  120C               	bcf	12,4
   178                           ;sci.c: 42: RCIE = 0;
   179  0760  128C               	bcf	12,5
   180                           ;sci.c: 43: TX9 = ninebits?1:0;
   181  0761  1283               	bcf	3,5
   182  0762  08A9               	movf	?_sci_Init+4
   183  0763  1683               	bsf	3,5
   184  0764  1903               	btfsc	3,2
   185  0765  2F68               	goto	L1
   186  0766  1718               	bsf	24,6
   187  0767  2F69               	goto	u84
   188  0768                     L1
   189  0768  1318               	bcf	24,6
   190  0769                     u84
   191                           ;sci.c: 44: RX9 = ninebits?1:0;
   192  0769  1283               	bcf	3,5
   193  076A  1303               	bcf	3,6	;carry unused
   194  076B  08A9               	movf	?_sci_Init+4
   195  076C  1903               	btfsc	3,2
   196  076D  2F70               	goto	u90
   197  076E  1718               	bsf	24,6
   198  076F  2F71               	goto	u104
   199  0770                     u90
   200  0770  1318               	bcf	24,6
   201  0771                     u104
   202                           ;sci.c: 45: TXEN = 1;
   203  0771  1683               	bsf	3,5
   204  0772  1698               	bsf	24,5
   205                           ;sci.c: 47: return 0;
   206  0773  3000               	movlw	0
   207                           ;sci.c: 48: }
   208  0774                     l1
   209  0774  1283               	bcf	3,5
   210  0775  0008               	return	;uses W
   211                           
   212                           	psect	text1
   213  0683                     _sci_PutByte
   214                           ;	_byte assigned to ?a_sci_PutByte+0
   215  0000                     _sci_PutByte$byte	set	?a_sci_PutByte
   216                           ;_byte stored from w
   217  0683  0183               	clrf	3	;select bank 0
   218  0684  00A5               	movwf	?a_sci_PutByte
   219                           ;sci.c: 50: void
   220                           ;sci.c: 54: continue;
   221  0685                     l7
   222  0685  1283               	bcf	3,5
   223  0686  1303               	bcf	3,6	;carry unused
   224  0687  1E0C               	btfss	12,4
   225  0688  2E85               	goto	l7
   226                           ;sci.c: 55: TXREG = byte;
   227  0689  0825               	movf	?a_sci_PutByte,w
   228  068A  0099               	movwf	25	;volatile
   229                           ;sci.c: 58: }
   230  068B  0008               	return	;W free
   231                           
   232                           	psect	text2
   233  066A                     _sci_GetByte
   234                           ;sci.c: 60: unsigned char
   235                           ;sci.c: 64: continue;
   236  066A                     l11
   237  066A  0183               	clrf	3	;select bank 0
   238  066B  1E8C               	btfss	12,5
   239  066C  2E6A               	goto	l11
   240                           ;sci.c: 66: return RCREG;
   241  066D  081A               	movf	26,w	;volatile
   242                           ;sci.c: 67: }
   243  066E  0008               	return	;uses W
   244                           
   245                           	psect	text3
   246  066F                     _sci_CheckOERR
   247                           ;sci.c: 69: unsigned char
   248  066F  0183               	clrf	3	;select bank 0
   249  0670  1C98               	btfss	24,1
   250  0671  3400               	retlw	0
   251                           ;sci.c: 73: {
   252  0672  1218               	bcf	24,4
   253                           ;sci.c: 75: CREN = 1;
   254  0673  1618               	bsf	24,4
   255                           ;sci.c: 76: return 1;
   256  0674  3401               	retlw	1
   257                           
   258                           	psect	text4
   259  0675                     _sci_GetNinth
   260                           ;sci.c: 84: unsigned char
   261                           ;sci.c: 88: continue;
   262  0675                     l17
   263  0675  0183               	clrf	3	;select bank 0
   264  0676  1E8C               	btfss	12,5
   265  0677  2E75               	goto	l17
   266                           ;sci.c: 90: return RX9D;
   267  0678  3000               	movlw	0
   268  0679  1818               	btfsc	24,0
   269  067A  3001               	movlw	1
   270                           ;sci.c: 91: }
   271  067B  0008               	return	;uses W
   272                           
   273                           	psect	text5
   274  067C                     _sci_GetFERR
   275                           ;sci.c: 93: unsigned char
   276                           ;sci.c: 97: continue;
   277  067C                     l21
   278  067C  0183               	clrf	3	;select bank 0
   279  067D  1E8C               	btfss	12,5
   280  067E  2E7C               	goto	l21
   281                           ;sci.c: 99: return FERR;
   282  067F  3000               	movlw	0
   283  0680  1918               	btfsc	24,2
   284  0681  3001               	movlw	1
   285                           ;sci.c: 100: }
   286  0682  0008               	return	;uses W
   287                           
   288                           	psect	text6
   289  0000                     
   290  0000                     
   291  0000                     

⌨️ 快捷键说明

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