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

📄 main_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	text0,local,class=CODE,delta=2
     5                           	psect	text1,local,class=CODE,delta=2
     6                           	psect	text2,local,class=CODE,delta=2
     7                           	psect	intcode,global,class=CODE,delta=2
     8                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     9                           	psect	intret,global,class=CODE,delta=2
    10                           	psect	intentry,global,class=CODE,delta=2
    11                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    12                           	psect	text4,local,class=CODE,delta=2
    13                           	psect	text6,local,class=CODE,delta=2
    14                           	psect	text7,local,class=CODE,delta=2
    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	__Z90508RS_
    29  0123                     
    30  0123                     
    31                           
    32                           	psect	text0
    33  00FD                     _test
    34                           ;main_s.c: 16: RB3 = 1;
    35  00FD  0183               	clrf	3	;select bank 0
    36  00FE  1586               	bsf	6,3
    37                           ;main_s.c: 19: }
    38  00FF  0008               	return
    39                           
    40                           	psect	text1
    41  0356                     _WriteEEPROM
    42                           ;	_p_eedata assigned to ?a_WriteEEPROM+0
    43  0000                     _WriteEEPROM$p_eedata	set	?a_WriteEEPROM
    44                           ;	_var_ii assigned to ?a_WriteEEPROM+1
    45  0000                     _WriteEEPROM$var_ii	set	?a_WriteEEPROM+1
    46                           ;_p_eedata stored from w
    47  0356  0183               	clrf	3	;select bank 0
    48  0357  00AC               	movwf	?a_WriteEEPROM
    49                           ;main_s.c: 26: uchar var_ii;
    50  0358  138B               	bcf	11,7
    51                           ;main_s.c: 28: for(var_ii=0;var_ii<length;var_i
      +                          i++)
    52  0359  01AD               	clrf	?a_WriteEEPROM+1
    53  035A  2B7A               	goto	l11
    54  035B                     l8
    55                           ;main_s.c: 29: {
    56                           ;main_s.c: 30: EEDATA = *p_eedata++;
    57  035B  082C               	movf	?a_WriteEEPROM,w
    58  035C  0084               	movwf	4
    59  035D  1383               	bcf	3,7
    60  035E  0800               	movf	0,w
    61  035F  1683               	bsf	3,5
    62  0360  009A               	movwf	26	;volatile
    63  0361  1283               	bcf	3,5
    64  0362  0AAC               	incf	?a_WriteEEPROM
    65                           ;main_s.c: 31: EEADR = addr++;
    66  0363  082D               	movf	?_WriteEEPROM+1,w
    67  0364  1683               	bsf	3,5
    68  0365  009B               	movwf	27
    69  0366  1283               	bcf	3,5
    70  0367  0AAD               	incf	?_WriteEEPROM+1
    71  0368  0000               	nop	;#
    72  0369  1683               	bsf	3,5	;#
    73                           ;#
    74  036A  151C               	bsf	156,2	;#
    75  036B  138B               	bcf	11,7	;#
    76  036C  1B8B               	btfsc	11,7	;#
    77  036D  2B54               	goto	($+-2)	;#
    78  036E  3055               	movlw	85	;#
    79  036F  009D               	movwf	157	;#
    80  0370  30AA               	movlw	170	;#
    81  0371  009D               	movwf	157	;#
    82  0372  149C               	bsf	156,1	;#
    83                           ;main_s.c: 45:  while(WR!=0)
    84  0373                     l12
    85                           ;main_s.c: 48: }
    86  0373  1683               	bsf	3,5
    87  0374  1C9C               	btfss	28,1
    88  0375  2B78               	goto	l14
    89                           ;main_s.c: 46: {
    90  0376  0000               	nop	;#
    91  0377  2B73               	goto	l12
    92  0378                     l14
    93                           ;main_s.c: 49: }
    94  0378  1283               	bcf	3,5
    95  0379  0AAD               	incf	?a_WriteEEPROM+1
    96  037A                     l11
    97  037A  082C               	movf	?_WriteEEPROM,w
    98  037B  022D               	subwf	?a_WriteEEPROM+1,w
    99  037C  1C03               	btfss	3,0
   100  037D  2B5B               	goto	l8
   101                           ;main_s.c: 50: GIE = 1;
   102  037E  178B               	bsf	11,7
   103                           ;main_s.c: 51: }
   104  037F  0008               	return
   105                           
   106                           	psect	intcode
   107                           ;main_s.c: 54: void interrupt isr(void) @ 0x04
   108                           ;main_s.c: 55: {
   109  002B                     _isr
   110  002B                     int_func
   111                           ;	_tmp assigned to ?a_isr+0
   112  0000                     _isr$tmp	set	?a_isr
   113                           ;main_s.c: 56: uchar tmp;
   114  002B  190B               	btfsc	11,2
   115  002C  1E8B               	btfss	11,5
   116  002D  2834               	goto	l16
   117                           ;main_s.c: 58: {
   118  002E  110B               	bcf	11,2
   119                           ;main_s.c: 60: TMR0 = 0x84;
   120  002F  3084               	movlw	-124
   121  0030  1283               	bcf	3,5
   122  0031  1303               	bcf	3,6	;carry unused
   123  0032  0081               	movwf	1	;volatile
   124                           ;main_s.c: 61: timeBase.bits.bt1ms = 1;
   125  0033  14AA               	bsf	_timeBase,1	;volatile
   126  0034                     l16
   127                           ;main_s.c: 62: }
   128  0034  1283               	bcf	3,5
   129  0035  1303               	bcf	3,6	;carry unused
   130  0036  1E0C               	btfss	12,4
   131  0037  2850               	goto	l17
   132  0038  1683               	bsf	3,5
   133  0039  1E0C               	btfss	12,4
   134  003A  2850               	goto	l17
   135                           ;main_s.c: 84: {
   136  003B  0822               	movf	_sendCount^(0+128),w	;volatile
   137  003C  0223               	subwf	_sendPosi^(0+128),w	;volatile
   138  003D  1803               	btfsc	3,0
   139  003E  2848               	goto	l18
   140                           ;main_s.c: 92: {
   141  003F  0AA3               	incf	_sendPosi^(0+128)	;volatile
   142                           ;main_s.c: 95: TXREG = sendBuf[sendPosi];
   143  0040  0823               	movf	_sendPosi^(0+128),w	;volatile
   144  0041  3EB6               	addlw	_sendBuf
   145  0042  0084               	movwf	4
   146  0043  1383               	bcf	3,7
   147  0044  0800               	movf	0,w
   148  0045  1283               	bcf	3,5
   149  0046  0099               	movwf	25	;volatile
   150                           ;main_s.c: 96: }
   151  0047  2850               	goto	l17
   152  0048                     l18
   153                           ;main_s.c: 98: {
   154  0048  1C98               	btfss	24,1
   155  0049  2850               	goto	l17
   156                           ;main_s.c: 101: receCount = 0;
   157  004A  01A1               	clrf	_receCount^(0+128)	;volatile
   158                           ;main_s.c: 102: checkoutError = 0;
   159  004B  1283               	bcf	3,5
   160  004C  01A5               	clrf	_checkoutError	;volatile
   161                           ;main_s.c: 104: TXIE = 0;
   162  004D  1683               	bsf	3,5
   163  004E  120C               	bcf	12,4
   164                           ;main_s.c: 106: sendCount = 0;
   165  004F  01A2               	clrf	_sendCount^(0+128)	;volatile
   166                           ;main_s.c: 108: }
   167  0050                     l17
   168                           ;main_s.c: 110: }
   169  0050  1283               	bcf	3,5
   170  0051  1303               	bcf	3,6	;carry unused
   171  0052  1E8C               	btfss	12,5
   172  0053  2892               	goto	l21
   173  0054  1683               	bsf	3,5
   174  0055  1E8C               	btfss	12,5
   175  0056  2892               	goto	l21
   176                           ;main_s.c: 138: {
   177  0057  300A               	movlw	10
   178  0058  1283               	bcf	3,5
   179  0059  00A7               	movwf	_receTimeOut	;volatile
   180                           ;main_s.c: 145: if(FERR==1)
   181  005A  1D18               	btfss	24,2
   182  005B  285F               	goto	l22
   183                           ;main_s.c: 146: {
   184  005C  1218               	bcf	24,4
   185                           ;main_s.c: 152: FERR = 0;
   186  005D  1118               	bcf	24,2
   187  005E  2863               	goto	L1
   188                           ;main_s.c: 153: CREN = 1;
   189                           ;main_s.c: 154: tmp = RCREG;
   190                           ;main_s.c: 156: }
   191  005F                     l22
   192  005F  1C98               	btfss	24,1
   193  0060  2867               	goto	l24
   194                           ;main_s.c: 158: {
   195  0061  1218               	bcf	24,4
   196                           ;main_s.c: 167: OERR = 0;
   197  0062  1098               	bcf	24,1
   198  0063                     L1
   199                           ;main_s.c: 168: CREN = 1;
   200  0063  1618               	bsf	24,4
   201                           ;main_s.c: 169: tmp = RCREG;
   202  0064  081A               	movf	26,w	;volatile
   203  0065  00BD               	movwf	?a_isr
   204                           ;main_s.c: 170: }
   205  0066  2892               	goto	l21
   206  0067                     l24
   207                           ;main_s.c: 172: {
   208  0067  3000               	movlw	0
   209  0068  1818               	btfsc	24,0
   210  0069  3001               	movlw	1
   211  006A  1683               	bsf	3,5

⌨️ 快捷键说明

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