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 80E2 ldi r24,lo8(32) 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 85EC ldi r24,lo8(-59) 42 001e 8093 7400 sts 116,r24 43 .LM6: 44 0022 81E0 ldi r24,lo8(1) 45 0024 8093 0000 sts _ZN3TWI12current_modeE,r24 46 .LM7: 47 0028 1092 0000 sts _ZN3TWI12cur_data_ptrE,__zero_reg__ 48 .LM8: 49 002c 8FEF ldi r24,lo8(-1) 50 002e 8093 0000 sts _ZN3TWI7tmp_crcE,r24 51 .LM9: 52 0032 1092 0000 sts _ZN3TWI6packetE+13,__zero_reg__ 53 /* epilogue start */ 54 .LM10: 55 0036 0895 ret 56 .LFE3: 58 .global _ZN3TWI4SendEhPhh 60 _ZN3TWI4SendEhPhh: 61 .LFB4: 62 .LM11: 63 .LVL2: 64 /* prologue: function */ 65 /* frame size = 0 */ 66 0038 582F mov r21,r24 67 .LBB2: 68 .LM12: 69 003a 8091 0000 lds r24,_ZN3TWI12current_modeE 70 .LVL3: 71 003e 8130 cpi r24,lo8(1) 72 0040 01F0 breq .L4 73 0042 8091 0000 lds r24,_ZN3TWI12current_modeE 74 0046 8430 cpi r24,lo8(4) 75 0048 01F4 brne .L8 76 004a 00C0 rjmp .L4 77 .LVL4: 78 .L6: 79 .LBB3: 80 .LM13: 81 004c 8C91 ld r24,X 82 004e F901 movw r30,r18 83 0050 E050 subi r30,lo8(-(_ZN3TWI6packetE)) 84 0052 F040 sbci r31,hi8(-(_ZN3TWI6packetE)) 85 0054 8283 std Z+2,r24 86 .LM14: 87 0056 8091 0000 lds r24,_ZN3TWI6packetE+12 88 005a 9D91 ld r25,X+ 89 005c 8927 eor r24,r25 90 005e 8093 0000 sts _ZN3TWI6packetE+12,r24 91 0062 2F5F subi r18,lo8(-(1)) 92 0064 3F4F sbci r19,hi8(-(1)) 93 .L7: 94 .LM15: 95 0066 2617 cp r18,r22 96 0068 3707 cpc r19,r23 97 006a 04F0 brlt .L6 98 .LBE3: 99 .LM16: 100 006c 1092 0000 sts _ZN3TWI12cur_data_ptrE,__zero_reg__ 101 .LM17: 102 0070 4093 0000 sts _ZN3TWI6packetE+1,r20 103 .LM18: 104 0074 852F mov r24,r21 105 0076 90E0 ldi r25,lo8(0) 106 .LVL5: 107 0078 880F lsl r24 108 007a 991F rol r25 109 .LVL6: 110 007c 8093 0000 sts _ZN3TWI6packetE,r24 111 .LM19: 112 0080 85EA ldi r24,lo8(-91) 113 .LVL7: 114 0082 8093 7400 sts 116,r24 115 .LM20: 116 0086 82E0 ldi r24,lo8(2) 117 0088 8093 0000 sts _ZN3TWI12current_modeE,r24 118 008c 0895 ret 119 .LVL8: 120 .L4: 121 .LM21: 122 008e 8FEF ldi r24,lo8(-1) 123 0090 8093 0000 sts _ZN3TWI6packetE+12,r24 124 0094 DB01 movw r26,r22 125 .LVL9: 126 0096 20E0 ldi r18,lo8(0) 127 0098 30E0 ldi r19,hi8(0) 128 .LBB4: 129 .LM22: 130 009a 642F mov r22,r20 131 009c 70E0 ldi r23,lo8(0) 132 .LVL10: 133 009e 00C0 rjmp .L7 134 .LVL11: 135 .L8: 136 00a0 0895 ret 137 .LBE4: 138 .LBE2: 139 .LFE4: 141 .global __vector_33 143 __vector_33: 144 .LFB5: 145 .LM23: 146 00a2 1F92 push __zero_reg__ 147 00a4 0F92 push r0 148 00a6 0FB6 in r0,__SREG__ 149 00a8 0F92 push r0 150 00aa 0BB6 in r0,91-0x20 151 00ac 0F92 push r0 152 00ae 1124 clr __zero_reg__ 153 00b0 EF92 push r14 154 00b2 0F93 push r16 155 00b4 1F93 push r17 156 00b6 2F93 push r18 157 00b8 3F93 push r19 158 00ba 4F93 push r20 159 00bc 5F93 push r21 160 00be 6F93 push r22 161 00c0 7F93 push r23 162 00c2 8F93 push r24 163 00c4 9F93 push r25 164 00c6 AF93 push r26 165 00c8 BF93 push r27 166 00ca EF93 push r30 167 00cc FF93 push r31 168 /* prologue: Signal */ 169 /* frame size = 0 */ 170 .LM24: 171 00ce 8091 0000 lds r24,_ZN3TWI12current_modeE 172 00d2 817C andi r24,lo8(-63) 173 00d4 01F4 brne .+2 174 00d6 00C0 rjmp .L10 175 .LM25: 176 00d8 8091 7100 lds r24,113 177 00dc 90E0 ldi r25,lo8(0) 178 00de 887F andi r24,lo8(248) 179 00e0 9070 andi r25,hi8(248) 180 00e2 8038 cpi r24,128 181 00e4 9105 cpc r25,__zero_reg__ 182 00e6 01F0 breq .L13 183 00e8 8138 cpi r24,129 184 00ea 9105 cpc r25,__zero_reg__ 185 00ec 04F4 brge .L15 186 00ee 8036 cpi r24,96 187 00f0 9105 cpc r25,__zero_reg__ 188 00f2 01F4 brne .+2 189 00f4 00C0 rjmp .L12 190 00f6 8037 cpi r24,112 191 00f8 9105 cpc r25,__zero_reg__ 192 00fa 01F0 breq .+2 193 00fc 00C0 rjmp .L11 194 00fe 00C0 rjmp .L12 195 .L15: 196 0100 8039 cpi r24,144 197 0102 9105 cpc r25,__zero_reg__ 198 0104 01F0 breq .L13 199 0106 803A cpi r24,160 200 0108 9105 cpc r25,__zero_reg__ 201 010a 01F0 breq .+2 202 010c 00C0 rjmp .L11 203 010e 00C0 rjmp .L14 204 .L13: 205 .LM26: 206 0110 8091 0000 lds r24,_ZN3TWI12current_modeE 207 0114 8034 cpi r24,lo8(64) 208 0116 01F4 brne .L16 209 .LM27: 210 0118 8091 7300 lds r24,115 211 011c 8093 0000 sts _ZN3TWI6packetE+1,r24 212 .LM28: 213 0120 8FEF ldi r24,lo8(-1) 214 0122 8093 0000 sts _ZN3TWI7tmp_crcE,r24 215 .LM29: 216 0126 80E8 ldi r24,lo8(-128) 217 0128 00C0 rjmp .L31 218 .L16: 219 .LM30: 220 012a 8091 0000 lds r24,_ZN3TWI12current_modeE 221 012e 8038 cpi r24,lo8(-128) 222 0130 01F0 breq .+2 223 0132 00C0 rjmp .L14 224 .LM31: 225 0134 9091 0000 lds r25,_ZN3TWI12cur_data_ptrE 226 0138 8091 0000 lds r24,_ZN3TWI6packetE+1 227 013c 9817 cp r25,r24 228 013e 00F4 brsh .L18 229 .LM32: 230 0140 8091 0000 lds r24,_ZN3TWI12cur_data_ptrE 231 0144 E82F mov r30,r24 232 0146 F0E0 ldi r31,lo8(0) 233 0148 9091 7300 lds r25,115 234 014c E050 subi r30,lo8(-(_ZN3TWI6packetE)) 235 014e F040 sbci r31,hi8(-(_ZN3TWI6packetE)) 236 0150 9283 std Z+2,r25 237 0152 8F5F subi r24,lo8(-(1)) 238 0154 8093 0000 sts _ZN3TWI12cur_data_ptrE,r24 239 .LM33: 240 0158 9091 0000 lds r25,_ZN3TWI7tmp_crcE 241 015c 8091 7300 lds r24,115 242 0160 8927 eor r24,r25 243 0162 8093 0000 sts _ZN3TWI7tmp_crcE,r24 244 0166 00C0 rjmp .L14 245 .L18: 246 .LM34: 247 0168 8091 7300 lds r24,115 248 016c 8093 0000 sts _ZN3TWI6packetE+12,r24 249 .LM35: 250 0170 9091 0000 lds r25,_ZN3TWI7tmp_crcE 251 0174 8091 0000 lds r24,_ZN3TWI6packetE+12 252 0178 9817 cp r25,r24 253 017a 01F0 breq .L19 254 .LM36: 255 017c 81E0 ldi r24,lo8(1) 256 017e 00C0 rjmp .L30 257 .L19: 258 .LM37: 259 0180 82E0 ldi r24,lo8(2) 260 .L30: 261 0182 8093 0000 sts _ZN3TWI6packetE+13,r24 262 .LM38: 263 0186 80E0 ldi r24,lo8(pm(_Z11Twi_ReceivePvS_)) 264 0188 90E0 ldi r25,hi8(pm(_Z11Twi_ReceivePvS_)) 265 018a 60E0 ldi r22,lo8(_ZN3TWI6packetE) 266 018c 70E0 ldi r23,hi8(_ZN3TWI6packetE) 267 018e 40E0 ldi r20,lo8(0) 268 0190 50E0 ldi r21,hi8(0) 269 0192 20E0 ldi r18,lo8(0) 270 0194 00E0 ldi r16,lo8(0) 271 0196 10E0 ldi r17,hi8(0) 272 0198 EE24 clr r14 273 019a 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 274 .LM39: 275 019e 1092 0000 sts _ZN3TWI12cur_data_ptrE,__zero_reg__ 276 .LM40: 277 01a2 81E0 ldi r24,lo8(1) 278 .L31: 279 01a4 8093 0000 sts _ZN3TWI12current_modeE,r24 280 01a8 00C0 rjmp .L14 281 .L12: 282 .LM41: 283 01aa 8091 7300 lds r24,115 284 01ae 8093 0000 sts _ZN3TWI6packetE,r24 285 .LM42: 286 01b2 1092 0000 sts _ZN3TWI6packetE+13,__zero_reg__ 287 .LM43: 288 01b6 1092 0000 sts _ZN3TWI12cur_data_ptrE,__zero_reg__ 289 .LM44: 290 01ba 85EC ldi r24,lo8(-59) 291 01bc 8093 7400 sts 116,r24 292 .LM45: 293 01c0 80E4 ldi r24,lo8(64) 294 01c2 00C0 rjmp .L33 295 .L14: 296 .LM46: 297 01c4 85EC ldi r24,lo8(-59) 298 01c6 00C0 rjmp .L32 299 .L11: 300 .LM47: 301 01c8 85E4 ldi r24,lo8(69) 302 01ca 00C0 rjmp .L32 303 .L10: 304 .LM48: 305 01cc 8091 7100 lds r24,113 306 01d0 90E0 ldi r25,lo8(0) 307 01d2 887F andi r24,lo8(248) 308 01d4 9070 andi r25,hi8(248) 309 01d6 8831 cpi r24,24 310 01d8 9105 cpc r25,__zero_reg__ 311 01da 01F0 breq .L24 312 01dc 8832 cpi r24,40 313 01de 9105 cpc r25,__zero_reg__ 314 01e0 01F0 breq .L25 315 01e2 0897 sbiw r24,8 316 01e4 01F0 breq .+2 317 01e6 00C0 rjmp .L29 318 .LM49: 319 01e8 8091 0000 lds r24,_ZN3TWI6packetE 320 01ec 8093 7300 sts 115,r24 321 .LM50: 322 01f0 85E8 ldi r24,lo8(-123) 323 01f2 8093 7400 sts 116,r24 324 .LM51: 325 01f6 88E0 ldi r24,lo8(8) 326 01f8 00C0 rjmp .L33 327 .L24: 328 .LM52: 329 01fa 1092 0000 sts _ZN3TWI12cur_data_ptrE,__zero_reg__ 330 .LM53: 331 01fe 8091 0000 lds r24,_ZN3TWI6packetE+1 332 0202 8093 7300 sts 115,r24 333 0206 00C0 rjmp .L34 334 .L25: 335 .LM54: 336 0208 9091 0000 lds r25,_ZN3TWI12cur_data_ptrE 337 020c 8091 0000 lds r24,_ZN3TWI6packetE+1 338 0210 9817 cp r25,r24 339 0212 01F4 brne .L26 340 .LM55: 341 0214 8091 0000 lds r24,_ZN3TWI6packetE+12 342 0218 8093 7300 sts 115,r24 343 .LM56: 344 021c 8091 0000 lds r24,_ZN3TWI12cur_data_ptrE 345 0220 8F5F subi r24,lo8(-(1)) 346 0222 8093 0000 sts _ZN3TWI12cur_data_ptrE,r24 347 0226 00C0 rjmp .L34 348 .L26: 349 .LM57: 350 0228 2091 0000 lds r18,_ZN3TWI12cur_data_ptrE 351 022c 8091 0000 lds r24,_ZN3TWI6packetE+1 352 0230 30E0 ldi r19,lo8(0) 353 0232 90E0 ldi r25,lo8(0) 354 0234 0196 adiw r24,1 355 0236 2817 cp r18,r24 356 0238 3907 cpc r19,r25 357 023a 01F4 brne .L27 358 .LM58: 359 023c 85E9 ldi r24,lo8(-107) 360 023e 8093 7400 sts 116,r24 361 .LM59: 362 0242 80E2 ldi r24,lo8(32) 363 0244 8093 0000 sts _ZN3TWI12current_modeE,r24 364 .LM60: 365 0248 80E0 ldi r24,lo8(pm(_ZN3TWI4InitEPvS0_)) 366 024a 90E0 ldi r25,hi8(pm(_ZN3TWI4InitEPvS0_)) 367 024c 60E0 ldi r22,lo8(0) 368 024e 70E0 ldi r23,hi8(0) 369 0250 40E0 ldi r20,lo8(0) 370 0252 50E0 ldi r21,hi8(0) 371 0254 20E0 ldi r18,lo8(0) 372 0256 00E0 ldi r16,lo8(0) 373 0258 10E0 ldi r17,hi8(0) 374 025a EE24 clr r14 375 025c 0E94 0000 call _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 376 0260 00C0 rjmp .L28 377 .L27: 378 .LM61: 379 0262 9091 0000 lds r25,_ZN3TWI12cur_data_ptrE 380 0266 E92F mov r30,r25 381 0268 F0E0 ldi r31,lo8(0) 382 026a E050 subi r30,lo8(-(_ZN3TWI6packetE)) 383 026c F040 sbci r31,hi8(-(_ZN3TWI6packetE)) 384 026e 8281 ldd r24,Z+2 385 0270 8093 7300 sts 115,r24 386 0274 9F5F subi r25,lo8(-(1)) 387 0276 9093 0000 sts _ZN3TWI12cur_data_ptrE,r25 388 .L34: 389 .LM62: 390 027a 85E8 ldi r24,lo8(-123) 391 027c 8093 7400 sts 116,r24 392 .LM63: 393 0280 80E1 ldi r24,lo8(16) 394 .L33: 395 0282 8093 0000 sts _ZN3TWI12current_modeE,r24 396 0286 00C0 rjmp .L28 397 .L29: 398 .LM64: 399 0288 84E0 ldi r24,lo8(4) 400 028a 8093 0000 sts _ZN3TWI12current_modeE,r24 401 .LM65: 402 028e 85E0 ldi r24,lo8(5) 403 .L32: 404 0290 8093 7400 sts 116,r24 405 .L28: 406 /* epilogue start */ 407 .LM66: 408 0294 FF91 pop r31 409 0296 EF91 pop r30 410 0298 BF91 pop r27 411 029a AF91 pop r26 412 029c 9F91 pop r25 413 029e 8F91 pop r24 414 02a0 7F91 pop r23 415 02a2 6F91 pop r22 416 02a4 5F91 pop r21 417 02a6 4F91 pop r20 418 02a8 3F91 pop r19 419 02aa 2F91 pop r18 420 02ac 1F91 pop r17 421 02ae 0F91 pop r16 422 02b0 EF90 pop r14 423 02b2 0F90 pop r0 424 02b4 0BBE out 91-0x20,r0 425 02b6 0F90 pop r0 426 02b8 0FBE out __SREG__,r0 427 02ba 0F90 pop r0 428 02bc 1F90 pop __zero_reg__ 429 02be 1895 reti 430 .LFE5: 432 .global _ZN3TWI12cur_data_ptrE 433 .global _ZN3TWI12cur_data_ptrE 434 .section .bss 437 _ZN3TWI12cur_data_ptrE: 438 0000 00 .skip 1,0 439 .global _ZN3TWI12current_modeE 440 .global _ZN3TWI12current_modeE 443 _ZN3TWI12current_modeE: 444 0001 00 .skip 1,0 445 .global _ZN3TWI6packetE 446 .global _ZN3TWI6packetE 449 _ZN3TWI6packetE: 450 0002 0000 0000 .skip 14,0 450 0000 0000 450 0000 0000 450 0000 451 .global _ZN3TWI7tmp_crcE 452 .global _ZN3TWI7tmp_crcE 455 _ZN3TWI7tmp_crcE: 456 0010 00 .skip 1,0 457 .global _ZN3TWI10slave_addrE 458 .global _ZN3TWI10slave_addrE 461 _ZN3TWI10slave_addrE: 462 0011 00 .skip 1,0 503 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 twi.cpp /tmp/cctSPswe.s:2 *ABS*:000000000000003f __SREG__ /tmp/cctSPswe.s:3 *ABS*:000000000000003e __SP_H__ /tmp/cctSPswe.s:4 *ABS*:000000000000003d __SP_L__ /tmp/cctSPswe.s:5 *ABS*:0000000000000000 __tmp_reg__ /tmp/cctSPswe.s:6 *ABS*:0000000000000001 __zero_reg__ /tmp/cctSPswe.s:19 .text:0000000000000000 _ZN3TWI4InitEPvS0_ /tmp/cctSPswe.s:461 .bss:0000000000000011 _ZN3TWI10slave_addrE /tmp/cctSPswe.s:443 .bss:0000000000000001 _ZN3TWI12current_modeE /tmp/cctSPswe.s:437 .bss:0000000000000000 _ZN3TWI12cur_data_ptrE /tmp/cctSPswe.s:455 .bss:0000000000000010 _ZN3TWI7tmp_crcE /tmp/cctSPswe.s:449 .bss:0000000000000002 _ZN3TWI6packetE /tmp/cctSPswe.s:60 .text:0000000000000038 _ZN3TWI4SendEhPhh /tmp/cctSPswe.s:143 .text:00000000000000a2 __vector_33 UNDEFINED SYMBOLS __do_copy_data __do_clear_bss _Z11Twi_ReceivePvS_ _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE