📄 eeprom.lst
字号:
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 + -