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

📄 uart_s.lst

📁 Microchip 公司16F648 芯片实现RS485通讯,符合Modbus通讯协议,可用PICC环境编译.文件完整,可供参考.
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-90508                            Sat Nov 10 14:20:28 2007

Licensed to: ONE
     1                           	processor	16F648A
     2                           	opt	pw 79
     3                           	psect	__Z90508RS_,global,delta=1
     4                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     5                           	psect	idata_0,global,class=CODE,delta=2
     6                           	psect	text0,local,class=CODE,delta=2
     7                           	psect	text1,local,class=CODE,delta=2
     8                           	psect	text2,local,class=CODE,delta=2
     9                           	psect	text3,local,class=CODE,delta=2
    10                           	psect	text8,local,class=CODE,delta=2
    11                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    12                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    13                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24                           
    25                           	psect	__Z90508RS_
    26  0123                     
    27  0123                     
    28                           
    29                           	psect	rdata_0
    30  0044                     _LocalAddr
    31  0044                     	ds	1
    32  0000                     _ClearBus$ClearLength	set	?_ClearBus
    33                           
    34                           	psect	idata_0
    35  07FF  3401               	retlw	1
    36                           
    37                           	psect	text0
    38  0312                     _ClearBus
    39                           ;	_p_cleararray assigned to ?a_ClearBus+0
    40  0000                     _ClearBus$p_cleararray	set	?a_ClearBus
    41                           ;_p_cleararray stored from w
    42  0312  0183               	clrf	3	;select bank 0
    43  0313  00AC               	movwf	?a_ClearBus
    44  0314                     l9
    45                           ;uart_s.c: 105: do
    46                           ;uart_s.c: 106: {
    47  0314  082C               	movf	?a_ClearBus,w
    48  0315  0084               	movwf	4
    49  0316  1383               	bcf	3,7
    50  0317  0180               	clrf	0
    51  0318  0AAC               	incf	?a_ClearBus
    52                           ;uart_s.c: 108: }
    53  0319  0BAC               	decfsz	?_ClearBus
    54  031A  2B14               	goto	l9
    55  031B  0008               	return
    56                           
    57                           	psect	text1
    58                           ;uart_s.c: 114: void Uart_init(void)
    59                           ;uart_s.c: 115: {
    60  03E7                     _Uart_init
    61                           ;	_BAUD assigned to ?a_Uart_init+0
    62  0000                     _Uart_init$BAUD	set	?a_Uart_init
    63                           ;uart_s.c: 116: uint BAUD;
    64  03E7  3006               	movlw	6
    65  03E8  1683               	bsf	3,5
    66  03E9  1303               	bcf	3,6	;carry unused
    67  03EA  0486               	iorwf	6	;volatile
    68                           ;uart_s.c: 118: RBPU = 0;
    69  03EB  1381               	bcf	1,7
    70                           ;uart_s.c: 119: switch (1)
    71  03EC  2BFF               	goto	l12
    72  03ED                     l13
    73                           ;uart_s.c: 120: {
    74  03ED  30C0               	movlw	192
    75  03EE  1283               	bcf	3,5
    76  03EF  00AC               	movwf	?a_Uart_init
    77  03F0  3012               	movlw	18
    78  03F1  2C19               	goto	L5
    79  03F2                     l14
    80                           ;uart_s.c: 122: case 1: BAUD = 9600; break;
    81  03F2  3080               	movlw	128
    82  03F3  1283               	bcf	3,5
    83  03F4  00AC               	movwf	?a_Uart_init
    84  03F5  3025               	movlw	37
    85  03F6  2C19               	goto	L5
    86  03F7                     l15
    87                           ;uart_s.c: 123: case 2: BAUD = 19200; break;
    88  03F7  1283               	bcf	3,5
    89  03F8  01AC               	clrf	?a_Uart_init
    90  03F9  304B               	movlw	75
    91  03FA  2C19               	goto	L5
    92                           ;uart_s.c: 124: case 3: BAUD = 38400; break;
    93  03FB                     l17
    94                           ;uart_s.c: 125: case 4: BAUD = 57600; break;
    95  03FB  1283               	bcf	3,5
    96  03FC  01AC               	clrf	?a_Uart_init
    97  03FD  30E1               	movlw	225
    98  03FE  2C19               	goto	L5
    99  03FF                     l12
   100  03FF  3001               	movlw	1
   101  0400  00F2               	movwf	btemp+2
   102  0401  01F3               	clrf	btemp+3
   103  0402  2C13               	goto	l30003
   104  0403                     l30004
   105  0403  0872               	movf	btemp+2,w
   106  0404  1903               	btfsc	3,2
   107  0405  2BED               	goto	l13
   108  0406  3A01               	xorlw	1
   109  0407  1903               	btfsc	3,2
   110  0408  2BF2               	goto	l14
   111  0409  3A03               	xorlw	3
   112  040A  1903               	btfsc	3,2
   113  040B  2BF7               	goto	l15
   114  040C  3A01               	xorlw	1
   115  040D  1903               	btfsc	3,2
   116  040E  2C16               	goto	l18
   117  040F  3A07               	xorlw	7
   118  0410  1903               	btfsc	3,2
   119  0411  2BFB               	goto	l17
   120  0412  2C16               	goto	l18
   121  0413                     l30003
   122  0413  0873               	movf	btemp+3,w
   123  0414  1903               	btfsc	3,2
   124  0415  2C03               	goto	l30004
   125  0416                     l18
   126                           ;uart_s.c: 126: default: BAUD = 38400; break;
   127  0416  1283               	bcf	3,5
   128  0417  01AC               	clrf	?a_Uart_init
   129  0418  3096               	movlw	150
   130  0419                     L5
   131  0419  00AD               	movwf	?a_Uart_init+1
   132                           ;uart_s.c: 128: SPBRG = 8000000/BAUD/16-1;
   133  041A  082C               	movf	?a_Uart_init,w
   134  041B  00F4               	movwf	btemp+4
   135  041C  082D               	movf	?a_Uart_init+1,w
   136  041D  00F5               	movwf	btemp+5
   137  041E  01F6               	clrf	btemp+6
   138  041F  01F7               	clrf	btemp+7
   139  0420  01F0               	clrf	btemp
   140  0421  3012               	movlw	18
   141  0422  00F1               	movwf	btemp+1
   142  0423  307A               	movlw	122
   143  0424  00F2               	movwf	btemp+2
   144  0425  3000               	movlw	0
   145  0426  01F3               	clrf	btemp+3
   146  0427  118A  273E         	fcall	aldiv
   147  0429  3010               	movlw	16
   148  042A  00F4               	movwf	btemp+4
   149  042B  3000               	movlw	0
   150  042C  01F5               	clrf	btemp+5
   151  042D  01F6               	clrf	btemp+6
   152  042E  01F7               	clrf	btemp+7
   153  042F  118A  273E         	fcall	aldiv
   154  0431  0370               	decf	btemp,w
   155  0432  1683               	bsf	3,5
   156  0433  0099               	movwf	25
   157                           ;uart_s.c: 129: FrameOverCou = (uchar)(1000.0*4
      +                          0/BAUD);
   158  0434  1283               	bcf	3,5
   159  0435  082D               	movf	?a_Uart_init+1,w
   160  0436  00F1               	movwf	btemp+1
   161  0437  082C               	movf	?a_Uart_init,w
   162  0438  00F0               	movwf	btemp
   163  0439  118A  26EC         	fcall	lwtoft
   164  043B  0870               	movf	btemp,w
   165  043C  00F3               	movwf	btemp+3
   166  043D  0871               	movf	btemp+1,w
   167  043E  00F4               	movwf	btemp+4
   168  043F  0872               	movf	btemp+2,w
   169  0440  00F5               	movwf	btemp+5
   170  0441  3040               	movlw	64
   171  0442  00F0               	movwf	btemp
   172  0443  301C               	movlw	28
   173  0444  00F1               	movwf	btemp+1
   174  0445  3047               	movlw	71
   175  0446  00F2               	movwf	btemp+2
   176  0447  118A  2678         	fcall	ftdiv
   177  0449  118A  26B0  118A   	fcall	fttol
   178  044C  0870               	movf	btemp,w
   179  044D  00A0               	movwf	_FrameOverCou
   180                           ;uart_s.c: 130: FrameOverCou += 1;
   181  044E  0AA0               	incf	_FrameOverCou
   182                           ;uart_s.c: 131: TXSTA = 0b10000100;
   183  044F  3084               	movlw	-124
   184  0450  1683               	bsf	3,5
   185  0451  0098               	movwf	24	;volatile
   186                           ;uart_s.c: 132: RCSTA = 0b00100000;
   187  0452  3020               	movlw	32
   188  0453  1283               	bcf	3,5
   189  0454  0098               	movwf	24	;volatile
   190                           ;uart_s.c: 133: RX9 = 1;
   191  0455  1718               	bsf	24,6
   192                           ;uart_s.c: 134: TX9 = 1;
   193  0456  1683               	bsf	3,5
   194  0457  1718               	bsf	24,6
   195                           ;uart_s.c: 136: SPEN = 1;
   196  0458  1283               	bcf	3,5
   197  0459  1798               	bsf	24,7
   198                           ;uart_s.c: 139: CREN = 1;
   199  045A  1618               	bsf	24,4
   200                           ;uart_s.c: 140: RCIE = 1;
   201  045B  1683               	bsf	3,5
   202  045C  168C               	bsf	12,5
   203                           ;uart_s.c: 143: receCount = 0;
   204  045D  01A1               	clrf	_receCount^(0+128)	;volatile
   205                           ;uart_s.c: 144: }
   206  045E  1283               	bcf	3,5
   207  045F  0008               	return
   208                           
   209                           	psect	text2
   210                           ;uart_s.c: 148: void beginSend(void)
   211                           ;uart_s.c: 149: {
   212  053F                     _beginSend
   213                           ;uart_s.c: 151: sendPosi = 0;
   214  053F  1683               	bsf	3,5
   215  0540  1303               	bcf	3,6	;carry unused
   216  0541  01A3               	clrf	_sendPosi^(0+128)	;volatile
   217                           ;uart_s.c: 152: if(sendCount > 1)
   218  0542  3002               	movlw	2
   219  0543  0222               	subwf	_sendCount^(0+128),w	;volatile
   220  0544  1803               	btfsc	3,0
   221                           ;uart_s.c: 153: sendCount--;
   222  0545  03A2               	decf	_sendCount^(0+128)	;volatile
   223                           ;uart_s.c: 155: TXREG = sendBuf[0];
   224  0546  0836               	movf	_sendBuf^(0+128),w
   225  0547  1283               	bcf	3,5
   226  0548  0099               	movwf	25	;volatile
   227                           ;uart_s.c: 156: TXIE = 1;
   228  0549  1683               	bsf	3,5
   229  054A  160C               	bsf	12,4
   230                           ;uart_s.c: 157: TXEN = 1;
   231  054B  1698               	bsf	24,5
   232                           ;uart_s.c: 163: }
   233  054C  1283               	bcf	3,5
   234  054D  0008               	return
   235  054E                     _CRC16
   236                           ;	_data assigned to ?a_CRC16+0
   237  0000                     _CRC16$data	set	?a_CRC16
   238                           ;	_CH assigned to ?a_CRC16+1
   239  0000                     _CRC16$CH	set	?a_CRC16+1
   240                           ;	_CL assigned to ?a_CRC16+2
   241  0000                     _CRC16$CL	set	?a_CRC16+2
   242                           ;	_SaveHi assigned to ?a_CRC16+3
   243  0000                     _CRC16$SaveHi	set	?a_CRC16+3
   244                           ;	_SaveLo assigned to ?a_CRC16+4
   245  0000                     _CRC16$SaveLo	set	?a_CRC16+4
   246                           ;	_CRC16Hi assigned to ?a_CRC16+5
   247  0000                     _CRC16$CRC16Hi	set	?a_CRC16+5
   248                           ;	_CRC16Lo assigned to ?a_CRC16+6
   249  0000                     _CRC16$CRC16Lo	set	?a_CRC16+6
   250                           ;	_Flag assigned to ?a_CRC16+7
   251  0000                     _CRC16$Flag	set	?a_CRC16+7
   252                           ;	_i assigned to ?a_CRC16+9
   253  0000                     _CRC16$i	set	?a_CRC16+9
   254                           ;_data stored from w

⌨️ 快捷键说明

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