?? twi.lst
字號:
264 rjmp .L12
265 00d2 8833 rjmp .L15
266 00d4 01F4 .L29:
267 00d6 00C0 cpi r24,lo8(64)
268 00d8 8933 brne .+2
269 00da 00F4 rjmp .L17
270 00dc 8033 cpi r24,lo8(72)
271 00de 01F0 breq .+2
272 00e0 00C0 rjmp .L12
273 00e2 00C0 rjmp .L15
274 .L26:
275 00e4 8034 cpi r24,lo8(-112)
276 00e6 01F4 brne .+2
277 00e8 00C0 rjmp .L21
278 00ea 8834 cpi r24,lo8(-111)
279 00ec 01F0 brsh .L30
280 00ee 00C0 cpi r24,lo8(96)
281 00f0 00C0 brne .+2
282 rjmp .L20
283 00f2 8039 cpi r24,lo8(97)
284 00f4 01F4 brsh .L31
285 00f6 00C0 cpi r24,lo8(88)
286 00f8 8139 breq .+2
287 00fa 00F4 rjmp .L12
288 00fc 8036 rjmp .L49
289 00fe 01F4 .L31:
290 0100 00C0 cpi r24,lo8(112)
291 0102 8136 brne .+2
292 0104 00F4 rjmp .L20
293 0106 8835 cpi r24,lo8(-128)
294 0108 01F0 breq .+2
295 010a 00C0 rjmp .L12
296 010c 00C0 rjmp .L21
297 .L30:
298 010e 8037 cpi r24,lo8(-88)
299 0110 01F4 brne .+2
300 0112 00C0 rjmp .L23
301 0114 8038 cpi r24,lo8(-87)
302 0116 01F0 brsh .L32
303 0118 00C0 cpi r24,lo8(-96)
304 011a 00C0 breq .+2
305 rjmp .L12
306 011c 883A rjmp .L50
307 011e 01F4 .L32:
308 0120 00C0 cpi r24,lo8(-72)
309 0122 893A brne .+2
310 0124 00F4 rjmp .L24
311 0126 803A cpi r24,lo8(-64)
312 0128 01F0 breq .+2
313 012a 00C0 rjmp .L12
314 012c 00C0 rjmp .L51
315 .L13:
317 0130 01F4 .LM23:
318 0132 00C0 sts string_index.1269,__zero_reg__
319 0134 803C .L14:
321 0138 00C0 .LM24:
322 013a 00C0 lds r25,string_index.1269
323 lds r30,TWI_task_current
91:twi.c **** ed char string_index;
92:twi.c **** switch (TWSR)
93:twi.c **** {
94:twi.c **** case TWI_START:
324 B5
325 .LM25:
326 013c 1092 0000 ldd __tmp_reg__,Z+1
327 ldd r31,Z+2
95:twi.c **** se TWI_REP_START:
96:twi.c **** string_index = 0;
97:twi.c **** case TWI_MTX_ADR_ACK:
328 r30,__tmp_reg__
329 add r30,r25
330 0140 9091 0000 adc r31,__zero_reg__
331 0144 E091 0000 ld r24,Z
332 0148 F091 0000 out 35-32,r24
333 014c 8081 subi r25,lo8(-(1))
334 014e 9817 sts string_index.1269,r25
335 0150 00F4 rjmp .L36
98:twi.c **** ase TWI_MTX_DATA_ACK:
99:twi.c **** if (string_index < TWI_task_current->length)
336 stabn 68,0,128,.LM26-.LFBB5
337 .LM26:
338 0152 0180 lds r30,TWI_task_current
339 0154 F281 lds r31,(TWI_task_current)+1
340 0156 E02D ldd __tmp_reg__,Z+1
341 0158 E90F ldd r31,Z+2
342 015a F11D mov r30,__tmp_reg__
343 015c 8081 lds r24,string_index.1269
344 015e 83B9 add r30,r24
345 0160 9F5F adc r31,__zero_reg__
346 0162 9093 0000 in r25,35-32
347 0166 00C0 st Z,r25
348 subi r24,lo8(-(1))
100:twi.c **** WI_START:
101:twi.c **** case TWI_REP_START:
102:twi.c **** string_index = 0;
103:twi.c **** case TWI_MTX_ADR_ACK:
104:twi.c **** case TWI_MTX_DATA_ACK:
105:twi.c **** if (string_index < TWI_task_current->length)
106:twi.c **** {
107:twi.c **** TWDR = TWI_task_current->string[string_index++];
108:twi.c **** TWCR = (1 << TWEN) |
109:twi.c **** (1 << TWIE) | (1 << TWINT) |
110:twi.c **** (0 << TWEA) | (0 << TWSTA) | (0 << TWSTO) |
111:twi.c **** (0 << TWWC);
112:twi.c **** }
113:twi.c **** else
114:twi.c **** {
115:twi.c **** *TWI_task_current->flag = 0;
116:twi.c **** if (TWI_task_current != TWI_task_last)
117:twi.c **** {
118:twi.c **** TWI_task_current = TWI_task_current->next;
119:twi.c **** TWCR = (1 << TWEN) |
120:twi.c **** (1 << TWIE) | (1 << TWINT) |
121:twi.c **** (0 << TWEA) | (1 << TWSTA) | (0 << TWSTO) |
122:twi.c **** (0 << TWWC);
123:twi.c **** }
124:twi.c **** else
125:twi.c **** {
126:twi.c **** TWI_task_first = TWI_task_last = TWI_task_current =
127:twi.c **** 0;
128:twi.c **** TWCR =
349 ndex.1269,r24
350 .L17:
352 016c F091 0000 .LM27:
353 0170 0180 lds r30,TWI_task_current
354 0172 F281 lds r31,(TWI_task_current)+1
355 0174 E02D ld r24,Z
356 0176 8091 0000 lds r18,string_index.1269
357 017a E80F ldi r19,lo8(0)
358 017c F11D ldi r25,lo8(0)
359 017e 93B1 sbiw r24,1
360 0180 9083 cp r18,r24
361 0182 8F5F cpc r19,r25
362 0184 8093 0000 brge .+2
363 rjmp .L12
129:twi.c **** | (1 << TWINT) | (1 <<
130:twi.c **** TWEA)
364 8,0,139,.LM28-.LFBB5
365 .LM28:
366 0188 E091 0000 ldi r24,lo8(-123)
367 018c F091 0000 rjmp .L44
368 0190 8081 .L49:
370 0196 30E0 .LM29:
371 0198 90E0 lds r30,TWI_task_current
372 019a 0197 lds r31,(TWI_task_current)+1
373 019c 2817 ldd __tmp_reg__,Z+1
374 019e 3907 ldd r31,Z+2
375 01a0 04F4 mov r30,__tmp_reg__
376 01a2 00C0 lds r24,string_index.1269
377 add r30,r24
131:twi.c **** first = TWI_task_last = TWI_task_current =
132:twi.c **** 0;
133:twi.c **** TWCR =
134:twi.c **** (1 << TWEN) | (1 << TWIE) | (1 << TWINT) | (1 <<
135:twi.c **** TWEA)
136:twi.c **** | (0 << TWSTA) | (1 << TWSTO) | (0 << TWWC);
137:twi.c **** }
138:twi.c **** }
139:twi.c **** break;
378 o_reg__
379 in r24,35-32
380 01a4 85E8 st Z,r24
382 .LM30:
140:twi.c **** << TWIE) | (1 << TWINT) | (1 <<
141:twi.c **** TWEA)
142:twi.c **** | (0 << TWSTA) | (1 << TWSTO) | (0 << TWWC);
143:twi.c **** }
144:twi.c **** }
145:twi.c **** break;
146:twi.c **** case TWI_MRX_DATA_ACK:
383 r30,TWI_task_current
384 lds r31,(TWI_task_current)+1
385 01a8 E091 0000 .L47:
386 01ac F091 0000 ldd __tmp_reg__,Z+3
387 01b0 0180 ldd r31,Z+4
388 01b2 F281 mov r30,__tmp_reg__
389 01b4 E02D st Z,__zero_reg__
391 01ba E80F .LM31:
392 01bc F11D lds r30,TWI_task_current
393 01be 83B1 lds r31,(TWI_task_current)+1
394 01c0 8083 lds r24,TWI_task_last
147:twi.c **** (1 <<
395 I_task_last)+1
396 cp r30,r24
397 01c2 E091 0000 cpc r31,r25
398 01c6 F091 0000 breq .L37
400 01ca 0380 .LM32:
401 01cc F481 ldd r24,Z+5
402 01ce E02D ldd r25,Z+6
403 01d0 1082 sts (TWI_task_current)+1,r25
148:twi.c ****
404 task_current,r24
406 01d2 E091 0000 .LM33:
407 01d6 F091 0000 ldi r24,lo8(-91)
408 01da 8091 0000 rjmp .L44
409 01de 9091 0000 .L37:
411 01e4 F907 .LM34:
412 01e6 01F0 sts (TWI_task_current)+1,__zero_reg__
149:twi.c **** CR = (1 << TWEN) |
150:twi.c **** (1 << TWIE) | (1 << TWINT) |
413 task_current,__zero_reg__
414 sts (TWI_task_last)+1,__zero_reg__
415 01e8 8581 sts TWI_task_last,__zero_reg__
416 01ea 9681 sts (TWI_task_first)+1,__zero_reg__
417 01ec 9093 0000 sts TWI_task_first,__zero_reg__
151:twi.c **** task_current != TWI_task_last)
419 ts TWI_task_current,__zero_reg__
420 sts (TWI_task_last)+1,__zero_reg__
421 01f4 85EA sts TWI_task_last,__zero_reg__
422 01f6 00C0 sts (TWI_task_first)+1,__zero_reg__
423 sts TWI_task_first,__zero_reg__
152:twi.c **** < TWSTA) | (0 << TWSTO) |
153:twi.c **** (0 << TWWC);
154:twi.c **** }
155:twi.c **** else
156:twi.c **** {
157:twi.c **** *TWI_task_current->flag = 0;
158:twi.c **** if (TWI_task_current != TWI_task_last)
424 task_current)+1,__zero_reg__
425 sts TWI_task_current,__zero_reg__
426 01f8 1092 0000 sts (TWI_task_last)+1,__zero_reg__
427 01fc 1092 0000 sts TWI_task_last,__zero_reg__
428 0200 1092 0000 sts (TWI_task_first)+1,__zero_reg__
429 0204 1092 0000 sts TWI_task_first,__zero_reg__
431 020c 1092 0000 .LM35:
159:twi.c **** < TWSTA) | (0 << TWSTO) |
432 ,lo8(-43)
433 rjmp .L44
434 0210 85ED .L15:
436 .LM36:
160:twi.c **** = TWI_task_current->string[string_index++];
161:twi.c **** TWCR = (1 << TWEN) |
162:twi.c **** (1 << TWIE) | (1 << TWINT) |
163:twi.c **** (0 << TWEA) | (0 << TWSTA) | (0 << TWSTO) |
164:twi.c **** (0 << TWWC);
165:twi.c **** }
166:twi.c **** else
167:twi.c **** {
168:twi.c **** *TWI_task_current->flag = 0;
169:twi.c **** if (TWI_task_current != TWI_task_last)
170:twi.c **** {
171:twi.c **** TWI_task_current = TWI_task_current->next;
172:twi.c **** TWCR = (1 << TWEN) |
173:twi.c **** (1 << TWIE) | (1 << TWINT) |
174:twi.c **** (0 << TWEA) | (1 << TWSTA) | (0 << TWSTO) |
437 st,__zero_reg__
438 sts (TWI_task_first)+1,__zero_reg__
439 0214 8091 0000 sts TWI_task_first,__zero_reg__
441 021c 9093 0000 .LM35:
442 0220 8093 0000 ldi r24,lo8(-43)
443 0224 00C0 rjmp .L44
444 .L15:
175:twi.c **** _current = TWI_task_current->next;
176:twi.c **** TWCR = (1 << TWEN) |
177:twi.c **** (1 << TWIE) | (1 << TWINT) |
178:twi.c **** (0 << TWEA) | (1 << TWSTA) | (0 << TWSTO) |
179:twi.c **** (0 << TWWC);
180:twi.c **** }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -