1 .file "twi.cpp" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __tmp_reg__ = 0 6 __zero_reg__ = 1 7 .global __do_copy_data 8 .global __do_clear_bss 16 .Ltext0: 17 .global _ZN3TWI4InitEPvS0_ 19 _ZN3TWI4InitEPvS0_: 20 .LFB3: 21 .LM1: 22 .LVL0: 23 /* prologue: function */ 24 /* frame size = 0 */ 25 .LM2: 26 0000 8091 0000 lds r24,_ZN3TWI10slave_addrE 27 .LVL1: 28 0004 880F lsl r24 29 0006 8160 ori r24,lo8(1) 30 0008 8093 7200 sts 114,r24 31 .LM3: 32 000c 80E4 ldi r24,lo8(64) 33 000e 8093 7000 sts 112,r24 34 .LM4: 35 0012 E1E7 ldi r30,lo8(113) 36 0014 F0E0 ldi r31,hi8(113) 37 0016 8081 ld r24,Z 38 0018 8C7F andi r24,lo8(-4) 39 001a 8083 st Z,r24 40 .LM5: 41 001c 9FEF ldi r25,lo8(-1) 42 001e 9093 7300 sts 115,r25 43 .LM6: 44 0022 85ED ldi r24,lo8(-43) 45 0024 8093 7400 sts 116,r24 46 .LM7: 47 0028 81E0 ldi r24,lo8(1) 48 002a 8093 0000 sts _ZN3TWI12current_modeE,r24 49 .LM8: 50 002e 1092 0000 sts _ZN3TWI15in_cur_data_ptrE,__zero_reg__ 51 .LM9: 52 0032 9093 0000 sts _ZN3TWI7tmp_crcE,r25 53 .LM10: 54 0036 1092 0000 sts _ZN3TWI9in_packetE+19,__zero_reg__ 55 /* epilogue start */ 56 .LM11: 57 003a 0895 ret 58 .LFE3: 60 .global __vector_33 62 __vector_33: 63 .LFB6: 64 .LM12: 65 003c 1F92 push __zero_reg__ 66 003e 0F92 push r0 67 0040 0FB6 in r0,__SREG__ 68 0042 0F92 push r0 69 0044 0BB6 in r0,91-0x20 70 0046 0F92 push r0 71 0048 1124 clr __zero_reg__ 72 004a EF92 push r14 73 004c 0F93 push r16 74 004e 1F93 push r17 75 0050 2F93 push r18 76 0052 3F93 push r19 77 0054 4F93 push r20 78 0056 5F93 push r21 79 0058 6F93 push r22 80 005a 7F93 push r23 81 005c 8F93 push r24 82 005e 9F93 push r25 83 0060 AF93 push r26 84 0062 BF93 push r27 85 0064 EF93 push r30 86 0066 FF93 push r31 87 /* prologue: Signal */ 88 /* frame size = 0 */ 89 .LM13: 90 0068 8091 0000 lds r24,_ZN3TWI12current_modeE 91 006c 817C andi r24,lo8(-63) 92 006e 01F4 brne .+2 93 0070 00C0 rjmp .L4 94 .LM14: 95 0072 8091 7100 lds r24,113 96 0076 90E0 ldi r25,lo8(0) 97 0078 887F andi r24,lo8(248) 98 007a 9070 andi r25,hi8(248) 99 007c 8038 cpi r24,128 100 007e 9105 cpc r25,__zero_reg__ 101 0080 01F0 breq .L8 102 0082 8138 cpi r24,129 103 0084 9105 cpc r25,__zero_reg__ 104 0086 04F4 brge .L11 105 0088 8836 cpi r24,104 106 008a 9105 cpc r25,__zero_reg__ 107 008c 01F4 brne .+2 108 008e 00C0 rjmp .L7 109 0090 8936 cpi r24,105 110 0092 9105 cpc r25,__zero_reg__ 111 0094 04F4 brge .L12 112 0096 8036 cpi r24,96 113 0098 9105 cpc r25,__zero_reg__ 114 009a 01F0 breq .+2 115 009c 00C0 rjmp .L5 116 009e 00C0 rjmp .L6 117 .L12: 118 00a0 8037 cpi r24,112 119 00a2 9105 cpc r25,__zero_reg__ 120 00a4 01F4 brne .+2 121 00a6 00C0 rjmp .L6 122 00a8 8837 cpi r24,120 123 00aa 9105 cpc r25,__zero_reg__ 124 00ac 01F0 breq .+2 125 00ae 00C0 rjmp .L5 126 00b0 00C0 rjmp .L7 127 .L11: 128 00b2 8039 cpi r24,144 129 00b4 9105 cpc r25,__zero_reg__ 130 00b6 01F0 breq .L8 131 00b8 8139 cpi r24,145 132 00ba 9105 cpc r25,__zero_reg__ 133 00bc 04F4 brge .L13 134 00be 8838 cpi r24,136 135 00c0 9105 cpc r25,__zero_reg__ 136 00c2 01F0 breq .+2 137 00c4 00C0 rjmp .L5 138 00c6 00C0 rjmp .L9 139 .L13: 140 00c8 8839 cpi r24,152 141 00ca 9105 cpc r25,__zero_reg__ 142 00cc 01F4 brne .+2 143 00ce 00C0 rjmp .L9 144 00d0 803A cpi r24,160 145 00d2 9105 cpc r25,__zero_reg__ 146 00d4 01F0 breq .+2 147 00d6 00C0 rjmp .L5 148 00d8 00C0 rjmp .L42 149 .L8: 150 .LM15: 151 00da 8091 0000 lds r24,_ZN3TWI12current_modeE 152 00de 8034 cpi r24,lo8(64) 153 00e0 01F4 brne .L14 154 .LM16: 155 00e2 8091 7300 lds r24,115 156 00e6 8093 0000 sts _ZN3TWI9in_packetE+1,r24 157 .LM17: 158 00ea 8FEF ldi r24,lo8(-1) 159 00ec 8093 0000 sts _ZN3TWI7tmp_crcE,r24 160 .LM18: 161 00f0 80E8 ldi r24,lo8(-128) 162 00f2 8093 0000 sts _ZN3TWI12current_modeE,r24 163 .LM19: 164 00f6 1092 0000 sts _ZN3TWI15in_cur_data_ptrE,__zero_reg__ 165 00fa 00C0 rjmp .L42 166 .L14: 167 .LM20: 168 00fc 8091 0000 lds r24,_ZN3TWI12current_modeE 169 0100 8038 cpi r24,lo8(-128) 170 0102 01F0 breq .+2 171 0104 00C0 rjmp .L42 172 .LM21: 173 0106 9091 0000 lds r25,_ZN3TWI15in_cur_data_ptrE 174 010a 8091 0000 lds r24,_ZN3TWI9in_packetE+1 175 010e 9817 cp r25,r24 176 0110 00F4 brsh .L16 177 .LM22: 178 0112 8091 0000 lds r24,_ZN3TWI15in_cur_data_ptrE 179 0116 E82F mov r30,r24 180 0118 F0E0 ldi r31,lo8(0) 181 011a 9091 7300 lds r25,115 182 011e E050 subi r30,lo8(-(_ZN3TWI9in_packetE)) 183 0120 F040 sbci r31,hi8(-(_ZN3TWI9in_packetE)) 184 0122 9283 std Z+2,r25 185 0124 8F5F subi r24,lo8(-(1)) 186 0126 8093 0000 sts _ZN3TWI15in_cur_data_ptrE,r24 187 .LM23: 188 012a 9091 0000 lds r25,_ZN3TWI7tmp_crcE 189 012e 8091 7300 lds r24,115 190 0132 8927 eor r24,r25 191 0134 8093 0000 sts _ZN3TWI7tmp_crcE,r24 192 0138 00C0 rjmp .L42 193 .L16: 194 .LM24: 195 013a 8091 0000 lds r24,_ZN3TWI15in_cur_data_ptrE 196 013e 8031 cpi r24,lo8(16) 197 0140 01F4 brne .L17 198 .LM25: 199 0142 8091 7300 lds r24,115 200 0146 8093 0000 sts _ZN3TWI9in_packetE+18,r24 201 .LM26: 202 014a 9091 0000 lds r25,_ZN3TWI7tmp_crcE 203 014e 8091 0000 lds r24,_ZN3TWI9in_packetE+18 204 0152 9817 cp r25,r24 205 0154 01F0 breq .L18 206 .LM27: 207 0156 81E0 ldi r24,lo8(1) 208 0158 00C0 rjmp .L38 209 .L18: 210 .LM28: 211 015a 82E0 ldi r24,lo8(2) 212 .L38: 213 015c 8093 0000 sts _ZN3TWI9in_packetE+19,r24 214 .LM29: 215 0160 EE24 clr r14 216 0162 00E0 ldi r16,lo8(0) 217 0164 10E0 ldi r17,hi8(0) 218 0166 20E0 ldi r18,lo8(0) 219 0168 40E0 ldi r20,lo8(0) 220 016a 50E0 ldi r21,hi8(0) 221 016c 60E0 ldi r22,lo8(_ZN3TWI9in_packetE) 222 016e 70E0 ldi r23,hi8(_ZN3TWI9in_packetE) 223 0170 80E0 ldi r24,lo8(pm(_Z11Twi_ReceivePvS_)) 224 0172 90E0 ldi r25,hi8(pm(_Z11Twi_ReceivePvS_)) 225 0174 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 226 0178 00C0 rjmp .L9 227 .L17: 228 .LM30: 229 017a 8091 0000 lds r24,_ZN3TWI15in_cur_data_ptrE 230 017e 8F5F subi r24,lo8(-(1)) 231 0180 8093 0000 sts _ZN3TWI15in_cur_data_ptrE,r24 232 0184 00C0 rjmp .L42 233 .L7: 234 .LM31: 235 0186 8091 0000 lds r24,_ZN3TWI9lost_arbsE 236 018a 8F5F subi r24,lo8(-(1)) 237 018c 8093 0000 sts _ZN3TWI9lost_arbsE,r24 238 .LM32: 239 0190 8091 0000 lds r24,_ZN3TWI10numRetriesE 240 0194 8A30 cpi r24,lo8(10) 241 0196 00F4 brsh .L6 242 .LM33: 243 0198 22E3 ldi r18,lo8(50) 244 019a E22E mov r14,r18 245 019c 02E3 ldi r16,lo8(50) 246 019e 10E0 ldi r17,hi8(50) 247 01a0 20E0 ldi r18,lo8(0) 248 01a2 40E0 ldi r20,lo8(0) 249 01a4 50E0 ldi r21,hi8(0) 250 01a6 60E0 ldi r22,lo8(0) 251 01a8 70E0 ldi r23,hi8(0) 252 01aa 80E0 ldi r24,lo8(pm(_ZN3TWI6ReSendEPvS0_)) 253 01ac 90E0 ldi r25,hi8(pm(_ZN3TWI6ReSendEPvS0_)) 254 01ae 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 255 .L6: 256 .LM34: 257 01b2 8091 7300 lds r24,115 258 01b6 8093 0000 sts _ZN3TWI9in_packetE,r24 259 .LM35: 260 01ba 1092 0000 sts _ZN3TWI9in_packetE+19,__zero_reg__ 261 .LM36: 262 01be 1092 0000 sts _ZN3TWI15in_cur_data_ptrE,__zero_reg__ 263 .LM37: 264 01c2 85EC ldi r24,lo8(-59) 265 01c4 8093 7400 sts 116,r24 266 .LM38: 267 01c8 80E4 ldi r24,lo8(64) 268 01ca 00C0 rjmp .L41 269 .L9: 270 .LM39: 271 01cc 81E0 ldi r24,lo8(1) 272 01ce 8093 0000 sts _ZN3TWI12current_modeE,r24 273 .L42: 274 .LM40: 275 01d2 85EC ldi r24,lo8(-59) 276 01d4 00C0 rjmp .L39 277 .L5: 278 .LM41: 279 01d6 85E4 ldi r24,lo8(69) 280 01d8 00C0 rjmp .L39 281 .L4: 282 .LM42: 283 01da 8091 7100 lds r24,113 284 01de 90E0 ldi r25,lo8(0) 285 01e0 887F andi r24,lo8(248) 286 01e2 9070 andi r25,hi8(248) 287 01e4 8032 cpi r24,32 288 01e6 9105 cpc r25,__zero_reg__ 289 01e8 01F4 brne .+2 290 01ea 00C0 rjmp .L24 291 01ec 8132 cpi r24,33 292 01ee 9105 cpc r25,__zero_reg__ 293 01f0 04F4 brge .L28 294 01f2 8031 cpi r24,16 295 01f4 9105 cpc r25,__zero_reg__ 296 01f6 01F0 breq .L22 297 01f8 8831 cpi r24,24 298 01fa 9105 cpc r25,__zero_reg__ 299 01fc 01F0 breq .L23 300 01fe 0897 sbiw r24,8 301 0200 01F0 breq .+2 302 0202 00C0 rjmp .L21 303 0204 00C0 rjmp .L22 304 .L28: 305 0206 8033 cpi r24,48 306 0208 9105 cpc r25,__zero_reg__ 307 020a 01F4 brne .+2 308 020c 00C0 rjmp .L26 309 020e 8833 cpi r24,56 310 0210 9105 cpc r25,__zero_reg__ 311 0212 01F4 brne .+2 312 0214 00C0 rjmp .L27 313 0216 8897 sbiw r24,40 314 0218 01F0 breq .+2 315 021a 00C0 rjmp .L21 316 021c 00C0 rjmp .L46 317 .L22: 318 .LM43: 319 021e 8091 0000 lds r24,_ZN3TWI10out_packetE 320 0222 8093 7300 sts 115,r24 321 .LM44: 322 0226 85E8 ldi r24,lo8(-123) 323 0228 8093 7400 sts 116,r24 324 .LM45: 325 022c 88E0 ldi r24,lo8(8) 326 022e 00C0 rjmp .L41 327 .L23: 328 .LM46: 329 0230 1092 0000 sts _ZN3TWI16out_cur_data_ptrE,__zero_reg__ 330 .LM47: 331 0234 8091 0000 lds r24,_ZN3TWI10out_packetE+1 332 0238 8093 7300 sts 115,r24 333 023c 00C0 rjmp .L40 334 .L46: 335 .LM48: 336 023e 8091 0000 lds r24,_ZN3TWI16out_cur_data_ptrE 337 0242 8131 cpi r24,lo8(17) 338 0244 01F4 brne .L29 339 .LM49: 340 0246 85E9 ldi r24,lo8(-107) 341 0248 8093 7400 sts 116,r24 342 .LM50: 343 024c 80E2 ldi r24,lo8(32) 344 024e 8093 0000 sts _ZN3TWI12current_modeE,r24 345 .LM51: 346 0252 1092 0000 sts _ZN3TWI10numRetriesE,__zero_reg__ 347 .LM52: 348 0256 8091 0000 lds r24,_ZN3TWI14num_packs_sentE 349 025a 9091 0000 lds r25,(_ZN3TWI14num_packs_sentE)+1 350 025e 0196 adiw r24,1 351 0260 9093 0000 sts (_ZN3TWI14num_packs_sentE)+1,r25 352 0264 8093 0000 sts _ZN3TWI14num_packs_sentE,r24 353 .LM53: 354 0268 60E0 ldi r22,lo8(0) 355 026a 70E0 ldi r23,hi8(0) 356 026c 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 357 026e 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 358 0270 0E94 0000 call _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej 359 0274 00C0 rjmp .L37 360 .L29: 361 .LM54: 362 0276 9091 0000 lds r25,_ZN3TWI16out_cur_data_ptrE 363 027a 8091 0000 lds r24,_ZN3TWI10out_packetE+1 364 027e 9817 cp r25,r24 365 0280 00F0 brlo .L30 366 .LM55: 367 0282 8091 0000 lds r24,_ZN3TWI10out_packetE+18 368 0286 8093 7300 sts 115,r24 369 .LM56: 370 028a 8091 0000 lds r24,_ZN3TWI16out_cur_data_ptrE 371 028e 8F5F subi r24,lo8(-(1)) 372 0290 8093 0000 sts _ZN3TWI16out_cur_data_ptrE,r24 373 0294 00C0 rjmp .L40 374 .L30: 375 .LM57: 376 0296 9091 0000 lds r25,_ZN3TWI16out_cur_data_ptrE 377 029a E92F mov r30,r25 378 029c F0E0 ldi r31,lo8(0) 379 029e E050 subi r30,lo8(-(_ZN3TWI10out_packetE)) 380 02a0 F040 sbci r31,hi8(-(_ZN3TWI10out_packetE)) 381 02a2 8281 ldd r24,Z+2 382 02a4 8093 7300 sts 115,r24 383 02a8 9F5F subi r25,lo8(-(1)) 384 02aa 9093 0000 sts _ZN3TWI16out_cur_data_ptrE,r25 385 .L40: 386 .LM58: 387 02ae 85E8 ldi r24,lo8(-123) 388 02b0 8093 7400 sts 116,r24 389 .LM59: 390 02b4 80E1 ldi r24,lo8(16) 391 .L41: 392 02b6 8093 0000 sts _ZN3TWI12current_modeE,r24 393 02ba 00C0 rjmp .L37 394 .L26: 395 .LM60: 396 02bc 8091 0000 lds r24,_ZN3TWI9lost_arbsE 397 02c0 8F5F subi r24,lo8(-(1)) 398 02c2 8093 0000 sts _ZN3TWI9lost_arbsE,r24 399 02c6 00C0 rjmp .L45 400 .L27: 401 .LM61: 402 02c8 8091 0000 lds r24,_ZN3TWI9lost_arbsE 403 02cc 8F5F subi r24,lo8(-(1)) 404 02ce 8093 0000 sts _ZN3TWI9lost_arbsE,r24 405 .LM62: 406 02d2 60E0 ldi r22,lo8(0) 407 02d4 70E0 ldi r23,hi8(0) 408 02d6 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 409 02d8 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 410 02da 0E94 0000 call _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej 411 .LM63: 412 02de 8091 0000 lds r24,_ZN3TWI10numRetriesE 413 02e2 8A30 cpi r24,lo8(10) 414 02e4 00F4 brsh .L33 415 .LM64: 416 02e6 92E3 ldi r25,lo8(50) 417 02e8 E92E mov r14,r25 418 02ea 02E3 ldi r16,lo8(50) 419 02ec 10E0 ldi r17,hi8(50) 420 02ee 20E0 ldi r18,lo8(0) 421 02f0 40E0 ldi r20,lo8(0) 422 02f2 50E0 ldi r21,hi8(0) 423 02f4 60E0 ldi r22,lo8(0) 424 02f6 70E0 ldi r23,hi8(0) 425 02f8 80E0 ldi r24,lo8(pm(_ZN3TWI6ReSendEPvS0_)) 426 02fa 90E0 ldi r25,hi8(pm(_ZN3TWI6ReSendEPvS0_)) 427 02fc 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 428 0300 00C0 rjmp .L34 429 .L33: 430 .LM65: 431 0302 88E2 ldi r24,lo8(40) 432 0304 8093 0000 sts _ZN3TWI12current_modeE,r24 433 .L34: 434 .LM66: 435 0308 85E8 ldi r24,lo8(-123) 436 030a 00C0 rjmp .L39 437 .L24: 438 .LM67: 439 030c 8091 0000 lds r24,_ZN3TWI11slave_nacksE 440 0310 8F5F subi r24,lo8(-(1)) 441 0312 8093 0000 sts _ZN3TWI11slave_nacksE,r24 442 .L45: 443 .LM68: 444 0316 60E0 ldi r22,lo8(0) 445 0318 70E0 ldi r23,hi8(0) 446 031a 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 447 031c 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 448 031e 0E94 0000 call _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej 449 .LM69: 450 0322 8091 0000 lds r24,_ZN3TWI10numRetriesE 451 0326 8A30 cpi r24,lo8(10) 452 0328 00F4 brsh .L35 453 .LM70: 454 032a 82E3 ldi r24,lo8(50) 455 032c E82E mov r14,r24 456 032e 02E3 ldi r16,lo8(50) 457 0330 10E0 ldi r17,hi8(50) 458 0332 20E0 ldi r18,lo8(0) 459 0334 40E0 ldi r20,lo8(0) 460 0336 50E0 ldi r21,hi8(0) 461 0338 60E0 ldi r22,lo8(0) 462 033a 70E0 ldi r23,hi8(0) 463 033c 80E0 ldi r24,lo8(pm(_ZN3TWI6ReSendEPvS0_)) 464 033e 90E0 ldi r25,hi8(pm(_ZN3TWI6ReSendEPvS0_)) 465 0340 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 466 0344 00C0 rjmp .L36 467 .L35: 468 .LM71: 469 0346 88E2 ldi r24,lo8(40) 470 0348 8093 0000 sts _ZN3TWI12current_modeE,r24 471 .L36: 472 .LM72: 473 034c 85E9 ldi r24,lo8(-107) 474 034e 00C0 rjmp .L39 475 .L21: 476 .LM73: 477 0350 84E0 ldi r24,lo8(4) 478 0352 8093 0000 sts _ZN3TWI12current_modeE,r24 479 .LM74: 480 0356 85E0 ldi r24,lo8(5) 481 .L39: 482 0358 8093 7400 sts 116,r24 483 .L37: 484 /* epilogue start */ 485 .LM75: 486 035c FF91 pop r31 487 035e EF91 pop r30 488 0360 BF91 pop r27 489 0362 AF91 pop r26 490 0364 9F91 pop r25 491 0366 8F91 pop r24 492 0368 7F91 pop r23 493 036a 6F91 pop r22 494 036c 5F91 pop r21 495 036e 4F91 pop r20 496 0370 3F91 pop r19 497 0372 2F91 pop r18 498 0374 1F91 pop r17 499 0376 0F91 pop r16 500 0378 EF90 pop r14 501 037a 0F90 pop r0 502 037c 0BBE out 91-0x20,r0 503 037e 0F90 pop r0 504 0380 0FBE out __SREG__,r0 505 0382 0F90 pop r0 506 0384 1F90 pop __zero_reg__ 507 0386 1895 reti 508 .LFE6: 510 .global _ZN3TWI6ReSendEPvS0_ 512 _ZN3TWI6ReSendEPvS0_: 513 .LFB5: 514 .LM76: 515 .LVL2: 516 0388 EF92 push r14 517 038a 0F93 push r16 518 038c 1F93 push r17 519 /* prologue: function */ 520 /* frame size = 0 */ 521 .LM77: 522 038e 8091 0000 lds r24,_ZN3TWI12current_modeE 523 .LVL3: 524 0392 8130 cpi r24,lo8(1) 525 0394 01F0 breq .L48 526 .LM78: 527 0396 42E3 ldi r20,lo8(50) 528 0398 E42E mov r14,r20 529 039a 05E0 ldi r16,lo8(5) 530 039c 10E0 ldi r17,hi8(5) 531 039e 20E0 ldi r18,lo8(0) 532 03a0 40E0 ldi r20,lo8(0) 533 03a2 50E0 ldi r21,hi8(0) 534 03a4 60E0 ldi r22,lo8(0) 535 03a6 70E0 ldi r23,hi8(0) 536 .LVL4: 537 03a8 80E0 ldi r24,lo8(pm(_ZN3TWI6ReSendEPvS0_)) 538 03aa 90E0 ldi r25,hi8(pm(_ZN3TWI6ReSendEPvS0_)) 539 03ac 00C0 rjmp .L51 540 .LVL5: 541 .L48: 542 .LM79: 543 03ae 1092 0000 sts _ZN3TWI16out_cur_data_ptrE,__zero_reg__ 544 .LM80: 545 03b2 85EA ldi r24,lo8(-91) 546 03b4 8093 7400 sts 116,r24 547 .LM81: 548 03b8 82E0 ldi r24,lo8(2) 549 03ba 8093 0000 sts _ZN3TWI12current_modeE,r24 550 .LM82: 551 03be 8091 0000 lds r24,_ZN3TWI10numRetriesE 552 03c2 8F5F subi r24,lo8(-(1)) 553 03c4 8093 0000 sts _ZN3TWI10numRetriesE,r24 554 .LM83: 555 03c8 32E3 ldi r19,lo8(50) 556 03ca E32E mov r14,r19 557 03cc 04EF ldi r16,lo8(500) 558 03ce 11E0 ldi r17,hi8(500) 559 03d0 20E0 ldi r18,lo8(0) 560 03d2 40E0 ldi r20,lo8(0) 561 03d4 50E0 ldi r21,hi8(0) 562 03d6 60E0 ldi r22,lo8(0) 563 03d8 70E0 ldi r23,hi8(0) 564 .LVL6: 565 03da 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 566 03dc 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 567 .L51: 568 03de 0E94 0000 call _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 569 /* epilogue start */ 570 .LM84: 571 03e2 1F91 pop r17 572 03e4 0F91 pop r16 573 03e6 EF90 pop r14 574 03e8 0895 ret 575 .LFE5: 577 .global _ZN3TWI4SendEhPhh 579 _ZN3TWI4SendEhPhh: 580 .LFB4: 581 .LM85: 582 .LVL7: 583 03ea EF92 push r14 584 03ec 0F93 push r16 585 03ee 1F93 push r17 586 /* prologue: function */ 587 /* frame size = 0 */ 588 03f0 582F mov r21,r24 589 .LBB2: 590 .LM86: 591 03f2 8091 0000 lds r24,_ZN3TWI10numRetriesE 592 .LVL8: 593 03f6 8823 tst r24 594 03f8 01F4 brne .+2 595 03fa 00C0 rjmp .L53 596 03fc 8091 0000 lds r24,_ZN3TWI10numRetriesE 597 0400 8A30 cpi r24,lo8(10) 598 0402 01F0 breq .L53 599 0404 81E0 ldi r24,lo8(1) 600 0406 00C0 rjmp .L54 601 .L57: 602 .LM87: 603 0408 8FEF ldi r24,lo8(-1) 604 040a 8093 0000 sts _ZN3TWI10out_packetE+18,r24 605 040e DB01 movw r26,r22 606 .LVL9: 607 0410 20E0 ldi r18,lo8(0) 608 0412 30E0 ldi r19,hi8(0) 609 0414 00C0 rjmp .L55 610 .L56: 611 .LBB3: 612 .LM88: 613 0416 8C91 ld r24,X 614 0418 F901 movw r30,r18 615 041a E050 subi r30,lo8(-(_ZN3TWI10out_packetE)) 616 041c F040 sbci r31,hi8(-(_ZN3TWI10out_packetE)) 617 041e 8283 std Z+2,r24 618 .LM89: 619 0420 8091 0000 lds r24,_ZN3TWI10out_packetE+18 620 0424 9D91 ld r25,X+ 621 0426 8927 eor r24,r25 622 0428 8093 0000 sts _ZN3TWI10out_packetE+18,r24 623 042c 2F5F subi r18,lo8(-(1)) 624 042e 3F4F sbci r19,hi8(-(1)) 625 .L55: 626 .LM90: 627 0430 2417 cp r18,r20 628 0432 00F0 brlo .L56 629 .LBE3: 630 .LM91: 631 0434 81E0 ldi r24,lo8(1) 632 0436 8093 0000 sts _ZN3TWI10numRetriesE,r24 633 .LM92: 634 043a 852F mov r24,r21 635 043c 90E0 ldi r25,lo8(0) 636 .LVL10: 637 043e 880F lsl r24 638 0440 991F rol r25 639 .LVL11: 640 0442 8093 0000 sts _ZN3TWI10out_packetE,r24 641 .LM93: 642 0446 4093 0000 sts _ZN3TWI10out_packetE+1,r20 643 .LM94: 644 044a 1092 0000 sts _ZN3TWI16out_cur_data_ptrE,__zero_reg__ 645 .LM95: 646 044e 85EA ldi r24,lo8(-91) 647 .LVL12: 648 0450 8093 7400 sts 116,r24 649 .LM96: 650 0454 82E0 ldi r24,lo8(2) 651 0456 8093 0000 sts _ZN3TWI12current_modeE,r24 652 .LM97: 653 045a 52E3 ldi r21,lo8(50) 654 045c E52E mov r14,r21 655 045e 04EF ldi r16,lo8(500) 656 0460 11E0 ldi r17,hi8(500) 657 0462 20E0 ldi r18,lo8(0) 658 0464 40E0 ldi r20,lo8(0) 659 0466 50E0 ldi r21,hi8(0) 660 .LVL13: 661 0468 60E0 ldi r22,lo8(0) 662 046a 70E0 ldi r23,hi8(0) 663 046c 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 664 046e 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 665 0470 0E94 0000 call _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 666 .LVL14: 667 0474 80E0 ldi r24,lo8(0) 668 .LVL15: 669 .L54: 670 /* epilogue start */ 671 .LBE2: 672 .LM98: 673 0476 1F91 pop r17 674 0478 0F91 pop r16 675 047a EF90 pop r14 676 047c 0895 ret 677 .L53: 678 .LBB4: 679 .LM99: 680 047e 8091 0000 lds r24,_ZN3TWI12current_modeE 681 0482 8130 cpi r24,lo8(1) 682 0484 01F0 breq .L57 683 0486 82E0 ldi r24,lo8(2) 684 0488 00C0 rjmp .L54 685 .LBE4: 686 .LFE4: 688 .global _ZN3TWI16out_cur_data_ptrE 689 .global _ZN3TWI16out_cur_data_ptrE 690 .section .bss 693 _ZN3TWI16out_cur_data_ptrE: 694 0000 00 .skip 1,0 695 .global _ZN3TWI15in_cur_data_ptrE 696 .global _ZN3TWI15in_cur_data_ptrE 699 _ZN3TWI15in_cur_data_ptrE: 700 0001 00 .skip 1,0 701 .global _ZN3TWI12current_modeE 702 .global _ZN3TWI12current_modeE 705 _ZN3TWI12current_modeE: 706 0002 00 .skip 1,0 707 .global _ZN3TWI9in_packetE 708 .global _ZN3TWI9in_packetE 711 _ZN3TWI9in_packetE: 712 0003 0000 0000 .skip 20,0 712 0000 0000 712 0000 0000 712 0000 0000 712 0000 0000 713 .global _ZN3TWI10out_packetE 714 .global _ZN3TWI10out_packetE 717 _ZN3TWI10out_packetE: 718 0017 0000 0000 .skip 20,0 718 0000 0000 718 0000 0000 718 0000 0000 718 0000 0000 719 .global _ZN3TWI7tmp_crcE 720 .global _ZN3TWI7tmp_crcE 723 _ZN3TWI7tmp_crcE: 724 002b 00 .skip 1,0 725 .global _ZN3TWI10numRetriesE 726 .global _ZN3TWI10numRetriesE 729 _ZN3TWI10numRetriesE: 730 002c 00 .skip 1,0 731 .global _ZN3TWI14num_packs_sentE 732 .global _ZN3TWI14num_packs_sentE 735 _ZN3TWI14num_packs_sentE: 736 002d 0000 .skip 2,0 737 .global _ZN3TWI9lost_arbsE 738 .global _ZN3TWI9lost_arbsE 741 _ZN3TWI9lost_arbsE: 742 002f 00 .skip 1,0 743 .global _ZN3TWI11slave_nacksE 744 .global _ZN3TWI11slave_nacksE 747 _ZN3TWI11slave_nacksE: 748 0030 00 .skip 1,0 749 .global _ZN3TWI10slave_addrE 750 .global _ZN3TWI10slave_addrE 753 _ZN3TWI10slave_addrE: 754 0031 00 .skip 1,0 803 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 twi.cpp /tmp/ccUkZ0Ok.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccUkZ0Ok.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccUkZ0Ok.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccUkZ0Ok.s:5 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccUkZ0Ok.s:6 *ABS*:0000000000000001 __zero_reg__ /tmp/ccUkZ0Ok.s:19 .text:0000000000000000 _ZN3TWI4InitEPvS0_ /tmp/ccUkZ0Ok.s:753 .bss:0000000000000031 _ZN3TWI10slave_addrE /tmp/ccUkZ0Ok.s:705 .bss:0000000000000002 _ZN3TWI12current_modeE /tmp/ccUkZ0Ok.s:699 .bss:0000000000000001 _ZN3TWI15in_cur_data_ptrE /tmp/ccUkZ0Ok.s:723 .bss:000000000000002b _ZN3TWI7tmp_crcE /tmp/ccUkZ0Ok.s:711 .bss:0000000000000003 _ZN3TWI9in_packetE /tmp/ccUkZ0Ok.s:62 .text:000000000000003c __vector_33 /tmp/ccUkZ0Ok.s:741 .bss:000000000000002f _ZN3TWI9lost_arbsE /tmp/ccUkZ0Ok.s:729 .bss:000000000000002c _ZN3TWI10numRetriesE /tmp/ccUkZ0Ok.s:512 .text:0000000000000388 _ZN3TWI6ReSendEPvS0_ /tmp/ccUkZ0Ok.s:717 .bss:0000000000000017 _ZN3TWI10out_packetE /tmp/ccUkZ0Ok.s:693 .bss:0000000000000000 _ZN3TWI16out_cur_data_ptrE /tmp/ccUkZ0Ok.s:735 .bss:000000000000002d _ZN3TWI14num_packs_sentE /tmp/ccUkZ0Ok.s:747 .bss:0000000000000030 _ZN3TWI11slave_nacksE /tmp/ccUkZ0Ok.s:579 .text:00000000000003ea _ZN3TWI4SendEhPhh UNDEFINED SYMBOLS __do_copy_data __do_clear_bss _Z11Twi_ReceivePvS_ _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE