   1               		.file	"ambient-attx4.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__ = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
  15               	.Ltext0:
  16               	.global	__vector_9
  18               	__vector_9:
  19               	.LFB0:
  20               	.LM1:
  21 0000 1F92      		push __zero_reg__
  22 0002 0F92      		push r0
  23 0004 0FB6      		in r0,__SREG__
  24 0006 0F92      		push r0
  25 0008 1124      		clr __zero_reg__
  26               	/* prologue: Signal */
  27               	/* frame size = 0 */
  28               	/* stack size = 3 */
  29               	.L__stack_usage = 3
  30               	.LM2:
  31 000a 689A      		sbi 45-32,0
  32               	/* epilogue start */
  33               	.LM3:
  34 000c 0F90      		pop r0
  35 000e 0FBE      		out __SREG__,r0
  36 0010 0F90      		pop r0
  37 0012 1F90      		pop __zero_reg__
  38 0014 1895      		reti
  39               	.LFE0:
  41               	.global	__vector_16
  43               	__vector_16:
  44               	.LFB1:
  45               	.LM4:
  46 0016 1F92      		push __zero_reg__
  47 0018 0F92      		push r0
  48 001a 0FB6      		in r0,__SREG__
  49 001c 0F92      		push r0
  50 001e 1124      		clr __zero_reg__
  51 0020 8F93      		push r24
  52               	/* prologue: Signal */
  53               	/* frame size = 0 */
  54               	/* stack size = 4 */
  55               	.L__stack_usage = 4
  56               	.LM5:
  57 0022 8091 0000 		lds r24,spiX_status
  58 0026 80FF      		sbrs r24,0
  59 0028 00C0      		rjmp .L3
  60               	.LM6:
  61 002a 89B7      		in r24,89-32
  62 002c 8D7F      		andi r24,lo8(-3)
  63 002e 89BF      		out 89-32,r24
  64               	.L3:
  65               	.LM7:
  66 0030 80E4      		ldi r24,lo8(64)
  67 0032 8EB9      		out 46-32,r24
  68               	.LM8:
  69 0034 8091 0000 		lds r24,spiX_status
  70 0038 8260      		ori r24,lo8(2)
  71 003a 8093 0000 		sts spiX_status,r24
  72               	.LM9:
  73 003e 8FB1      		in r24,47-32
  74 0040 8093 0000 		sts storedUSIDR,r24
  75               	/* epilogue start */
  76               	.LM10:
  77 0044 8F91      		pop r24
  78 0046 0F90      		pop r0
  79 0048 0FBE      		out __SREG__,r0
  80 004a 0F90      		pop r0
  81 004c 1F90      		pop __zero_reg__
  82 004e 1895      		reti
  83               	.LFE1:
  85               	.global	spiX_initmaster
  87               	spiX_initmaster:
  88               	.LFB2:
  89               	.LM11:
  90               	.LVL0:
  91               	/* prologue: function */
  92               	/* frame size = 0 */
  93               	/* stack size = 0 */
  94               	.L__stack_usage = 0
  95               	.LM12:
  96 0050 9AB3      		in r25,58-32
  97 0052 9063      		ori r25,lo8(48)
  98 0054 9ABB      		out 58-32,r25
  99               	.LM13:
 100 0056 D698      		cbi 58-32,6
 101               	.LM14:
 102 0058 DE9A      		sbi 59-32,6
 103               	.LM15:
 104 005a 880F      		lsl r24
 105 005c 880F      		lsl r24
 106               	.LVL1:
 107               	.LM16:
 108 005e 8A65      		ori r24,lo8(90)
 109 0060 8DB9      		out 45-32,r24
 110               	.LM17:
 111 0062 83E0      		ldi r24,lo8(3)
 112 0064 83BF      		out 83-32,r24
 113               	.LM18:
 114 0066 81E0      		ldi r24,lo8(1)
 115 0068 86BF      		out 86-32,r24
 116               	.LM19:
 117 006a 8091 0000 		lds r24,spiX_status
 118 006e 8160      		ori r24,lo8(1)
 119 0070 8093 0000 		sts spiX_status,r24
 120               	.LM20:
 121 0074 8091 0000 		lds r24,spiX_status
 122 0078 8D7F      		andi r24,lo8(-3)
 123 007a 8093 0000 		sts spiX_status,r24
 124               	.LM21:
 125 007e 8091 0000 		lds r24,spiX_status
 126 0082 8B7F      		andi r24,lo8(-5)
 127 0084 8093 0000 		sts spiX_status,r24
 128               	.LM22:
 129 0088 1092 0000 		sts storedUSIDR,__zero_reg__
 130               	/* epilogue start */
 131               	.LM23:
 132 008c 0895      		ret
 133               	.LFE2:
 135               	.global	spiX_initslave
 137               	spiX_initslave:
 138               	.LFB3:
 139               	.LM24:
 140               	.LVL2:
 141               	/* prologue: function */
 142               	/* frame size = 0 */
 143               	/* stack size = 0 */
 144               	.L__stack_usage = 0
 145               	.LM25:
 146 008e D59A      		sbi 58-32,5
 147               	.LM26:
 148 0090 D698      		cbi 58-32,6
 149               	.LM27:
 150 0092 9BB3      		in r25,59-32
 151 0094 9065      		ori r25,lo8(80)
 152 0096 9BBB      		out 59-32,r25
 153               	.LM28:
 154 0098 880F      		lsl r24
 155 009a 880F      		lsl r24
 156               	.LVL3:
 157               	.LM29:
 158 009c 8865      		ori r24,lo8(88)
 159 009e 8DB9      		out 45-32,r24
 160               	.LM30:
 161 00a0 8091 0000 		lds r24,spiX_status
 162 00a4 8E7F      		andi r24,lo8(-2)
 163 00a6 8093 0000 		sts spiX_status,r24
 164               	.LM31:
 165 00aa 8091 0000 		lds r24,spiX_status
 166 00ae 8D7F      		andi r24,lo8(-3)
 167 00b0 8093 0000 		sts spiX_status,r24
 168               	.LM32:
 169 00b4 8091 0000 		lds r24,spiX_status
 170 00b8 8B7F      		andi r24,lo8(-5)
 171 00ba 8093 0000 		sts spiX_status,r24
 172               	.LM33:
 173 00be 1092 0000 		sts storedUSIDR,__zero_reg__
 174               	/* epilogue start */
 175               	.LM34:
 176 00c2 0895      		ret
 177               	.LFE3:
 179               	.global	spiX_put
 181               	spiX_put:
 182               	.LFB4:
 183               	.LM35:
 184               	.LVL4:
 185               	/* prologue: function */
 186               	/* frame size = 0 */
 187               	/* stack size = 0 */
 188               	.L__stack_usage = 0
 189               	.LM36:
 190 00c4 2EB1      		in r18,46-32
 191 00c6 30E0      		ldi r19,lo8(0)
 192 00c8 2F70      		andi r18,lo8(15)
 193 00ca 3070      		andi r19,hi8(15)
 194 00cc 2115      		cp r18,__zero_reg__
 195 00ce 3105      		cpc r19,__zero_reg__
 196 00d0 01F0      		breq .L7
 197               	.LM37:
 198 00d2 8091 0000 		lds r24,spiX_status
 199               	.LVL5:
 200 00d6 8460      		ori r24,lo8(4)
 201 00d8 8093 0000 		sts spiX_status,r24
 202               	.LM38:
 203 00dc 80E0      		ldi r24,lo8(0)
 204 00de 0895      		ret
 205               	.LVL6:
 206               	.L7:
 207               	.LM39:
 208 00e0 9091 0000 		lds r25,spiX_status
 209 00e4 9D7F      		andi r25,lo8(-3)
 210 00e6 9093 0000 		sts spiX_status,r25
 211               	.LM40:
 212 00ea 9091 0000 		lds r25,spiX_status
 213 00ee 9B7F      		andi r25,lo8(-5)
 214 00f0 9093 0000 		sts spiX_status,r25
 215               	.LM41:
 216 00f4 8FB9      		out 47-32,r24
 217               	.LM42:
 218 00f6 8091 0000 		lds r24,spiX_status
 219               	.LVL7:
 220 00fa 80FF      		sbrs r24,0
 221 00fc 00C0      		rjmp .L9
 222               	.LM43:
 223 00fe 88B7      		in r24,88-32
 224 0100 8260      		ori r24,lo8(2)
 225 0102 88BF      		out 88-32,r24
 226               	.LM44:
 227 0104 89B7      		in r24,89-32
 228 0106 8260      		ori r24,lo8(2)
 229 0108 89BF      		out 89-32,r24
 230               	.L9:
 231               	.LM45:
 232 010a 9091 0000 		lds r25,spiX_status
 233               	.LM46:
 234 010e 81E0      		ldi r24,lo8(1)
 235 0110 92FD      		sbrc r25,2
 236 0112 80E0      		ldi r24,lo8(0)
 237               	.L8:
 238               	.LM47:
 239 0114 0895      		ret
 240               	.LFE4:
 242               	.global	spiX_get
 244               	spiX_get:
 245               	.LFB5:
 246               	.LM48:
 247               	/* prologue: function */
 248               	/* frame size = 0 */
 249               	/* stack size = 0 */
 250               	.L__stack_usage = 0
 251               	.LM49:
 252 0116 8091 0000 		lds r24,storedUSIDR
 253               	/* epilogue start */
 254 011a 0895      		ret
 255               	.LFE5:
 257               	.global	spiX_wait
 259               	spiX_wait:
 260               	.LFB6:
 261               	.LM50:
 262               	/* prologue: function */
 263               	/* frame size = 0 */
 264               	/* stack size = 0 */
 265               	.L__stack_usage = 0
 266               	.L13:
 267               	.LM51:
 268 011c 8091 0000 		lds r24,spiX_status
 269 0120 81FF      		sbrs r24,1
 270 0122 00C0      		rjmp .L13
 271               	/* epilogue start */
 272               	.LM52:
 273 0124 0895      		ret
 274               	.LFE6:
 276               	.global	setupIO
 278               	setupIO:
 279               	.LFB10:
 280               	.LM53:
 281               	/* prologue: function */
 282               	/* frame size = 0 */
 283               	/* stack size = 0 */
 284               	.L__stack_usage = 0
 285               	.LM54:
 286 0126 D198      		cbi 58-32,1
 287               	.LM55:
 288 0128 D398      		cbi 58-32,3
 289               	.LM56:
 290 012a B99A      		sbi 55-32,1
 291               	.LM57:
 292 012c C198      		cbi 56-32,1
 293               	.LM58:
 294 012e D698      		cbi 58-32,6
 295               	/* epilogue start */
 296               	.LM59:
 297 0130 0895      		ret
 298               	.LFE10:
 300               	.global	enableSPI
 302               	enableSPI:
 303               	.LFB11:
 304               	.LM60:
 305               	/* prologue: function */
 306               	/* frame size = 0 */
 307               	/* stack size = 0 */
 308               	.L__stack_usage = 0
 309               	.LM61:
 310 0132 82E0      		ldi r24,lo8(2)
 311 0134 85BF      		out 85-32,r24
 312               	.LM62:
 313 0136 8BB7      		in r24,91-32
 314 0138 8064      		ori r24,lo8(64)
 315 013a 8BBF      		out 91-32,r24
 316               	.LM63:
 317 013c BA98      		cbi 55-32,2
 318               	.LM64:
 319 013e C29A      		sbi 56-32,2
 320               	.LM65:
 321 0140 6E98      		cbi 45-32,6
 322               	.LM66:
 323 0142 6C98      		cbi 45-32,4
 324               	/* epilogue start */
 325               	.LM67:
 326 0144 0895      		ret
 327               	.LFE11:
 329               	.global	setupTimer
 331               	setupTimer:
 332               	.LFB12:
 333               	.LM68:
 334               	/* prologue: function */
 335               	/* frame size = 0 */
 336               	/* stack size = 0 */
 337               	.L__stack_usage = 0
 338               	.LM69:
 339 0146 8EB5      		in r24,78-32
 340 0148 8260      		ori r24,lo8(2)
 341 014a 8EBD      		out 78-32,r24
 342               	.LM70:
 343 014c 8EB5      		in r24,78-32
 344 014e 8860      		ori r24,lo8(8)
 345 0150 8EBD      		out 78-32,r24
 346               	.LM71:
 347 0152 88EC      		ldi r24,lo8(200)
 348 0154 90E0      		ldi r25,hi8(200)
 349 0156 9BBD      		out 74+1-32,r25
 350 0158 8ABD      		out 74-32,r24
 351               	.LM72:
 352 015a 619A      		sbi 44-32,1
 353               	/* epilogue start */
 354               	.LM73:
 355 015c 0895      		ret
 356               	.LFE12:
 358               	.global	prepareADC
 360               	prepareADC:
 361               	.LFB13:
 362               	.LM74:
 363               	/* prologue: function */
 364               	/* frame size = 0 */
 365               	/* stack size = 0 */
 366               	.L__stack_usage = 0
 367               	.LM75:
 368 015e 0098      		cbi 32-32,0
 369               	.LM76:
 370 0160 379A      		sbi 38-32,7
 371               	.LM77:
 372 0162 86B1      		in r24,38-32
 373 0164 8660      		ori r24,lo8(6)
 374 0166 86B9      		out 38-32,r24
 375               	.LM78:
 376 0168 17B8      		out 39-32,__zero_reg__
 377               	.LM79:
 378 016a 3F98      		cbi 39-32,7
 379               	.LM80:
 380 016c 3E9A      		sbi 39-32,6
 381               	/* epilogue start */
 382               	.LM81:
 383 016e 0895      		ret
 384               	.LFE13:
 386               	.global	setup
 388               	setup:
 389               	.LFB9:
 390               	.LM82:
 391               	/* prologue: function */
 392               	/* frame size = 0 */
 393               	/* stack size = 0 */
 394               	.L__stack_usage = 0
 395               	.LM83:
 396               	/* #APP */
 397               	 ;  57 "src/ambient-attx4.c" 1
 398 0170 F894      		cli
 399               	 ;  0 "" 2
 400               	.LM84:
 401               	/* #NOAPP */
 402 0172 1092 0000 		sts LightBuffer+20,__zero_reg__
 403               	.LM85:
 404 0176 1092 0000 		sts SoundBuffer+20,__zero_reg__
 405               	.LM86:
 406 017a 00D0      		rcall setupIO
 407               	.LM87:
 408 017c 00D0      		rcall prepareADC
 409               	.LM88:
 410 017e 00D0      		rcall enableSPI
 411               	.LM89:
 412 0180 00D0      		rcall setupTimer
 413               	.LM90:
 414               	/* #APP */
 415               	 ;  72 "src/ambient-attx4.c" 1
 416 0182 7894      		sei
 417               	 ;  0 "" 2
 418               	/* epilogue start */
 419               	.LM91:
 420               	/* #NOAPP */
 421 0184 0895      		ret
 422               	.LFE9:
 424               	.global	main
 426               	main:
 427               	.LFB8:
 428               	.LM92:
 429               	/* prologue: function */
 430               	/* frame size = 0 */
 431               	/* stack size = 0 */
 432               	.L__stack_usage = 0
 433               	.LM93:
 434 0186 80E0      		ldi r24,lo8(gs(_exit))
 435 0188 90E0      		ldi r25,hi8(gs(_exit))
 436 018a 880F      		lsl r24
 437 018c 991F      		rol r25
 438 018e 00D0      		rcall calculate_checksum
 439 0190 9093 0000 		sts checksum+1,r25
 440 0194 8093 0000 		sts checksum,r24
 441               	.LM94:
 442 0198 00D0      		rcall setup
 443               	.L21:
 444 019a 00C0      		rjmp .L21
 445               	.LFE8:
 447               	.global	analogRead
 449               	analogRead:
 450               	.LFB14:
 451               	.LM95:
 452               	.LVL8:
 453               	/* prologue: function */
 454               	/* frame size = 0 */
 455               	/* stack size = 0 */
 456               	.L__stack_usage = 0
 457               	.LM96:
 458 019c 97B1      		in r25,39-32
 459 019e 907E      		andi r25,lo8(-32)
 460 01a0 97B9      		out 39-32,r25
 461               	.LM97:
 462 01a2 97B1      		in r25,39-32
 463 01a4 8F71      		andi r24,lo8(31)
 464               	.LVL9:
 465 01a6 892B      		or r24,r25
 466 01a8 87B9      		out 39-32,r24
 467               	.LM98:
 468 01aa 369A      		sbi 38-32,6
 469               	.L23:
 470               	.LM99:
 471 01ac 3699      		sbic 38-32,6
 472 01ae 00C0      		rjmp .L23
 473               	.LM100:
 474 01b0 84B1      		in r24,36-32
 475               	.LVL10:
 476               	.LM101:
 477 01b2 95B1      		in r25,37-32
 478               	.LVL11:
 479 01b4 392F      		mov r19,r25
 480 01b6 20E0      		ldi r18,lo8(0)
 481 01b8 280F      		add r18,r24
 482 01ba 311D      		adc r19,__zero_reg__
 483               	.LM102:
 484 01bc C901      		movw r24,r18
 485               	.LVL12:
 486               	/* epilogue start */
 487 01be 0895      		ret
 488               	.LFE14:
 490               	.global	bufferForCommand
 492               	bufferForCommand:
 493               	.LFB15:
 494               	.LM103:
 495               	.LVL13:
 496               	/* prologue: function */
 497               	/* frame size = 0 */
 498               	/* stack size = 0 */
 499               	.L__stack_usage = 0
 500               	.LM104:
 501 01c0 6230      		cpi r22,lo8(2)
 502 01c2 01F4      		brne .L26
 503               	.LM105:
 504 01c4 282F      		mov r18,r24
 505 01c6 392F      		mov r19,r25
 506 01c8 D901      		movw r26,r18
 507 01ca E0E0      		ldi r30,lo8(LightBuffer)
 508 01cc F0E0      		ldi r31,hi8(LightBuffer)
 509 01ce 25E1      		ldi r18,lo8(21)
 510               	.L27:
 511 01d0 0190      		ld r0,Z+
 512 01d2 0D92      		st X+,r0
 513 01d4 2150      		subi r18,lo8(-(-1))
 514 01d6 01F4      		brne .L27
 515 01d8 0895      		ret
 516               	.L26:
 517               	.LM106:
 518 01da 282F      		mov r18,r24
 519 01dc 392F      		mov r19,r25
 520 01de D901      		movw r26,r18
 521 01e0 E0E0      		ldi r30,lo8(SoundBuffer)
 522 01e2 F0E0      		ldi r31,hi8(SoundBuffer)
 523 01e4 25E1      		ldi r18,lo8(21)
 524               	.L29:
 525 01e6 0190      		ld r0,Z+
 526 01e8 0D92      		st X+,r0
 527 01ea 2150      		subi r18,lo8(-(-1))
 528 01ec 01F4      		brne .L29
 529               	.LM107:
 530 01ee 0895      		ret
 531               	.LFE15:
 533               	.global	triggerValueForCommand
 535               	triggerValueForCommand:
 536               	.LFB16:
 537               	.LM108:
 538               	.LVL14:
 539               	/* prologue: function */
 540               	/* frame size = 0 */
 541               	/* stack size = 0 */
 542               	.L__stack_usage = 0
 543               	.LM109:
 544 01f0 8430      		cpi r24,lo8(4)
 545 01f2 01F4      		brne .L34
 546               	.LM110:
 547 01f4 20E0      		ldi r18,lo8(lightTrigger)
 548 01f6 30E0      		ldi r19,hi8(lightTrigger)
 549 01f8 00C0      		rjmp .L33
 550               	.L34:
 551               	.LM111:
 552 01fa 20E0      		ldi r18,lo8(soundTrigger)
 553 01fc 30E0      		ldi r19,hi8(soundTrigger)
 554               	.L33:
 555               	.LM112:
 556 01fe C901      		movw r24,r18
 557               	.LVL15:
 558               	/* epilogue start */
 559 0200 0895      		ret
 560               	.LFE16:
 562               	.global	__vector_6
 564               	__vector_6:
 565               	.LFB17:
 566               	.LM113:
 567 0202 1F92      		push __zero_reg__
 568 0204 0F92      		push r0
 569 0206 0FB6      		in r0,__SREG__
 570 0208 0F92      		push r0
 571 020a 1124      		clr __zero_reg__
 572 020c 1F93      		push r17
 573 020e 2F93      		push r18
 574 0210 3F93      		push r19
 575 0212 4F93      		push r20
 576 0214 5F93      		push r21
 577 0216 6F93      		push r22
 578 0218 7F93      		push r23
 579 021a 8F93      		push r24
 580 021c 9F93      		push r25
 581 021e AF93      		push r26
 582 0220 BF93      		push r27
 583 0222 CF93      		push r28
 584 0224 DF93      		push r29
 585 0226 EF93      		push r30
 586 0228 FF93      		push r31
 587               	/* prologue: Signal */
 588               	/* frame size = 0 */
 589               	/* stack size = 18 */
 590               	.L__stack_usage = 18
 591               	.LM114:
 592 022a 1091 0000 		lds r17,LightBuffer+20
 593 022e C12F      		mov r28,r17
 594 0230 D0E0      		ldi r29,lo8(0)
 595 0232 83E0      		ldi r24,lo8(3)
 596 0234 00D0      		rcall analogRead
 597 0236 CC0F      		lsl r28
 598 0238 DD1F      		rol r29
 599 023a C050      		subi r28,lo8(-(LightBuffer))
 600 023c D040      		sbci r29,hi8(-(LightBuffer))
 601 023e 9983      		std Y+1,r25
 602 0240 8883      		st Y,r24
 603 0242 1F5F      		subi r17,lo8(-(1))
 604 0244 1093 0000 		sts LightBuffer+20,r17
 605               	.LM115:
 606 0248 8091 0000 		lds r24,lightTrigger
 607 024c 9091 0000 		lds r25,lightTrigger+1
 608 0250 0097      		sbiw r24,0
 609 0252 01F0      		breq .L36
 610               	.LM116:
 611 0254 E091 0000 		lds r30,LightBuffer+20
 612 0258 F0E0      		ldi r31,lo8(0)
 613 025a EE0F      		lsl r30
 614 025c FF1F      		rol r31
 615 025e E050      		subi r30,lo8(-(LightBuffer-2))
 616 0260 F040      		sbci r31,hi8(-(LightBuffer-2))
 617 0262 2081      		ld r18,Z
 618 0264 3181      		ldd r19,Z+1
 619 0266 8091 0000 		lds r24,lightTrigger
 620 026a 9091 0000 		lds r25,lightTrigger+1
 621 026e 2817      		cp r18,r24
 622 0270 3907      		cpc r19,r25
 623 0272 00F0      		brlo .L36
 624               	.LM117:
 625 0274 E091 0000 		lds r30,LightBuffer+20
 626 0278 F0E0      		ldi r31,lo8(0)
 627 027a EE0F      		lsl r30
 628 027c FF1F      		rol r31
 629 027e E050      		subi r30,lo8(-(LightBuffer-2))
 630 0280 F040      		sbci r31,hi8(-(LightBuffer-2))
 631 0282 8081      		ld r24,Z
 632 0284 9181      		ldd r25,Z+1
 633 0286 9093 0000 		sts lightTriggerReadVal+1,r25
 634 028a 8093 0000 		sts lightTriggerReadVal,r24
 635               	.LM118:
 636 028e C19A      		sbi 56-32,1
 637               	.L36:
 638               	.LM119:
 639 0290 8091 0000 		lds r24,LightBuffer+20
 640 0294 8A30      		cpi r24,lo8(10)
 641 0296 01F4      		brne .L37
 642               	.LM120:
 643 0298 1092 0000 		sts LightBuffer+20,__zero_reg__
 644               	.L37:
 645               	.LM121:
 646 029c 1091 0000 		lds r17,SoundBuffer+20
 647 02a0 C12F      		mov r28,r17
 648 02a2 D0E0      		ldi r29,lo8(0)
 649 02a4 81E0      		ldi r24,lo8(1)
 650 02a6 00D0      		rcall analogRead
 651 02a8 CC0F      		lsl r28
 652 02aa DD1F      		rol r29
 653 02ac C050      		subi r28,lo8(-(SoundBuffer))
 654 02ae D040      		sbci r29,hi8(-(SoundBuffer))
 655 02b0 9983      		std Y+1,r25
 656 02b2 8883      		st Y,r24
 657 02b4 1F5F      		subi r17,lo8(-(1))
 658 02b6 1093 0000 		sts SoundBuffer+20,r17
 659               	.LM122:
 660 02ba 8091 0000 		lds r24,soundTrigger
 661 02be 9091 0000 		lds r25,soundTrigger+1
 662 02c2 0097      		sbiw r24,0
 663 02c4 01F0      		breq .L38
 664               	.LM123:
 665 02c6 E091 0000 		lds r30,SoundBuffer+20
 666 02ca F0E0      		ldi r31,lo8(0)
 667 02cc EE0F      		lsl r30
 668 02ce FF1F      		rol r31
 669 02d0 E050      		subi r30,lo8(-(SoundBuffer-2))
 670 02d2 F040      		sbci r31,hi8(-(SoundBuffer-2))
 671 02d4 2081      		ld r18,Z
 672 02d6 3181      		ldd r19,Z+1
 673 02d8 8091 0000 		lds r24,soundTrigger
 674 02dc 9091 0000 		lds r25,soundTrigger+1
 675 02e0 2817      		cp r18,r24
 676 02e2 3907      		cpc r19,r25
 677 02e4 00F0      		brlo .L38
 678               	.LM124:
 679 02e6 E091 0000 		lds r30,SoundBuffer+20
 680 02ea F0E0      		ldi r31,lo8(0)
 681 02ec EE0F      		lsl r30
 682 02ee FF1F      		rol r31
 683 02f0 E050      		subi r30,lo8(-(SoundBuffer-2))
 684 02f2 F040      		sbci r31,hi8(-(SoundBuffer-2))
 685 02f4 8081      		ld r24,Z
 686 02f6 9181      		ldd r25,Z+1
 687 02f8 9093 0000 		sts soundTriggerReadVal+1,r25
 688 02fc 8093 0000 		sts soundTriggerReadVal,r24
 689               	.LM125:
 690 0300 C19A      		sbi 56-32,1
 691               	.L38:
 692               	.LM126:
 693 0302 8091 0000 		lds r24,SoundBuffer+20
 694 0306 8A30      		cpi r24,lo8(10)
 695 0308 01F4      		brne .L35
 696               	.LM127:
 697 030a 1092 0000 		sts SoundBuffer+20,__zero_reg__
 698               	.L35:
 699               	/* epilogue start */
 700               	.LM128:
 701 030e FF91      		pop r31
 702 0310 EF91      		pop r30
 703 0312 DF91      		pop r29
 704 0314 CF91      		pop r28
 705 0316 BF91      		pop r27
 706 0318 AF91      		pop r26
 707 031a 9F91      		pop r25
 708 031c 8F91      		pop r24
 709 031e 7F91      		pop r23
 710 0320 6F91      		pop r22
 711 0322 5F91      		pop r21
 712 0324 4F91      		pop r20
 713 0326 3F91      		pop r19
 714 0328 2F91      		pop r18
 715 032a 1F91      		pop r17
 716 032c 0F90      		pop r0
 717 032e 0FBE      		out __SREG__,r0
 718 0330 0F90      		pop r0
 719 0332 1F90      		pop __zero_reg__
 720 0334 1895      		reti
 721               	.LFE17:
 723               	.global	__vector_1
 725               	__vector_1:
 726               	.LFB18:
 727               	.LM129:
 728 0336 1F92      		push __zero_reg__
 729 0338 0F92      		push r0
 730 033a 0FB6      		in r0,__SREG__
 731 033c 0F92      		push r0
 732 033e 1124      		clr __zero_reg__
 733 0340 DF92      		push r13
 734 0342 EF92      		push r14
 735 0344 FF92      		push r15
 736 0346 0F93      		push r16
 737 0348 1F93      		push r17
 738 034a 2F93      		push r18
 739 034c 3F93      		push r19
 740 034e 4F93      		push r20
 741 0350 5F93      		push r21
 742 0352 6F93      		push r22
 743 0354 7F93      		push r23
 744 0356 8F93      		push r24
 745 0358 9F93      		push r25
 746 035a AF93      		push r26
 747 035c BF93      		push r27
 748 035e EF93      		push r30
 749 0360 FF93      		push r31
 750 0362 DF93      		push r29
 751 0364 CF93      		push r28
 752 0366 CDB7      		in r28,__SP_L__
 753 0368 DEB7      		in r29,__SP_H__
 754 036a 6897      		sbiw r28,24
 755 036c DEBF      		out __SP_H__, r29
 756 036e CDBF      		out __SP_L__, r28
 757               	/* prologue: Signal */
 758               	/* frame size = 24 */
 759               	/* stack size = 46 */
 760               	.L__stack_usage = 46
 761               	.LM130:
 762 0370 6198      		cbi 44-32,1
 763               	.LM131:
 764 0372 80E0      		ldi r24,lo8(0)
 765 0374 00D0      		rcall spiX_initslave
 766               	.LM132:
 767               	/* #APP */
 768               	 ;  233 "src/ambient-attx4.c" 1
 769 0376 7894      		sei
 770               	 ;  0 "" 2
 771               	.LM133:
 772               	/* #NOAPP */
 773 0378 8DB1      		in r24,45-32
 774 037a 8065      		ori r24,lo8(80)
 775 037c 8DB9      		out 45-32,r24
 776               	.LM134:
 777 037e 85E5      		ldi r24,lo8(85)
 778 0380 00D0      		rcall spiX_put
 779               	.LM135:
 780 0382 00D0      		rcall spiX_wait
 781               	.LBB12:
 782               	.LBB13:
 783               	.LM136:
 784 0384 0091 0000 		lds r16,storedUSIDR
 785               	.LVL16:
 786               	.LBE13:
 787               	.LBE12:
 788               	.LM137:
 789 0388 1982      		std Y+1,__zero_reg__
 790               	.LVL17:
 791               	.LM138:
 792 038a 1B82      		std Y+3,__zero_reg__
 793 038c 1A82      		std Y+2,__zero_reg__
 794               	.LVL18:
 795               	.LM139:
 796 038e 802F      		mov r24,r16
 797 0390 00D0      		rcall spiX_put
 798               	.LM140:
 799 0392 00D0      		rcall spiX_wait
 800               	.LM141:
 801 0394 E02F      		mov r30,r16
 802 0396 F0E0      		ldi r31,lo8(0)
 803 0398 E930      		cpi r30,9
 804 039a F105      		cpc r31,__zero_reg__
 805 039c 00F0      		brlo .+2
 806 039e 00C0      		rjmp .L41
 807 03a0 E050      		subi r30,lo8(-(gs(.L49)))
 808 03a2 F040      		sbci r31,hi8(-(gs(.L49)))
 809 03a4 0994      		ijmp
 810               		.data
 811               		.section .progmem.gcc_sw_table, "ax", @progbits
 812               		.p2align 1
 813               	.L49:
 814               		.data
 815               		.section .progmem.gcc_sw_table, "ax", @progbits
 816               		.p2align 1
 817 0000 00C0      		rjmp .L42
 818 0002 00C0      		rjmp .L43
 819 0004 00C0      		rjmp .L44
 820 0006 00C0      		rjmp .L44
 821 0008 00C0      		rjmp .L45
 822 000a 00C0      		rjmp .L45
 823 000c 00C0      		rjmp .L46
 824 000e 00C0      		rjmp .L47
 825 0010 00C0      		rjmp .L48
 826               		.text
 827               	.L42:
 828               	.LM142:
 829 03a6 83E3      		ldi r24,lo8(51)
 830 03a8 00C0      		rjmp .L55
 831               	.L47:
 832               	.LM143:
 833 03aa 8091 0000 		lds r24,checksum
 834 03ae 9091 0000 		lds r25,checksum+1
 835 03b2 892F      		mov r24,r25
 836 03b4 00D0      		rcall spiX_put
 837               	.LM144:
 838 03b6 00D0      		rcall spiX_wait
 839               	.LM145:
 840 03b8 8091 0000 		lds r24,checksum
 841 03bc 9091 0000 		lds r25,checksum+1
 842               	.LVL19:
 843               	.L55:
 844 03c0 00D0      		rcall spiX_put
 845               	.LM146:
 846 03c2 00D0      		rcall spiX_wait
 847               	.LM147:
 848 03c4 00C0      		rjmp .L41
 849               	.LVL20:
 850               	.L43:
 851               	.LM148:
 852 03c6 00D0      		rcall read_firmware_version
 853 03c8 00C0      		rjmp .L55
 854               	.L48:
 855               	.LM149:
 856 03ca 00D0      		rcall read_module_id
 857 03cc 00C0      		rjmp .L55
 858               	.L44:
 859               	.LM150:
 860 03ce CE01      		movw r24,r28
 861 03d0 0496      		adiw r24,4
 862 03d2 602F      		mov r22,r16
 863 03d4 00D0      		rcall bufferForCommand
 864               	.LBB14:
 865               	.LBB15:
 866               	.LM151:
 867 03d6 8091 0000 		lds r24,storedUSIDR
 868               	.LBE15:
 869               	.LBE14:
 870               	.LM152:
 871 03da 8983      		std Y+1,r24
 872               	.LM153:
 873 03dc 8981      		ldd r24,Y+1
 874 03de 00D0      		rcall spiX_put
 875               	.LM154:
 876 03e0 00D0      		rcall spiX_wait
 877               	.LM155:
 878 03e2 1092 0000 		sts counter+1,__zero_reg__
 879 03e6 1092 0000 		sts counter,__zero_reg__
 880               	.LM156:
 881 03ea B9E0      		ldi r27,lo8(9)
 882 03ec DB2E      		mov r13,r27
 883               	.LM157:
 884 03ee 7E01      		movw r14,r28
 885 03f0 0894      		sec
 886 03f2 E11C      		adc r14,__zero_reg__
 887 03f4 F11C      		adc r15,__zero_reg__
 888               	.LM158:
 889 03f6 00C0      		rjmp .L50
 890               	.LVL21:
 891               	.L52:
 892               	.LM159:
 893 03f8 888D      		ldd r24,Y+24
 894 03fa 8823      		tst r24
 895 03fc 01F4      		brne .L51
 896               	.LM160:
 897 03fe D88E      		std Y+24,r13
 898               	.L51:
 899               	.LM161:
 900 0400 888D      		ldd r24,Y+24
 901 0402 8150      		subi r24,lo8(-(-1))
 902 0404 888F      		std Y+24,r24
 903               	.LM162:
 904 0406 E88D      		ldd r30,Y+24
 905 0408 F0E0      		ldi r31,lo8(0)
 906 040a EE0F      		lsl r30
 907 040c FF1F      		rol r31
 908 040e EE0D      		add r30,r14
 909 0410 FF1D      		adc r31,r15
 910 0412 0381      		ldd r16,Z+3
 911 0414 1481      		ldd r17,Z+4
 912               	.LVL22:
 913               	.LM163:
 914 0416 812F      		mov r24,r17
 915 0418 00D0      		rcall spiX_put
 916               	.LM164:
 917 041a 00D0      		rcall spiX_wait
 918               	.LM165:
 919 041c 802F      		mov r24,r16
 920 041e 00D0      		rcall spiX_put
 921               	.LM166:
 922 0420 00D0      		rcall spiX_wait
 923               	.LM167:
 924 0422 8091 0000 		lds r24,counter
 925 0426 9091 0000 		lds r25,counter+1
 926 042a 0196      		adiw r24,1
 927 042c 9093 0000 		sts counter+1,r25
 928 0430 8093 0000 		sts counter,r24
 929               	.LVL23:
 930               	.L50:
 931               	.LM168:
 932 0434 2091 0000 		lds r18,counter
 933 0438 3091 0000 		lds r19,counter+1
 934 043c 8981      		ldd r24,Y+1
 935 043e 90E0      		ldi r25,lo8(0)
 936 0440 2817      		cp r18,r24
 937 0442 3907      		cpc r19,r25
 938 0444 04F0      		brlt .L52
 939               	.LM169:
 940 0446 86E1      		ldi r24,lo8(22)
 941 0448 00C0      		rjmp .L55
 942               	.LVL24:
 943               	.L45:
 944               	.LM170:
 945 044a 3091 0000 		lds r19,storedUSIDR
 946 044e 20E0      		ldi r18,lo8(0)
 947               	.LVL25:
 948 0450 3B83      		std Y+3,r19
 949 0452 2A83      		std Y+2,r18
 950               	.LM171:
 951 0454 2A81      		ldd r18,Y+2
 952 0456 3B81      		ldd r19,Y+3
 953               	.LVL26:
 954 0458 832F      		mov r24,r19
 955 045a 00D0      		rcall spiX_put
 956               	.LM172:
 957 045c 00D0      		rcall spiX_wait
 958               	.LM173:
 959 045e 4A81      		ldd r20,Y+2
 960 0460 5B81      		ldd r21,Y+3
 961 0462 2091 0000 		lds r18,storedUSIDR
 962 0466 30E0      		ldi r19,lo8(0)
 963 0468 242B      		or r18,r20
 964 046a 352B      		or r19,r21
 965               	.LVL27:
 966 046c 3B83      		std Y+3,r19
 967 046e 2A83      		std Y+2,r18
 968               	.LVL28:
 969               	.LM174:
 970 0470 8A81      		ldd r24,Y+2
 971 0472 9B81      		ldd r25,Y+3
 972 0474 00D0      		rcall spiX_put
 973               	.LVL29:
 974               	.LM175:
 975 0476 00D0      		rcall spiX_wait
 976               	.LVL30:
 977               	.LBB16:
 978               	.LBB17:
 979               	.LM176:
 980 0478 0430      		cpi r16,lo8(4)
 981 047a 01F4      		brne .L54
 982               	.LM177:
 983 047c E0E0      		ldi r30,lo8(lightTrigger)
 984 047e F0E0      		ldi r31,hi8(lightTrigger)
 985 0480 00C0      		rjmp .L53
 986               	.L54:
 987               	.LM178:
 988 0482 E0E0      		ldi r30,lo8(soundTrigger)
 989 0484 F0E0      		ldi r31,hi8(soundTrigger)
 990               	.L53:
 991               	.LBE17:
 992               	.LBE16:
 993               	.LM179:
 994 0486 8A81      		ldd r24,Y+2
 995 0488 9B81      		ldd r25,Y+3
 996 048a 9183      		std Z+1,r25
 997 048c 8083      		st Z,r24
 998               	.LM180:
 999 048e 00C0      		rjmp .L41
 1000               	.LVL31:
 1001               	.L46:
 1002               	.LM181:
 1003 0490 8091 0000 		lds r24,lightTriggerReadVal
 1004 0494 9091 0000 		lds r25,lightTriggerReadVal+1
 1005 0498 892F      		mov r24,r25
 1006 049a 00D0      		rcall spiX_put
 1007               	.LM182:
 1008 049c 00D0      		rcall spiX_wait
 1009               	.LM183:
 1010 049e 8091 0000 		lds r24,lightTriggerReadVal
 1011 04a2 9091 0000 		lds r25,lightTriggerReadVal+1
 1012 04a6 00D0      		rcall spiX_put
 1013               	.LM184:
 1014 04a8 00D0      		rcall spiX_wait
 1015               	.LM185:
 1016 04aa 1092 0000 		sts lightTriggerReadVal+1,__zero_reg__
 1017 04ae 1092 0000 		sts lightTriggerReadVal,__zero_reg__
 1018               	.LM186:
 1019 04b2 8091 0000 		lds r24,soundTriggerReadVal
 1020 04b6 9091 0000 		lds r25,soundTriggerReadVal+1
 1021 04ba 892F      		mov r24,r25
 1022 04bc 00D0      		rcall spiX_put
 1023               	.LM187:
 1024 04be 00D0      		rcall spiX_wait
 1025               	.LM188:
 1026 04c0 8091 0000 		lds r24,soundTriggerReadVal
 1027 04c4 9091 0000 		lds r25,soundTriggerReadVal+1
 1028 04c8 00D0      		rcall spiX_put
 1029               	.LM189:
 1030 04ca 00D0      		rcall spiX_wait
 1031               	.LM190:
 1032 04cc 1092 0000 		sts soundTriggerReadVal+1,__zero_reg__
 1033 04d0 1092 0000 		sts soundTriggerReadVal,__zero_reg__
 1034               	.LM191:
 1035 04d4 C198      		cbi 56-32,1
 1036               	.LVL32:
 1037               	.L41:
 1038               	.LM192:
 1039 04d6 6E98      		cbi 45-32,6
 1040               	.LM193:
 1041 04d8 6C98      		cbi 45-32,4
 1042               	.LM194:
 1043 04da D698      		cbi 58-32,6
 1044               	.LM195:
 1045 04dc D598      		cbi 58-32,5
 1046               	.LM196:
 1047 04de 619A      		sbi 44-32,1
 1048               	/* epilogue start */
 1049               	.LM197:
 1050 04e0 6896      		adiw r28,24
 1051 04e2 DEBF      		out __SP_H__, r29
 1052 04e4 CDBF      		out __SP_L__, r28
 1053 04e6 CF91      		pop r28
 1054 04e8 DF91      		pop r29
 1055 04ea FF91      		pop r31
 1056 04ec EF91      		pop r30
 1057 04ee BF91      		pop r27
 1058 04f0 AF91      		pop r26
 1059 04f2 9F91      		pop r25
 1060 04f4 8F91      		pop r24
 1061 04f6 7F91      		pop r23
 1062 04f8 6F91      		pop r22
 1063 04fa 5F91      		pop r21
 1064 04fc 4F91      		pop r20
 1065 04fe 3F91      		pop r19
 1066 0500 2F91      		pop r18
 1067 0502 1F91      		pop r17
 1068 0504 0F91      		pop r16
 1069 0506 FF90      		pop r15
 1070 0508 EF90      		pop r14
 1071 050a DF90      		pop r13
 1072 050c 0F90      		pop r0
 1073 050e 0FBE      		out __SREG__,r0
 1074 0510 0F90      		pop r0
 1075 0512 1F90      		pop __zero_reg__
 1076 0514 1895      		reti
 1077               	.LFE18:
 1079               	.global	counter
 1080               	.global	counter
 1081               		.section .bss
 1084               	counter:
 1085 0000 0000      		.skip 2,0
 1086               	.global	lightTrigger
 1087               	.global	lightTrigger
 1090               	lightTrigger:
 1091 0002 0000      		.skip 2,0
 1092               	.global	lightTriggerReadVal
 1093               	.global	lightTriggerReadVal
 1096               	lightTriggerReadVal:
 1097 0004 0000      		.skip 2,0
 1098               	.global	soundTrigger
 1099               	.global	soundTrigger
 1102               	soundTrigger:
 1103 0006 0000      		.skip 2,0
 1104               	.global	soundTriggerReadVal
 1105               	.global	soundTriggerReadVal
 1108               	soundTriggerReadVal:
 1109 0008 0000      		.skip 2,0
 1110               	.global	checksum
 1111               		.data
 1114               	checksum:
 1115 0000 FFFF      		.word	-1
 1116               		.comm storedUSIDR,1,1
 1117               		.comm spiX_status,1,1
 1118               		.comm LightBuffer,21,1
 1119               		.comm SoundBuffer,21,1
 1280               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 ambient-attx4.c
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:2      *ABS*:0000003f __SREG__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:3      *ABS*:0000003e __SP_H__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:4      *ABS*:0000003d __SP_L__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:5      *ABS*:00000034 __CCP__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:6      *ABS*:00000000 __tmp_reg__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:7      *ABS*:00000001 __zero_reg__
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:18     .text:00000000 __vector_9
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:43     .text:00000016 __vector_16
                            *COM*:00000001 spiX_status
                            *COM*:00000001 storedUSIDR
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:87     .text:00000050 spiX_initmaster
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:137    .text:0000008e spiX_initslave
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:181    .text:000000c4 spiX_put
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:244    .text:00000116 spiX_get
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:259    .text:0000011c spiX_wait
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:278    .text:00000126 setupIO
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:302    .text:00000132 enableSPI
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:331    .text:00000146 setupTimer
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:360    .text:0000015e prepareADC
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:388    .text:00000170 setup
                            *COM*:00000015 LightBuffer
                            *COM*:00000015 SoundBuffer
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:426    .text:00000186 main
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1114   .data:00000000 checksum
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:449    .text:0000019c analogRead
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:492    .text:000001c0 bufferForCommand
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:535    .text:000001f0 triggerValueForCommand
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1090   .bss:00000002 lightTrigger
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1102   .bss:00000006 soundTrigger
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:564    .text:00000202 __vector_6
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1096   .bss:00000004 lightTriggerReadVal
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1108   .bss:00000008 soundTriggerReadVal
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:725    .text:00000336 __vector_1
/var/folders/s2/tcwl1vwx0m5d0z4xlwxx6_c00000gn/T//ccinpFev.s:1084   .bss:00000000 counter

UNDEFINED SYMBOLS
_exit
calculate_checksum
read_firmware_version
read_module_id
__do_copy_data
__do_clear_bss
