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

📄 main.lst

📁 PIC16F917开发的modbus-RTU协议
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Wed Aug 08 11:24:26 2007


     1                           	processor	16F917
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	intcode,global,class=CODE,delta=2
     5                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     6                           	psect	intret,global,class=CODE,delta=2
     7                           	psect	intentry,global,class=CODE,delta=2
     8                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
     9                           	psect	text1,local,class=CODE,delta=2
    10                           	psect	text4,local,class=CODE,delta=2
    11                           	psect	text6,local,class=CODE,delta=2
    12                           	psect	rbss_2,global,class=BANK2,space=1,delta=
      +                          1
    13                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    14                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25                           
    26                           	psect	intcode
    27  0011                     _commIntProc
    28  0011                     int_func
    29                           ;main.c: 18: void interrupt commIntProc(void)
    30  0011  0183               	clrf	3	;select bank 0
    31  0012  1E0C               	btfss	12,4
    32  0013  2827               	goto	l2
    33                           ;main.c: 21: {
    34  0014  120C               	bcf	12,4
    35                           ;main.c: 23: if(sendPosi <=sendCount)
    36  0015  0843               	movf	_sendPosi,w
    37  0016  0242               	subwf	_sendCount,w
    38  0017  1C03               	btfss	3,0
    39  0018  2821               	goto	l3
    40                           ;main.c: 24: {
    41  0019  0843               	movf	_sendPosi,w
    42  001A  3E31               	addlw	_sendBuf
    43  001B  0084               	movwf	4
    44  001C  1383               	bcf	3,7
    45  001D  0800               	movf	0,w
    46  001E  0099               	movwf	25	;volatile
    47                           ;main.c: 26: sendPosi++;
    48  001F  0AC3               	incf	_sendPosi
    49                           ;main.c: 27: }
    50  0020  2827               	goto	l2
    51  0021                     l3
    52                           ;main.c: 28: else
    53  0021  01C3               	clrf	_sendPosi
    54                           ;main.c: 32: RC4 = 0;
    55  0022  1207               	bcf	7,4
    56                           ;main.c: 33: TXIE =0;
    57  0023  1683               	bsf	3,5
    58  0024  120C               	bcf	12,4
    59                           ;main.c: 34: TXEN = 0;
    60  0025  1298               	bcf	24,5
    61                           ;main.c: 35: RCIE =1;
    62  0026  168C               	bsf	12,5
    63  0027                     l2
    64                           ;main.c: 36: }
    65  0027  1283               	bcf	3,5
    66  0028  1E8C               	btfss	12,5
    67  0029  2840               	goto	l5
    68                           ;main.c: 39: {
    69  002A  128C               	bcf	12,5
    70                           ;main.c: 41: if(receCount < 16)
    71  002B  3010               	movlw	16
    72  002C  0241               	subwf	_receCount,w
    73  002D  1803               	btfsc	3,0
    74  002E  283D               	goto	l6
    75                           ;main.c: 42: {
    76  002F  0841               	movf	_receCount,w
    77  0030  3E21               	addlw	_receBuf
    78  0031  0084               	movwf	4
    79  0032  1383               	bcf	3,7
    80  0033  081A               	movf	26,w	;volatile
    81  0034  0080               	movwf	0
    82                           ;main.c: 44: g_wLstTick = bt1ms;
    83  0035  1703               	bsf	3,6
    84  0036  0822               	movf	_bt1ms^(0+256),w
    85  0037  00A4               	movwf	_g_wLstTick^(0+256)
    86  0038  0823               	movf	(_bt1ms+1)^(0+256),w
    87  0039  00A5               	movwf	(_g_wLstTick+1)^(0+256)
    88                           ;main.c: 45: receCount++;
    89  003A  1303               	bcf	3,6	;carry unused
    90  003B  0AC1               	incf	_receCount
    91                           ;main.c: 46: }
    92  003C  2840               	goto	l5
    93  003D                     l6
    94                           ;main.c: 47: else
    95  003D  081A               	movf	26,w	;volatile
    96  003E  1703               	bsf	3,6
    97  003F  00A0               	movwf	_byTemp^(0+256)
    98  0040                     l5
    99                           ;main.c: 50: }
   100  0040  1683               	bsf	3,5
   101  0041  1303               	bcf	3,6	;carry unused
   102  0042  1C8C               	btfss	12,1
   103  0043  286A               	goto	l1
   104  0044  1283               	bcf	3,5
   105  0045  1C8C               	btfss	12,1
   106  0046  286A               	goto	l1
   107                           ;main.c: 54: {
   108  0047  1683               	bsf	3,5
   109  0048  108C               	bcf	12,1
   110                           ;main.c: 56: TMR2IF = 0;
   111  0049  1283               	bcf	3,5
   112  004A  108C               	bcf	12,1
   113                           ;main.c: 57: bt1ms++;
   114  004B  1703               	bsf	3,6
   115  004C  0AA2               	incf	_bt1ms^(0+256)
   116  004D  1903               	btfsc	3,2
   117  004E  0AA3               	incf	(_bt1ms+1)^(0+256)
   118                           ;main.c: 58: if(bt1ms-g_wLstTick > 100 && receC
      +                          ount>0)
   119  004F  0823               	movf	(_bt1ms+1)^(0+256),w
   120  0050  00F1               	movwf	btemp+1
   121  0051  0822               	movf	_bt1ms^(0+256),w
   122  0052  00F0               	movwf	btemp
   123  0053  0824               	movf	_g_wLstTick^(0+256),w
   124  0054  02F0               	subwf	btemp
   125  0055  1C03               	btfss	3,0
   126  0056  03F1               	decf	btemp+1
   127  0057  0825               	movf	(_g_wLstTick+1)^(0+256),w
   128  0058  02F1               	subwf	btemp+1
   129  0059  3000               	movlw	0
   130  005A  0271               	subwf	btemp+1,w
   131  005B  3065               	movlw	101
   132  005C  1903               	btfsc	3,2
   133  005D  0270               	subwf	btemp,w
   134  005E  1C03               	btfss	3,0
   135  005F  2867               	goto	l9
   136  0060  1303               	bcf	3,6	;carry unused
   137  0061  08C1               	movf	_receCount
   138  0062  1903               	btfsc	3,2
   139  0063  2867               	goto	l9
   140                           ;main.c: 59: {
   141  0064  1703               	bsf	3,6
   142  0065  01A1               	clrf	_g_bRcvedOK^(0+256)
   143  0066  0AA1               	incf	_g_bRcvedOK^(0+256)
   144  0067                     l9
   145                           ;main.c: 62: }
   146  0067  1683               	bsf	3,5
   147  0068  1303               	bcf	3,6	;carry unused
   148  0069  148C               	bsf	12,1
   149                           ;main.c: 64: }
   150  006A                     l1
   151  006A  1303               	bcf	3,6	;carry unused
   152  006B  1283               	bcf	3,5
   153                           
   154                           	psect	intsave_0
   155  0075                     saved_w
   156  0075                     	ds	1
   157                           
   158                           	psect	intret
   159  0070  0864               	movf	saved_fsr,w
   160  0071  0084               	movwf	4	;restore FSR
   161  0072  0865               	movf	saved_pclath,w
   162  0073  008A               	movwf	10
   163  0074                     int_restore
   164  0074  0863               	movf	saved_status,w
   165  0075  0083               	movwf	3
   166  0076  0EF5               	swapf	saved_w
   167  0077  0E75               	swapf	saved_w,w
   168  0078  0009               	retfie
   169                           
   170                           	psect	intentry
   171  0004                     int_entry
   172  0004  00F5               	movwf	saved_w
   173  0005  0803               	movf	3,w
   174  0006  0183               	clrf	3
   175  0007  00E3               	movwf	saved_status
   176  0008  0804               	movf	4,w
   177  0009  00E4               	movwf	saved_fsr
   178  000A  080A               	movf	10,w
   179  000B  00E5               	movwf	saved_pclath
   180  000C  018A               	clrf	10
   181                           
   182                           	psect	intsave
   183  0063                     saved_status
   184  0063                     	ds	1
   185  0064                     saved_fsr
   186  0064                     	ds	1
   187  0065                     saved_pclath
   188  0065                     	ds	1
   189                           
   190                           	psect	text1
   191  044C                     _initUart
   192                           ;main.c: 90: void initUart(void)
   193  044C  3033               	movlw	51
   194  044D  1683               	bsf	3,5
   195  044E  1303               	bcf	3,6	;carry unused
   196  044F  0099               	movwf	25
   197                           ;main.c: 94: TXSTA = 0x04;
   198  0450  3004               	movlw	4
   199  0451  0098               	movwf	24	;volatile
   200                           ;main.c: 95: RCSTA = 0x90;
   201  0452  3090               	movlw	-112
   202  0453  1283               	bcf	3,5
   203  0454  0098               	movwf	24	;volatile
   204                           ;main.c: 96: RCIF = 0;
   205  0455  128C               	bcf	12,5
   206                           ;main.c: 97: TXIF = 0;
   207  0456  120C               	bcf	12,4
   208                           ;main.c: 98: RCIE = 1;
   209  0457  1683               	bsf	3,5
   210  0458  168C               	bsf	12,5
   211                           ;main.c: 99: PEIE =1;
   212  0459  170B               	bsf	11,6
   213                           ;main.c: 100: RC4 = 0;
   214  045A  1283               	bcf	3,5
   215  045B  1207               	bcf	7,4
   216                           ;main.c: 101: TRISC4 = 0;
   217  045C  1683               	bsf	3,5
   218  045D  1207               	bcf	7,4
   219                           ;main.c: 102: }
   220  045E  1283               	bcf	3,5
   221  045F  0008               	return	;W free
   222  0460                     _initInt
   223                           ;main.c: 105: void initInt(void)
   224  0460  3080               	movlw	-128
   225  0461  1683               	bsf	3,5
   226  0462  1303               	bcf	3,6	;carry unused
   227  0463  0092               	movwf	18
   228                           ;main.c: 110: T2CON |= 0x07;
   229  0464  3007               	movlw	7
   230  0465  1283               	bcf	3,5
   231  0466  0492               	iorwf	18	;volatile
   232                           ;main.c: 111: PIE1 |= 0x02;
   233  0467  1683               	bsf	3,5
   234  0468  148C               	bsf	12,1
   235                           ;main.c: 112: PIR1 &= 0xfd;
   236  0469  1283               	bcf	3,5
   237  046A  108C               	bcf	12,1	;volatile
   238                           ;main.c: 114: initUart();
   239  046B  244C               	fcall	_initUart
   240                           ;main.c: 115: GIE = 1;
   241  046C  178B               	bsf	11,7
   242                           ;main.c: 116: }
   243  046D  0008               	return	;W free
   244  046E                     _SetPort
   245                           ;main.c: 117: void SetPort(void)
   246  046E  3040               	movlw	64
   247  046F  1283               	bcf	3,5
   248  0470  1703               	bsf	3,6
   249  0471  0087               	movwf	7	;volatile
   250                           ;main.c: 121: LCDPS = 0;
   251  0472  0188               	clrf	8	;volatile
   252                           ;main.c: 122: LCDSE0 = 0;
   253  0473  019C               	clrf	28
   254                           ;main.c: 123: LCDSE1 = 0;
   255  0474  019D               	clrf	29
   256                           ;main.c: 124: LCDSE2 = 0;
   257  0475  019E               	clrf	30
   258                           ;main.c: 125: LCDA = 0;
   259  0476  1288               	bcf	8,5
   260                           ;main.c: 126: PORTC = 0x00;
   261  0477  1303               	bcf	3,6	;carry unused
   262  0478  0187               	clrf	7	;volatile
   263                           ;main.c: 127: TRISC = 0x80;

⌨️ 快捷键说明

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