1,4 → 1,4 |
GAS LISTING /tmp/ccQb65z2.s page 1 |
GAS LISTING /tmp/ccZHfAgR.s page 1 |
|
|
1 .file "I2CInterface.c" |
58,7 → 58,7 |
55 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,0 |
56 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,0 |
57 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,0 |
GAS LISTING /tmp/ccQb65z2.s page 2 |
GAS LISTING /tmp/ccZHfAgR.s page 2 |
|
|
58 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,0 |
118,7 → 118,7 |
32:I2CInterface.c **** low-level interface to the I2C hardware resident on the |
33:I2CInterface.c **** mega8 processor (also known as the Two-Wire Interface, |
34:I2CInterface.c **** or TWI). The interface is needed to configure the |
GAS LISTING /tmp/ccQb65z2.s page 3 |
GAS LISTING /tmp/ccZHfAgR.s page 3 |
|
|
35:I2CInterface.c **** needed registers in the OV6620 camera. This interface |
178,7 → 178,7 |
84 /* prologue end (size=0) */ |
86:I2CInterface.c **** TWSR = 0; |
85 .stabn 68,0,86,.LM1-I2CInt_init |
GAS LISTING /tmp/ccQb65z2.s page 4 |
GAS LISTING /tmp/ccZHfAgR.s page 4 |
|
|
86 .LM1: |
238,7 → 238,7 |
117 000e 8823 tst r24 |
118 0010 E4F3 brlt .L5 |
119 .L9: |
GAS LISTING /tmp/ccQb65z2.s page 5 |
GAS LISTING /tmp/ccZHfAgR.s page 5 |
|
|
110:I2CInterface.c **** while(TWCR & (1<<TWSTO)); |
298,7 → 298,7 |
159 .stabs "address:P(0,11)",64,0,137,25 |
160 .stabs "data:P(0,16)",64,0,137,22 |
161 .stabs "bytes:P(0,11)",64,0,137,20 |
GAS LISTING /tmp/ccQb65z2.s page 6 |
GAS LISTING /tmp/ccZHfAgR.s page 6 |
|
|
162 .global I2CInt_readData |
358,7 → 358,7 |
193 0060 1092 0000 sts retry_cnt,__zero_reg__ |
148:I2CInterface.c **** |
149:I2CInterface.c **** /* Generate start condition, the remainder of the transfer is interrupt driven and |
GAS LISTING /tmp/ccQb65z2.s page 7 |
GAS LISTING /tmp/ccZHfAgR.s page 7 |
|
|
150:I2CInterface.c **** will be performed in the background */ |
418,7 → 418,7 |
172:I2CInterface.c **** |
173:I2CInterface.c **** return(retVal); |
174:I2CInterface.c **** } |
GAS LISTING /tmp/ccQb65z2.s page 8 |
GAS LISTING /tmp/ccZHfAgR.s page 8 |
|
|
226 .stabn 68,0,174,.LM24-I2CInt_isI2cBusy |
478,7 → 478,7 |
264 009e BB27 clr r27 |
265 00a0 887F andi r24,lo8(248) |
266 00a2 9070 andi r25,hi8(248) |
GAS LISTING /tmp/ccQb65z2.s page 9 |
GAS LISTING /tmp/ccZHfAgR.s page 9 |
|
|
267 00a4 A070 andi r26,hlo8(248) |
538,7 → 538,7 |
321 0044 00C0 rjmp .L42 |
322 0046 00C0 rjmp .L42 |
323 0048 00C0 rjmp .L42 |
GAS LISTING /tmp/ccQb65z2.s page 10 |
GAS LISTING /tmp/ccZHfAgR.s page 10 |
|
|
324 004a 00C0 rjmp .L42 |
598,7 → 598,7 |
374 00c0 48F0 brlo .L34 |
195:I2CInterface.c **** { |
196:I2CInterface.c **** /* generate stop condition if we've reached our retry limit */ |
GAS LISTING /tmp/ccQb65z2.s page 11 |
GAS LISTING /tmp/ccZHfAgR.s page 11 |
|
|
197:I2CInterface.c **** TWCR |= (1<<TWINT)|(1<<TWSTO); |
658,7 → 658,7 |
414 0100 E093 0000 sts twi_data,r30 |
212:I2CInterface.c **** |
213:I2CInterface.c **** /* clear the int to continue */ |
GAS LISTING /tmp/ccQb65z2.s page 12 |
GAS LISTING /tmp/ccZHfAgR.s page 12 |
|
|
214:I2CInterface.c **** TWCR |= (1<<TWINT); |
718,7 → 718,7 |
452 0142 E093 0000 sts twi_data,r30 |
231:I2CInterface.c **** TWCR |= (1<<TWINT); |
453 .stabn 68,0,231,.LM43-__vector_17 |
GAS LISTING /tmp/ccQb65z2.s page 13 |
GAS LISTING /tmp/ccZHfAgR.s page 13 |
|
|
454 .LM43: |
778,7 → 778,7 |
491 0182 21F0 breq .L38 |
249:I2CInterface.c **** { |
250:I2CInterface.c **** /* if there is more than one byte to read, acknowledge */ |
GAS LISTING /tmp/ccQb65z2.s page 14 |
GAS LISTING /tmp/ccZHfAgR.s page 14 |
|
|
251:I2CInterface.c **** TWCR |= (1<<TWEA)|(1<<TWINT); |
838,7 → 838,7 |
528 01be 806C ori r24,lo8(-64) |
529 01c0 86BF out 86-0x20,r24 |
530 01c2 12C0 rjmp .L42 |
GAS LISTING /tmp/ccQb65z2.s page 15 |
GAS LISTING /tmp/ccZHfAgR.s page 15 |
|
|
531 .L40: |
898,7 → 898,7 |
572 .stabs "",36,0,0,.Lscope4-__vector_17 |
573 .stabd 78,0,0 |
574 .lcomm twi_address,1 |
GAS LISTING /tmp/ccQb65z2.s page 16 |
GAS LISTING /tmp/ccZHfAgR.s page 16 |
|
|
575 .lcomm twi_data,2 |
915,27 → 915,27 |
586 .stabs "",100,0,0,.Letext0 |
587 .Letext0: |
588 /* File "I2CInterface.c": code 336 = 0x0150 ( 310), prologues 11, epilogues 15 */ |
GAS LISTING /tmp/ccQb65z2.s page 17 |
GAS LISTING /tmp/ccZHfAgR.s page 17 |
|
|
DEFINED SYMBOLS |
*ABS*:00000000 I2CInterface.c |
/tmp/ccQb65z2.s:3 *ABS*:0000003f __SREG__ |
/tmp/ccQb65z2.s:4 *ABS*:0000003e __SP_H__ |
/tmp/ccQb65z2.s:5 *ABS*:0000003d __SP_L__ |
/tmp/ccQb65z2.s:6 *ABS*:00000000 __tmp_reg__ |
/tmp/ccQb65z2.s:7 *ABS*:00000001 __zero_reg__ |
/tmp/ccQb65z2.s:79 .text:00000000 I2CInt_init |
/tmp/ccQb65z2.s:106 .text:00000008 I2CInt_writeData |
/tmp/ccQb65z2.s:577 .bss:00000005 status |
/tmp/ccZHfAgR.s:3 *ABS*:0000003f __SREG__ |
/tmp/ccZHfAgR.s:4 *ABS*:0000003e __SP_H__ |
/tmp/ccZHfAgR.s:5 *ABS*:0000003d __SP_L__ |
/tmp/ccZHfAgR.s:6 *ABS*:00000000 __tmp_reg__ |
/tmp/ccZHfAgR.s:7 *ABS*:00000001 __zero_reg__ |
/tmp/ccZHfAgR.s:79 .text:00000000 I2CInt_init |
/tmp/ccZHfAgR.s:106 .text:00000008 I2CInt_writeData |
/tmp/ccZHfAgR.s:577 .bss:00000005 status |
.bss:00000000 twi_address |
/tmp/ccQb65z2.s:574 .bss:00000001 twi_data |
/tmp/ccQb65z2.s:576 .bss:00000004 twi_bytes |
/tmp/ccQb65z2.s:575 .bss:00000003 twi_ddr |
/tmp/ccQb65z2.s:578 .bss:00000006 retry_cnt |
/tmp/ccQb65z2.s:164 .text:00000040 I2CInt_readData |
/tmp/ccQb65z2.s:214 .text:00000074 I2CInt_isI2cBusy |
/tmp/ccQb65z2.s:240 .text:00000082 __vector_17 |
/tmp/ccZHfAgR.s:574 .bss:00000001 twi_data |
/tmp/ccZHfAgR.s:576 .bss:00000004 twi_bytes |
/tmp/ccZHfAgR.s:575 .bss:00000003 twi_ddr |
/tmp/ccZHfAgR.s:578 .bss:00000006 retry_cnt |
/tmp/ccZHfAgR.s:164 .text:00000040 I2CInt_readData |
/tmp/ccZHfAgR.s:214 .text:00000074 I2CInt_isI2cBusy |
/tmp/ccZHfAgR.s:240 .text:00000082 __vector_17 |
|
UNDEFINED SYMBOLS |
__do_copy_data |