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

📄 main.lst

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


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-90508                            Thu Nov  8 13:04:19 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  0000'                    
    30  0000'                    
    31                           
    32                           	psect	text0
    33  0000'                    _test
    34                           ;main.c: 14: LedSLink = 10;
    35  0000' 300A               	movlw	10
    36  0001' 1683               	bsf	3,5
    37  0002' 1303               	bcf	3,6	;carry unused
    38  0003' 0080'              	movwf	_LedSLink^(0+128)
    39                           ;main.c: 15: }
    40  0004' 1283               	bcf	3,5
    41  0005' 0008               	return
    42                           ;main.c: 186: void main(void)
    43                           ;main.c: 187: {
    44  0006'                    _main
    45                           ;main.c: 188: asm("nop");
    46  0006' 0000               	nop	;#
    47                           ;main.c: 189: asm("nop");
    48  0007' 0000               	nop	;#
    49                           ;main.c: 190: asm("nop");
    50  0008' 0000               	nop	;#
    51                           ;main.c: 192: asm("nop");
    52  0009' 0000               	nop	;#
    53                           ;main.c: 193: asm("nop");
    54  000A' 0000               	nop	;#
    55                           ;main.c: 194: asm("nop");
    56  000B' 0000               	nop	;#
    57                           ;main.c: 195: test();
    58  000C' 2000'              	fcall	_test
    59                           ;main.c: 196: sysinit();
    60  000D' 118A' 2000'        	fcall	_sysinit
    61                           ;main.c: 197: GIE = 1;
    62  000F' 178B               	bsf	11,7
    63  0010'                    l28
    64                           ;main.c: 198: while(1)
    65                           ;main.c: 199: {
    66  0010' 0000               	nop	;#
    67                           ;main.c: 201: time_mission();
    68  0011' 118A' 2000'        	fcall	_time_mission
    69                           ;main.c: 202: ReceiveFrameDisFun();
    70  0013' 118A' 2000'        	fcall	_ReceiveFrameDisFun
    71                           ;main.c: 203: asm("nop");
    72  0015' 0000               	nop	;#
    73                           ;main.c: 204: LedDrive();
    74  0016' 118A' 2000' 118A'  	fcall	_LedDrive
    75                           ;main.c: 206: }
    76  0019' 2800'              	goto	l28
    77                           
    78                           	psect	text1
    79  0000'                    _WriteEEPROM
    80                           ;	_p_eedata assigned to ?a_WriteEEPROM+0
    81  0000                     _WriteEEPROM$p_eedata	set	?a_WriteEEPROM
    82                           ;	_var_ii assigned to ?a_WriteEEPROM+1
    83  0000                     _WriteEEPROM$var_ii	set	?a_WriteEEPROM+1
    84                           ;_p_eedata stored from w
    85  0000' 0183               	clrf	3	;select bank 0
    86  0001' 0080'              	movwf	?a_WriteEEPROM
    87                           ;main.c: 22: uchar var_ii;
    88  0002' 138B               	bcf	11,7
    89                           ;main.c: 24: for(var_ii=0;var_ii<length;var_ii+
      +                          +)
    90  0003' 0181'              	clrf	?a_WriteEEPROM+1
    91  0004' 2800'              	goto	l10
    92  0005'                    l7
    93                           ;main.c: 25: {
    94                           ;main.c: 26: EEDATA = *p_eedata++;
    95  0005' 0800'              	movf	?a_WriteEEPROM,w
    96  0006' 0084               	movwf	4
    97  0007' 1383               	bcf	3,7
    98  0008' 0800               	movf	0,w
    99  0009' 1683               	bsf	3,5
   100  000A' 009A               	movwf	26	;volatile
   101  000B' 1283               	bcf	3,5
   102  000C' 0A80'              	incf	?a_WriteEEPROM
   103                           ;main.c: 27: EEADR = addr++;
   104  000D' 0801'              	movf	?_WriteEEPROM+1,w
   105  000E' 1683               	bsf	3,5
   106  000F' 009B               	movwf	27
   107  0010' 1283               	bcf	3,5
   108  0011' 0A81'              	incf	?_WriteEEPROM+1
   109  0012' 0000               	nop	;#
   110  0013' 1683               	bsf	3,5	;#
   111                           ;#
   112  0014' 151C               	bsf	156,2	;#
   113  0015' 138B               	bcf	11,7	;#
   114  0016' 1B8B               	btfsc	11,7	;#
   115  0017' 2800'              	goto	($+-2)	;#
   116  0018' 3055               	movlw	85	;#
   117  0019' 009D               	movwf	157	;#
   118  001A' 30AA               	movlw	170	;#
   119  001B' 009D               	movwf	157	;#
   120  001C' 149C               	bsf	156,1	;#
   121                           ;main.c: 41:  while(WR!=0)
   122  001D'                    l11
   123                           ;main.c: 44: }
   124  001D' 1683               	bsf	3,5
   125  001E' 1C9C               	btfss	28,1
   126  001F' 2800'              	goto	l13
   127                           ;main.c: 42: {
   128  0020' 0000               	nop	;#
   129  0021' 2800'              	goto	l11
   130  0022'                    l13
   131                           ;main.c: 45: }
   132  0022' 1283               	bcf	3,5
   133  0023' 0A81'              	incf	?a_WriteEEPROM+1
   134  0024'                    l10
   135  0024' 0800'              	movf	?_WriteEEPROM,w
   136  0025' 0201'              	subwf	?a_WriteEEPROM+1,w
   137  0026' 1C03               	btfss	3,0
   138  0027' 2800'              	goto	l7
   139                           ;main.c: 46: GIE = 1;
   140  0028' 178B               	bsf	11,7
   141                           ;main.c: 47: }
   142  0029' 0008               	return
   143                           
   144                           	psect	intcode
   145                           ;main.c: 50: void interrupt isr(void) @ 0x04
   146                           ;main.c: 51: {
   147  0000'                    _isr
   148  0000'                    int_func
   149                           ;	_tmp assigned to ?a_isr+0
   150  0000                     _isr$tmp	set	?a_isr
   151                           ;main.c: 52: uchar tmp;
   152  0000' 190B               	btfsc	11,2
   153  0001' 1E8B               	btfss	11,5
   154  0002' 2800'              	goto	l15
   155                           ;main.c: 54: {
   156  0003' 110B               	bcf	11,2
   157                           ;main.c: 56: TMR0 = 0x84;
   158  0004' 3084               	movlw	-124
   159  0005' 1283               	bcf	3,5
   160  0006' 1303               	bcf	3,6	;carry unused
   161  0007' 0081               	movwf	1	;volatile
   162                           ;main.c: 57: timeBase.bits.bt1ms = 1;
   163  0008' 1480'              	bsf	_timeBase,1	;volatile
   164  0009'                    l15
   165                           ;main.c: 58: }
   166  0009' 1283               	bcf	3,5
   167  000A' 1303               	bcf	3,6	;carry unused
   168  000B' 1E0C               	btfss	12,4
   169  000C' 2800'              	goto	l16
   170  000D' 1683               	bsf	3,5
   171  000E' 1E0C               	btfss	12,4
   172  000F' 2800'              	goto	l16
   173                           ;main.c: 80: {
   174  0010' 0800'              	movf	_sendCount^(0+128),w	;volatile
   175  0011' 0200'              	subwf	_sendPosi^(0+128),w	;volatile
   176  0012' 1803               	btfsc	3,0
   177  0013' 2800'              	goto	l17
   178                           ;main.c: 88: {
   179  0014' 0A80'              	incf	_sendPosi^(0+128)	;volatile
   180                           ;main.c: 91: TXREG = sendBuf[sendPosi];
   181  0015' 0800'              	movf	_sendPosi^(0+128),w	;volatile
   182  0016' 3E00'              	addlw	_sendBuf
   183  0017' 0084               	movwf	4
   184  0018' 1383               	bcf	3,7
   185  0019' 0800               	movf	0,w
   186  001A' 1283               	bcf	3,5
   187  001B' 0099               	movwf	25	;volatile
   188                           ;main.c: 92: }
   189  001C' 2800'              	goto	l16
   190  001D'                    l17
   191                           ;main.c: 94: {
   192  001D' 1C98               	btfss	24,1
   193  001E' 2800'              	goto	l16
   194                           ;main.c: 97: receCount = 0;
   195  001F' 0180'              	clrf	_receCount^(0+128)	;volatile
   196                           ;main.c: 98: checkoutError = 0;
   197  0020' 1283               	bcf	3,5
   198  0021' 0180'              	clrf	_checkoutError	;volatile
   199                           ;main.c: 100: TXIE = 0;
   200  0022' 1683               	bsf	3,5
   201  0023' 120C               	bcf	12,4
   202                           ;main.c: 102: sendCount = 0;
   203  0024' 0180'              	clrf	_sendCount^(0+128)	;volatile
   204                           ;main.c: 104: }
   205  0025'                    l16
   206                           ;main.c: 106: }
   207  0025' 1283               	bcf	3,5
   208  0026' 1303               	bcf	3,6	;carry unused
   209  0027' 1E8C               	btfss	12,5

⌨️ 快捷键说明

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