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

📄 eeprom.lst

📁 pic单片机工程
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-34349                            Thu Oct 26 15:45:39 2006

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z34349RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text3,local,class=CODE,delta=2
     6                           	psect	strings,global,class=STRING,delta=2
     7                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
     8                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19                           
    20                           	psect	__Z34349RS_
    21  0190                     
    22  0190                     
    23  0000                     _write_eeprom$value	set	?_write_eeprom
    24                           
    25                           	psect	text0
    26  0B90                     _write_eeprom
    27                           ;	_addr assigned to ?a_write_eeprom+0
    28  0000                     _write_eeprom$addr	set	?a_write_eeprom
    29                           ;	_i assigned to ?a_write_eeprom+1
    30  0000                     _write_eeprom$i	set	?a_write_eeprom+1
    31                           ;	_j assigned to ?a_write_eeprom+3
    32  0000                     _write_eeprom$j	set	?a_write_eeprom+3
    33                           ;	_ret assigned to ?a_write_eeprom+5
    34  0000                     _write_eeprom$ret	set	?a_write_eeprom+5
    35                           ;_addr stored from w
    36  0B90  0183               	clrf	3	;select bank 0
    37  0B91  00CA               	movwf	?a_write_eeprom
    38                           ;eeprom.c: 22: int i,j,ret=0;
    39  0B92  01CF               	clrf	?a_write_eeprom+5
    40  0B93  01D0               	clrf	?a_write_eeprom+6
    41                           ;eeprom.c: 23: i=j=50;
    42  0B94  3032               	movlw	50
    43  0B95  00CD               	movwf	?a_write_eeprom+3
    44  0B96  01CE               	clrf	?a_write_eeprom+4
    45  0B97  00CB               	movwf	?a_write_eeprom+1
    46  0B98  084E               	movf	?a_write_eeprom+4,w
    47  0B99  00CC               	movwf	?a_write_eeprom+2
    48  0B9A                     l5
    49                           ;eeprom.c: 24: do{
    50                           ;eeprom.c: 25: eeprom_write(addr, value);
    51  0B9A  0849               	movf	?_write_eeprom,w
    52  0B9B  00D1               	movwf	?_eeprom_write
    53  0B9C  084A               	movf	?a_write_eeprom,w
    54  0B9D  120A  158A  21A0   	fcall	_eeprom_write
      +       120A  158A         
    55                           ;eeprom.c: 26: while(WR){if((i--)==0)break;}
    56  0BA2                     l6
    57  0BA2  1683               	bsf	3,5
    58  0BA3  1703               	bsf	3,6
    59  0BA4  1C8C               	btfss	12,1
    60  0BA5  2BB1               	goto	l8
    61  0BA6  1283               	bcf	3,5
    62  0BA7  1303               	bcf	3,6	;carry unused
    63  0BA8  084B               	movf	?a_write_eeprom+1,w
    64  0BA9  1903               	btfsc	3,2
    65  0BAA  03CC               	decf	?a_write_eeprom+2
    66  0BAB  03CB               	decf	?a_write_eeprom+1
    67  0BAC  0A4B               	incf	?a_write_eeprom+1,w
    68  0BAD  1903               	btfsc	3,2
    69  0BAE  0A4C               	incf	?a_write_eeprom+2,w
    70  0BAF  1D03               	btfss	3,2
    71  0BB0  2BA2               	goto	l6
    72  0BB1                     l8
    73                           ;eeprom.c: 27: if((j--)==0)
    74  0BB1  1283               	bcf	3,5
    75  0BB2  1303               	bcf	3,6	;carry unused
    76  0BB3  084D               	movf	?a_write_eeprom+3,w
    77  0BB4  1903               	btfsc	3,2
    78  0BB5  03CE               	decf	?a_write_eeprom+4
    79  0BB6  03CD               	decf	?a_write_eeprom+3
    80  0BB7  0A4D               	incf	?a_write_eeprom+3,w
    81  0BB8  1903               	btfsc	3,2
    82  0BB9  0A4E               	incf	?a_write_eeprom+4,w
    83  0BBA  1D03               	btfss	3,2
    84  0BBB  2BC0               	goto	l10
    85                           ;eeprom.c: 28: {
    86  0BBC  30FF               	movlw	255
    87  0BBD  00CF               	movwf	?a_write_eeprom+5
    88  0BBE  00D0               	movwf	?a_write_eeprom+6
    89                           ;eeprom.c: 30: break;
    90  0BBF  2BC9               	goto	l4
    91  0BC0                     l10
    92                           ;eeprom.c: 31: }
    93  0BC0  084A               	movf	?a_write_eeprom,w
    94  0BC1  120A  158A  209E   	fcall	_eeprom_read
      +       120A  158A         
    95  0BC6  0649               	xorwf	?_write_eeprom,w
    96  0BC7  1D03               	btfss	3,2
    97  0BC8  2B9A               	goto	l5
    98  0BC9                     l4
    99                           ;eeprom.c: 33: return ret;
   100  0BC9  084F               	movf	?a_write_eeprom+5,w
   101                           ;eeprom.c: 34: }
   102  0BCA  0008               	return
   103  0BCB                     _set_voltrange
   104                           ;eeprom.c: 57: if(write_eeprom(0, (unsigned cha
      +                          r)(max>>8))==-1) return -1;
   105  0BCB  0183               	clrf	3	;select bank 0
   106  0BCC  0846               	movf	?_set_voltrange+1,w
   107  0BCD  00C9               	movwf	?_write_eeprom
   108  0BCE  3000               	movlw	0
   109  0BCF  2390               	fcall	_write_eeprom
   110  0BD0  00F0               	movwf	btemp
   111  0BD1  01F1               	clrf	btemp+1
   112  0BD2  0A70               	incf	btemp,w
   113  0BD3  1903               	btfsc	3,2
   114  0BD4  0A71               	incf	btemp+1,w
   115  0BD5  1903               	btfsc	3,2
   116  0BD6  2C00               	goto	u80
   117                           ;eeprom.c: 58: if(write_eeprom(0+1, (unsigned c
      +                          har)max)==-1)
   118  0BD7  0845               	movf	?_set_voltrange,w
   119  0BD8  00C9               	movwf	?_write_eeprom
   120  0BD9  3001               	movlw	1
   121  0BDA  2390               	fcall	_write_eeprom
   122  0BDB  00F0               	movwf	btemp
   123  0BDC  01F1               	clrf	btemp+1
   124  0BDD  0A70               	incf	btemp,w
   125  0BDE  1903               	btfsc	3,2
   126  0BDF  0A71               	incf	btemp+1,w
   127  0BE0  1903               	btfsc	3,2
   128  0BE1  2C00               	goto	u80
   129                           ;eeprom.c: 59: return -1;
   130                           ;eeprom.c: 61: gMax_Volt = max;
   131  0BE2  0845               	movf	?_set_voltrange,w
   132  0BE3  1683               	bsf	3,5
   133  0BE4  00AB               	movwf	_gMax_Volt^(0+128)
   134  0BE5  1283               	bcf	3,5
   135  0BE6  0846               	movf	?_set_voltrange+1,w
   136  0BE7  1683               	bsf	3,5
   137  0BE8  00AC               	movwf	(_gMax_Volt+1)^(0+128)
   138                           ;eeprom.c: 63: if(write_eeprom(2, (unsigned cha
      +                          r)(min>>8))==-1) return -1;
   139  0BE9  1283               	bcf	3,5
   140  0BEA  0848               	movf	?_set_voltrange+3,w
   141  0BEB  00C9               	movwf	?_write_eeprom
   142  0BEC  3002               	movlw	2
   143  0BED  2390               	fcall	_write_eeprom
   144  0BEE  00F0               	movwf	btemp
   145  0BEF  01F1               	clrf	btemp+1
   146  0BF0  0A70               	incf	btemp,w
   147  0BF1  1903               	btfsc	3,2
   148  0BF2  0A71               	incf	btemp+1,w
   149  0BF3  1903               	btfsc	3,2
   150  0BF4  2C00               	goto	u80
   151                           ;eeprom.c: 64: if(write_eeprom(2+1, (unsigned c
      +                          har)min)==-1)
   152  0BF5  0847               	movf	?_set_voltrange+2,w
   153  0BF6  00C9               	movwf	?_write_eeprom
   154  0BF7  3003               	movlw	3
   155  0BF8  2390               	fcall	_write_eeprom
   156  0BF9  00F0               	movwf	btemp
   157  0BFA  01F1               	clrf	btemp+1
   158  0BFB  0A70               	incf	btemp,w
   159  0BFC  1903               	btfsc	3,2
   160  0BFD  0A71               	incf	btemp+1,w
   161  0BFE  1D03               	btfss	3,2
   162  0BFF  2C02               	goto	l17
   163  0C00                     u80
   164                           ;eeprom.c: 65: return -1;
   165  0C00  30FF               	movlw	-1
   166  0C01  2C0A               	goto	l12
   167  0C02                     l17
   168                           ;eeprom.c: 67: gMin_Volt = min;
   169  0C02  0847               	movf	?_set_voltrange+2,w
   170  0C03  1683               	bsf	3,5
   171  0C04  00AD               	movwf	_gMin_Volt^(0+128)
   172  0C05  1283               	bcf	3,5
   173  0C06  0848               	movf	?_set_voltrange+3,w
   174  0C07  1683               	bsf	3,5
   175  0C08  00AE               	movwf	(_gMin_Volt+1)^(0+128)
   176                           ;eeprom.c: 68: return 0;
   177  0C09  3000               	movlw	0
   178                           ;eeprom.c: 69: }
   179  0C0A                     l12
   180  0C0A  1283               	bcf	3,5
   181  0C0B  0008               	return
   182                           ;eeprom.c: 78: char set_maxtemp(unsigned char t
      +                          emp)
   183                           ;eeprom.c: 79: {
   184  0C0C                     _set_maxtemp
   185                           ;	_temp assigned to ?a_set_maxtemp+0
   186  0000                     _set_maxtemp$temp	set	?a_set_maxtemp
   187                           ;_temp stored from w
   188  0C0C  0183               	clrf	3	;select bank 0
   189  0C0D  00C5               	movwf	?a_set_maxtemp
   190                           ;eeprom.c: 80: if(write_eeprom(4, temp)==-1)
   191  0C0E  00C9               	movwf	?_write_eeprom
   192  0C0F  3004               	movlw	4
   193  0C10  2390               	fcall	_write_eeprom
   194  0C11  00F0               	movwf	btemp
   195  0C12  01F1               	clrf	btemp+1
   196  0C13  0A70               	incf	btemp,w
   197  0C14  1903               	btfsc	3,2
   198  0C15  0A71               	incf	btemp+1,w
   199  0C16  1D03               	btfss	3,2
   200  0C17  2C1A               	goto	l21
   201                           ;eeprom.c: 81: return -1;
   202  0C18  30FF               	movlw	-1
   203  0C19  2C1E               	goto	l20
   204  0C1A                     l21
   205                           ;eeprom.c: 83: gMax_Temp = temp;
   206  0C1A  0845               	movf	?a_set_maxtemp,w
   207  0C1B  1683               	bsf	3,5
   208  0C1C  00AA               	movwf	_gMax_Temp^(0+128)
   209                           ;eeprom.c: 84: return 0;
   210  0C1D  3000               	movlw	0
   211                           ;eeprom.c: 85: }
   212  0C1E                     l20
   213  0C1E  1283               	bcf	3,5
   214  0C1F  0008               	return
   215                           
   216                           	psect	text3
   217                           ;eeprom.c: 72: void get_maxtemp(unsigned char *
      +                          temp)
   218                           ;eeprom.c: 73: {
   219  0C20                     _get_maxtemp
   220                           ;	_temp assigned to ?a_get_maxtemp+0
   221  0000                     _get_maxtemp$temp	set	?a_get_maxtemp
   222                           ;_temp stored from w
   223  0C20  0183               	clrf	3	;select bank 0
   224  0C21  00A5               	movwf	?a_get_maxtemp
   225                           ;eeprom.c: 74: *temp=eeprom_read(4);
   226  0C22  3004               	movlw	4
   227  0C23  120A  158A  209E   	fcall	_eeprom_read
      +       120A  158A         
   228  0C28  00F0               	movwf	btemp
   229  0C29  0825               	movf	?a_get_maxtemp,w
   230  0C2A  0084               	movwf	4

⌨️ 快捷键说明

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