📄 eetest830.lst
字号:
HI-TECH Software PICC-18 Macro Assembler V8.30
Serial number: HCPIC18-88888 Mon Nov 15 10:05:45 2004
Licensed to: ONE TWO
1 processor 18F452
2 opt pw 80
3 psect __Z88888RS_,global,delta=1
4 psect text,global,reloc=2,class=CODE,delta=1
5 psect eeprom_data,global,class=EEDATA,delta=1
6 psect intcode,global,reloc=2,class=CODE,delta=1
7 psect const,global,class=CODE,delta=1
8 psect temp,global,ovrld,common,class=COMRAM,spa
+ ce=1,delta=1
9 psect intsave_regs,global,class=BIGRAM,space=1,
+ delta=1
10 000000
11 000000
12 000000
13 000000
14 000000
15 000000
16 000000
17 000000
18 000000
19 000000
20 000000
21 000000
22 000000
23 000000
24 000000
25 000000
26 000000
27 000000
28 000000
29 000000
30 000000
31 000000
32 000000
33 000000
34 000000
35 000000
36 000000
37 000000
38 000000
39 000000
40 000000
41 000000
42 000000
43 000000
44 000000
45 000000
46 000000
47 000000
48 000000
49 000000
50 000000
51 000000
52 000000
53 000000
54 000000
55 000000
56 000000
57 000000
58 000000
59 000000
60 000000
61 000000
62 000000
63 000000
64 000000
65 000000
66 000000
67 000000
68 000000
69 000000
70 000000
71 000000
72 000000
73 000000
74 000000
75 000000
76 000000
77 000000
78 000000
79 000000
80 000000
81 000000
82 000000
83 000000
84 000000
85 000000
86 000000
87 000000
88 000000
89 000000
90 000000
91 000000
92 000000
93 000000
94 000000
95 000000
96 000000
97 000000
98 000000
99
100 psect __Z88888RS_
101 000004
102 000004 ;#
103
104 psect text
105 00002A _main:
106 ; _data assigned to ?a_main+1
107 000000 _main$data set ?a_main+1
108 ; _eeprom_size assigned to ?a_main+0
109 000000 _main$eeprom_size set ?a_main
110 00002A FFFF dw 65535
111 000000
112 ;eetest.c: 34: volatile unsigned char data=0;
113 00002C 0100 movlb __Lparam shr (0+8)
114 00002E 6BE5 clrf (?a_main+1)^(__Lparam& (0+65280)) ;volatil
+ e
115 ;eetest.c: 35: unsigned char eeprom_size;
116 000030 69E4 setf ?a_main^(__Lparam& (0+65280))
117 ;eetest.c: 39: init();
118 000032 D850 call _init ;wreg free
119 ;eetest.c: 40: while(1)
120 000034 l4:
121 ;eetest.c: 41: {
122 000034 A09E btfss 3998,0,c ;volatile
123 000036 D7FE goto l4
124 ;eetest.c: 43: {
125 000038 909E bcf 3998,0,c ;volatile
126 ;eetest.c: 46: RC5=(RC5^1);
127 00003A 7A82 btg 3970,5,c ;volatile
128 ;eetest.c: 48: printf("\rAddress %x was ",EEADR)
+ ;
129 00003C 0100 movlb __Lparam shr (0+8)
130 00003E 0E00 movlw low u19
131 000040 6FF0 movwf (?_printf+2)^(__Lparam& (0+65280))
132 000042 0E06 movlw high u19
133 000044 6FF1 movwf (?_printf+3)^(__Lparam& (0+65280))
134 000046 CFA9 F000 movff 4009,btemp ;volatile
135 00004A 6A01 clrf btemp+1
136 00004C C000 F0E6 movff btemp,?a_main+2
137 000050 C001 F0E7 movff btemp+1,?a_main+3
138 000054 0EE6 movlw low (?a_main+2)
139 000056 CFE8 F0EE movff wreg,?_printf
140 00005A 0E00 movlw high (?a_main+2)
141 00005C CFE8 F0EF movff wreg,?_printf+1
142 000060 EC08 F001 call _printf ;wreg free
143 ;eetest.c: 49: if(RA4)
144 000064 A880 btfss 3968,4,c ;volatile
145 000066 D017 goto l7
146 ;eetest.c: 50: {
147 000068 D85B call _read ;wreg free
148 00006A 0100 movlb __Lparam shr (0+8)
149 00006C 6FE5 movwf (?a_main+1)^(__Lparam& (0+65280)) ;volati
+ le
150 ;eetest.c: 52: printf("read, value = %x. ",data)
+ ;
151 00006E 0E11 movlw low u29
152 000070 6FF0 movwf (?_printf+2)^(__Lparam& (0+65280))
153 000072 0E06 movlw high u29
154 000074 6FF1 movwf (?_printf+3)^(__Lparam& (0+65280))
155 000076 C0E5 F000 movff ?a_main+1,btemp ;volatile
156 00007A 6A01 clrf btemp+1
157 00007C C000 F0E6 movff btemp,?a_main+2
158 000080 C001 F0E7 movff btemp+1,?a_main+3
159 000084 0EE6 movlw low (?a_main+2)
160 000086 CFE8 F0EE movff wreg,?_printf
161 00008A 0E00 movlw high (?a_main+2)
162 00008C CFE8 F0EF movff wreg,?_printf+1
163 000090 EC08 F001 call _printf ;wreg free
164 ;eetest.c: 53: }
165 000094 D017 goto l8
166 000096 l7:
167 ;eetest.c: 55: {
168 000096 5083 movf 3971,w,c ;volatile
169 000098 6EA8 movwf 4008,c ;volatile
170 ;eetest.c: 57: write();
171 00009A D832 call _write ;wreg free
172 ;eetest.c: 58: printf("written with %x. ",EEDAT
+ A);
173 00009C 0100 movlb __Lparam shr (0+8)
174 00009E 0E24 movlw low u39
175 0000A0 6FF0 movwf (?_printf+2)^(__Lparam& (0+65280))
176 0000A2 0E06 movlw high u39
177 0000A4 6FF1 movwf (?_printf+3)^(__Lparam& (0+65280))
178 0000A6 CFA8 F000 movff 4008,btemp ;volatile
179 0000AA 6A01 clrf btemp+1
180 0000AC C000 F0E6 movff btemp,?a_main+2
181 0000B0 C001 F0E7 movff btemp+1,?a_main+3
182 0000B4 0EE6 movlw low (?a_main+2)
183 0000B6 CFE8 F0EE movff wreg,?_printf
184 0000BA 0E00 movlw high (?a_main+2)
185 0000BC CFE8 F0EF movff wreg,?_printf+1
186 0000C0 EC08 F001 call _printf ;wreg free
187 0000C4 l8:
188 ;eetest.c: 59: }
189 ;eetest.c: 61: if(EEADR == eeprom_size)
190 0000C4 0100 movlb __Lparam shr (0+8)
191 0000C6 51E4 movf ?a_main^(__Lparam& (0+65280)),w
192 0000C8 62A9 cpfseq 4009,c ;volatile
193 0000CA D002 goto l9
194 ;eetest.c: 62: EEADR=0;
195 0000CC 6AA9 clrf 4009,c ;volatile
196 ;eetest.c: 63: else
197 0000CE D7B2 goto l4
198 0000D0 l9:
199 ;eetest.c: 64: EEADR++;
200 0000D0 2AA9 incf 4009,f,c ;volatile
201 ;eetest.c: 65: }
202 0000D2 D7B0 goto l4
203 ;eetest.c: 69: void init (void)
204 ;eetest.c: 70: {
205 0000D4 _init:
206 0000D4 FFFF dw 65535
207 0000D6 f4492:
208 000000
209 ;eetest.c: 71: T1CON=0x91;
210 0000D6 0E91 movlw 145
211 0000D8 6ECD movwf 4045,c
212 ;eetest.c: 72: TMR1IE=0;
213 0000DA 909D bcf 3997,0,c
214 ;eetest.c: 73: TMR1IF=0;
215 0000DC 909E bcf 3998,0,c ;volatile
216 ;eetest.c: 75: TRISA=0x10;
217 0000DE 0E10 movlw 16
218 0000E0 6E92 movwf 3986,c ;volatile
219 ;eetest.c: 76: TRISB=0xFF;
220 0000E2 6893 setf 3987,c ;volatile
221 ;eetest.c: 77: TRISC=0x0F;
222 0000E4 0E0F movlw 15
223 0000E6 6E94 movwf 3988,c ;volatile
224 ;eetest.c: 78: TRISD=0xFF;
225 0000E8 6895 setf 3989,c ;volatile
226 ;eetest.c: 80: RBIE=1;
227 0000EA 86F2 bsf intcon,3,c
228 ;eetest.c: 82: RBIF=0;
229 0000EC 90F2 bcf intcon,0,c ;volatile
230 ;eetest.c: 83: GIE=1;
231 0000EE 8EF2 bsf intcon,7,c
232 ;eetest.c: 84: IPEN=0;
233 0000F0 9ED0 bcf 4048,7,c
234 ;eetest.c: 86: SPEN=1;
235 0000F2 8EAB bsf 4011,7,c
236 ;eetest.c: 87: TXEN=1;
237 0000F4 8AAC bsf 4012,5,c
238 ;eetest.c: 88: TXIE=0;
239 0000F6 989D bcf 3997,4,c
240 ;eetest.c: 90: EEADR=0;
241 0000F8 6AA9 clrf 4009,c ;volatile
242 ;eetest.c: 91: }
243 0000FA 0012 return
244 0000FC FFFF dw 65535
245 0000FE D7EB goto f4492
246 ;eetest.c: 93: void write(void)
247 ;eetest.c: 94: {
248 000100 _write:
249 000100 FFFF dw 65535
250 000102 f4502:
251 000000
252 ;eetest.c: 95: GIE=0;
253 000102 9EF2 bcf intcon,7,c
254 ;eetest.c: 96: WREN=1;
255 000104 84A6 bsf 4006,2,c ;volatile
256 ;eetest.c: 97: EECON2=0x55;
257 000106 0E55 movlw 85
258 000108 6EA7 movwf 4007,c ;volatile
259 ;eetest.c: 98: EECON2=0xAA;
260 00010A 0EAA movlw 170
261 00010C 6EA7 movwf 4007,c ;volatile
262 ;eetest.c: 99: WR=1;
263 00010E 82A6 bsf 4006,1,c ;volatile
264 ;eetest.c: 100: while(WR)continue;
265 000110 l14:
266 000110 B2A6 btfsc 4006,1,c ;volatile
267 000112 D7FE goto l14
268 ;eetest.c: 101: EEIF=0;
269 000114 98A1 bcf 4001,4,c ;volatile
270 ;eetest.c: 102: WREN=0;
271 000116 94A6 bcf 4006,2,c ;volatile
272 ;eetest.c: 103: GIE=1;
273 000118 8EF2 bsf intcon,7,c
274 ;eetest.c: 104: }
275 00011A 0012 return
276 00011C FFFF dw 65535
277 00011E D7F1 goto f4502
278 ;eetest.c: 106: unsigned char read(void)
279 ;eetest.c: 107: {
280 000120 _read:
281 000120 FFFF dw 65535
282 000122 f4512:
283 000000
284 ;eetest.c: 108: unsigned char eeprom_data;
285 000122 9EF2 bcf intcon,7,c
286 ;eetest.c: 111: RD=1;
287 000124 80A6 bsf 4006,0,c ;volatile
288 ;eetest.c: 112: eeprom_data=EEDATA;
289 000126 50A8 movf 4008,w,c ;volatile
290 000128 6ED9 movwf fsr2l,c
291 ;eetest.c: 113: GIE=1;
292 00012A 8EF2 bsf intcon,7,c
293 ;eetest.c: 114: return eeprom_data;
294 00012C 50D9 movf fsr2l,w,c
295 ;eetest.c: 115: }
296 00012E 0012 return
297 000130 FFFF dw 65535
298 000132 D7F7 goto f4512
299 ;eetest.c: 117: void putch(unsigned char c)
300 ;eetest.c: 118: {
301 000134 _putch:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -