   1               		.file	"Tone.cpp"
   2               	__SP_H__ = 0x3e
   3               	__SP_L__ = 0x3d
   4               	__SREG__ = 0x3f
   5               	__tmp_reg__ = 0
   6               	__zero_reg__ = 1
   9               		.text
  10               	.Ltext0:
 135               	.global	_Z4tonehjm
 137               	_Z4tonehjm:
 138               		.stabd	46,0,0
   1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** /* Tone.cpp
   2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
   3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   A Tone Generator Library
   4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
   5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   Written by Brett Hagman
   6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
   7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   This library is free software; you can redistribute it and/or
   8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   modify it under the terms of the GNU Lesser General Public
   9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   License as published by the Free Software Foundation; either
  10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   version 2.1 of the License, or (at your option) any later version.
  11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   This library is distributed in the hope that it will be useful,
  13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   but WITHOUT ANY WARRANTY; without even the implied warranty of
  14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   Lesser General Public License for more details.
  16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   You should have received a copy of the GNU Lesser General Public
  18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   License along with this library; if not, write to the Free Software
  19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** Version Modified By Date     Comments
  22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** ------- ----------- -------- --------
  23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0001    B Hagman    09/08/02 Initial coding
  24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0002    B Hagman    09/08/18 Multiple pins
  25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0003    B Hagman    09/08/18 Moved initialization from constructor to begin()
  26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0004    B Hagman    09/09/26 Fixed problems with ATmega8
  27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0005    B Hagman    09/11/23 Scanned prescalars for best fit on 8 bit timers
  28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****                     09/11/25 Changed pin toggle method to XOR
  29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****                     09/11/25 Fixed timer0 from being excluded
  30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0006    D Mellis    09/12/29 Replaced objects with functions
  31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0007    M Sproul    10/08/29 Changed #ifdefs from cpu to register
  32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0008    S Kanemoto  12/06/22 Fixed for Leonardo by @maris_HY
  33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0009    J Reucker   15/04/10 Issue #292 Fixed problems with ATmega8 (thanks to Pete62)
  34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 0010    jipp        15/04/13 added additional define check #2923
  35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** *************************************************/
  36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #include <avr/interrupt.h>
  38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #include <avr/pgmspace.h>
  39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #include "Arduino.h"
  40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #include "pins_arduino.h"
  41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
  43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define TCCR2A TCCR2
  44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define TCCR2B TCCR2
  45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define COM2A1 COM21
  46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define COM2A0 COM20
  47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define OCR2A OCR2
  48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define TIMSK2 TIMSK
  49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define OCIE2A OCIE2
  50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define TIMER2_COMPA_vect TIMER2_COMP_vect
  51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define TIMSK1 TIMSK
  52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
  53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // timerx_toggle_count:
  55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //  > 0 - duration specified
  56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //  = 0 - stopped
  57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //  < 0 - infinitely (until stop() method called, or new play() called)
  58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if !defined(__AVR_ATmega8__)
  60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer0_toggle_count;
  61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer0_pin_port;
  62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer0_pin_mask;
  63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
  64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer1_toggle_count;
  66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer1_pin_port;
  67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer1_pin_mask;
  68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer2_toggle_count;
  69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer2_pin_port;
  70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer2_pin_mask;
  71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK3)
  73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer3_toggle_count;
  74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer3_pin_port;
  75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer3_pin_mask;
  76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
  77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK4)
  79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer4_toggle_count;
  80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer4_pin_port;
  81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer4_pin_mask;
  82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
  83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK5)
  85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile long timer5_toggle_count;
  86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t *timer5_pin_port;
  87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** volatile uint8_t timer5_pin_mask;
  88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
  89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define AVAILABLE_TONE_PINS 1
  94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define USE_TIMER2
  95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 3, 4, 5, 1, 0 */ };
  97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255, 255, 255, 255 */ };
  98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
  99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #elif defined(__AVR_ATmega8__)
 100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define AVAILABLE_TONE_PINS 1
 102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define USE_TIMER2
 103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1 */ };
 105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ };
 106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #elif defined(__AVR_ATmega32U4__)
 108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****  
 109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define AVAILABLE_TONE_PINS 1
 110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define USE_TIMER3
 111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****  
 112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 3 /*, 1 */ };
 113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255 */ };
 114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****  
 115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #else
 116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define AVAILABLE_TONE_PINS 1
 118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #define USE_TIMER2
 119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // Leave timer 0 to last.
 121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** const uint8_t PROGMEM tone_pin_to_timer_PGM[] = { 2 /*, 1, 0 */ };
 122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** static uint8_t tone_pins[AVAILABLE_TONE_PINS] = { 255 /*, 255, 255 */ };
 123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** static int8_t toneBegin(uint8_t _pin)
 129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** {
 130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   int8_t _timer = -1;
 131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   // if we're already using the pin, the timer should be configured.  
 133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
 134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     if (tone_pins[i] == _pin) {
 135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       return pgm_read_byte(tone_pin_to_timer_PGM + i);
 136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   
 139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   // search for an unused timer.
 140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
 141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     if (tone_pins[i] == 255) {
 142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       tone_pins[i] = _pin;
 143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       _timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
 144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   
 148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   if (_timer != -1)
 149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   {
 150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // Set timer specific stuff
 151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // All timers in CTC mode
 152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // 8 bit timers will require changing prescalar values,
 153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // whereas 16 bit timers are set to either ck/1 or ck/64 prescalar
 154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     switch (_timer)
 155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR0A) && defined(TCCR0B) && defined(WGM01)
 157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 0:
 158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 8 bit timer
 159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR0A = 0;
 160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR0B = 0;
 161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR0A, WGM01, 1);
 162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR0B, CS00, 1);
 163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer0_pin_port = portOutputRegister(digitalPinToPort(_pin));
 164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer0_pin_mask = digitalPinToBitMask(_pin);
 165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR1A) && defined(TCCR1B) && defined(WGM12)
 169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 1:
 170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 16 bit timer
 171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR1A = 0;
 172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR1B = 0;
 173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR1B, WGM12, 1);
 174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR1B, CS10, 1);
 175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_pin_port = portOutputRegister(digitalPinToPort(_pin));
 176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_pin_mask = digitalPinToBitMask(_pin);
 177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 180:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR2A) && defined(TCCR2B)
 181:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 2:
 182:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 8 bit timer
 183:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****        // TCCR2A = 0;
 184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****        // TCCR2B = 0;
 185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        bitWrite(TCCR2A, WGM21, 1);
 186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        bitWrite(TCCR2B, CS20, 1);
 187:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        timer2_pin_port = portOutputRegister(digitalPinToPort(_pin));
 188:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        timer2_pin_mask = digitalPinToBitMask(_pin);
 189:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 190:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 191:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR3A) && defined(TCCR3B) &&  defined(TIMSK3)
 193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 3:
 194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 16 bit timer
 195:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR3A = 0;
 196:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR3B = 0;
 197:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR3B, WGM32, 1);
 198:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR3B, CS30, 1);
 199:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer3_pin_port = portOutputRegister(digitalPinToPort(_pin));
 200:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer3_pin_mask = digitalPinToBitMask(_pin);
 201:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 202:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 203:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 204:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR4A) && defined(TCCR4B) &&  defined(TIMSK4)
 205:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 4:
 206:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 16 bit timer
 207:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR4A = 0;
 208:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR4B = 0;
 209:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         #if defined(WGM42)
 210:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           bitWrite(TCCR4B, WGM42, 1);
 211:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         #elif defined(CS43)
 212:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           // TODO this may not be correct
 213:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           // atmega32u4
 214:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           bitWrite(TCCR4B, CS43, 1);
 215:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         #endif
 216:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR4B, CS40, 1);
 217:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer4_pin_port = portOutputRegister(digitalPinToPort(_pin));
 218:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer4_pin_mask = digitalPinToBitMask(_pin);
 219:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 220:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 221:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 222:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR5A) && defined(TCCR5B) &&  defined(TIMSK5)
 223:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 5:
 224:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // 16 bit timer
 225:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR5A = 0;
 226:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR5B = 0;
 227:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR5B, WGM52, 1);
 228:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR5B, CS50, 1);
 229:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer5_pin_port = portOutputRegister(digitalPinToPort(_pin));
 230:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer5_pin_mask = digitalPinToBitMask(_pin);
 231:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 232:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 233:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 234:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 235:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 236:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   return _timer;
 237:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** }
 238:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 239:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 240:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 241:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // frequency (in hertz) and duration (in milliseconds).
 242:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 243:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** void tone(uint8_t _pin, unsigned int frequency, unsigned long duration)
 244:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** {
 140               	.LM0:
 141               	.LFBB1:
 142 0000 4F92      		push r4
 143 0002 5F92      		push r5
 144 0004 6F92      		push r6
 145 0006 7F92      		push r7
 146 0008 8F92      		push r8
 147 000a 9F92      		push r9
 148 000c AF92      		push r10
 149 000e BF92      		push r11
 150 0010 CF92      		push r12
 151 0012 DF92      		push r13
 152 0014 EF92      		push r14
 153 0016 FF92      		push r15
 154 0018 0F93      		push r16
 155 001a 1F93      		push r17
 156 001c CF93      		push r28
 157 001e DF93      		push r29
 158 0020 00D0      		rcall .
 159 0022 00D0      		rcall .
 160 0024 1F92      		push __zero_reg__
 161 0026 CDB7      		in r28,__SP_L__
 162 0028 DEB7      		in r29,__SP_H__
 163               	/* prologue: function */
 164               	/* frame size = 5 */
 165               	/* stack size = 21 */
 166               	.L__stack_usage = 21
 167 002a 8B01      		movw r16,r22
 168 002c 2901      		movw r4,r18
 169 002e 3A01      		movw r6,r20
 170               	.LBB21:
 171               	.LBB22:
 172               	.LBB23:
 173               	.LBB24:
 134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       return pgm_read_byte(tone_pin_to_timer_PGM + i);
 175               	.LM1:
 176 0030 9091 0000 		lds r25,_ZL9tone_pins
 177 0034 8917      		cp r24,r25
 178 0036 01F0      		breq .L2
 179               	.LBE24:
 180               	.LBE23:
 181               	.LBB28:
 182               	.LBB29:
 141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       tone_pins[i] = _pin;
 184               	.LM2:
 185 0038 9F3F      		cpi r25,lo8(-1)
 186 003a 01F0      		breq .+2
 187 003c 00C0      		rjmp .L1
 188 003e 00C0      		rjmp .L46
 189               	.L2:
 190               	.LBE29:
 191               	.LBE28:
 192               	.LBB33:
 193               	.LBB27:
 194               	.LBB25:
 195               	.LBB26:
 135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 197               	.LM3:
 198 0040 E0E0      		ldi r30,lo8(_ZL21tone_pin_to_timer_PGM)
 199 0042 F0E0      		ldi r31,hi8(_ZL21tone_pin_to_timer_PGM)
 200               	/* #APP */
 201               	 ;  135 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 202 0044 2491      		lpm r18, Z
 203               		
 204               	 ;  0 "" 2
 205               	/* #NOAPP */
 206 0046 2D83      		std Y+5,r18
 207 0048 00C0      		rjmp .L5
 208               	.L46:
 209               	.LBE26:
 210               	.LBE25:
 211               	.LBE27:
 212               	.LBE33:
 213               	.LBB34:
 214               	.LBB32:
 215               	.LBB30:
 142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       _timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
 217               	.LM4:
 218 004a 8093 0000 		sts _ZL9tone_pins,r24
 219               	.LBB31:
 143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 221               	.LM5:
 222 004e E0E0      		ldi r30,lo8(_ZL21tone_pin_to_timer_PGM)
 223 0050 F0E0      		ldi r31,hi8(_ZL21tone_pin_to_timer_PGM)
 224               	/* #APP */
 225               	 ;  143 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 226 0052 9491      		lpm r25, Z
 227               		
 228               	 ;  0 "" 2
 229               	/* #NOAPP */
 230 0054 9D83      		std Y+5,r25
 231               	.LBE31:
 232               	.LBE30:
 233               	.LBE32:
 234               	.LBE34:
 235               	.LBB35:
 148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   {
 237               	.LM6:
 238 0056 9F3F      		cpi r25,lo8(-1)
 239 0058 01F4      		brne .+2
 240 005a 00C0      		rjmp .L1
 241               	.LBB36:
 154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 243               	.LM7:
 244 005c 9923      		tst r25
 245 005e 01F0      		breq .L6
 246 0060 9130      		cpi r25,lo8(1)
 247 0062 01F0      		breq .+2
 248 0064 00C0      		rjmp .L5
 249               	.LBB37:
 171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR1B = 0;
 251               	.LM8:
 252 0066 1092 8000 		sts 128,__zero_reg__
 172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR1B, WGM12, 1);
 254               	.LM9:
 255 006a 1092 8100 		sts 129,__zero_reg__
 173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR1B, CS10, 1);
 257               	.LM10:
 258 006e 9091 8100 		lds r25,129
 259 0072 9860      		ori r25,lo8(8)
 260 0074 9093 8100 		sts 129,r25
 174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_pin_port = portOutputRegister(digitalPinToPort(_pin));
 262               	.LM11:
 263 0078 9091 8100 		lds r25,129
 264 007c 9160      		ori r25,lo8(1)
 265 007e 9093 8100 		sts 129,r25
 266               	.LBB38:
 267               	.LBB39:
 175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_pin_mask = digitalPinToBitMask(_pin);
 269               	.LM12:
 270 0082 282F      		mov r18,r24
 271 0084 30E0      		ldi r19,0
 272 0086 F901      		movw r30,r18
 273 0088 E050      		subi r30,lo8(-(digital_pin_to_port_PGM))
 274 008a F040      		sbci r31,hi8(-(digital_pin_to_port_PGM))
 275               	/* #APP */
 276               	 ;  175 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 277 008c E491      		lpm r30, Z
 278               		
 279               	 ;  0 "" 2
 280               	/* #NOAPP */
 281               	.LBE39:
 282 008e F0E0      		ldi r31,0
 283 0090 EE0F      		lsl r30
 284 0092 FF1F      		rol r31
 285 0094 E050      		subi r30,lo8(-(port_to_output_PGM))
 286 0096 F040      		sbci r31,hi8(-(port_to_output_PGM))
 287               	/* #APP */
 288               	 ;  175 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 289 0098 4591      		lpm r20, Z+
 290 009a 5491      		lpm r21, Z
 291               		
 292               	 ;  0 "" 2
 293               	/* #NOAPP */
 294               	.LBE38:
 295 009c 5093 0000 		sts timer1_pin_port+1,r21
 296 00a0 4093 0000 		sts timer1_pin_port,r20
 297               	.LBB40:
 176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 299               	.LM13:
 300 00a4 F901      		movw r30,r18
 301 00a6 E050      		subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
 302 00a8 F040      		sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
 303               	/* #APP */
 304               	 ;  176 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 305 00aa E491      		lpm r30, Z
 306               		
 307               	 ;  0 "" 2
 308               	/* #NOAPP */
 309 00ac E093 0000 		sts timer1_pin_mask,r30
 310               	.LBE40:
 311               	.LBE37:
 312               	.LBE36:
 313               	.LBE35:
 314               	.LBE22:
 315               	.LBE21:
 245:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   uint8_t prescalarbits = 0b001;
 246:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   long toggle_count = 0;
 247:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   uint32_t ocr = 0;
 248:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   int8_t _timer;
 249:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 250:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   _timer = toneBegin(_pin);
 251:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 252:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   if (_timer >= 0)
 253:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   {
 254:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // Set the pinMode as OUTPUT
 255:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     pinMode(_pin, OUTPUT);
 317               	.LM14:
 318 00b0 61E0      		ldi r22,lo8(1)
 319 00b2 0E94 0000 		call pinMode
 320 00b6 21E0      		ldi r18,lo8(1)
 321 00b8 2D83      		std Y+5,r18
 322 00ba 00C0      		rjmp .L9
 323               	.L6:
 324               	.LBB48:
 325               	.LBB47:
 326               	.LBB46:
 327               	.LBB45:
 328               	.LBB44:
 159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR0B = 0;
 330               	.LM15:
 331 00bc 14BC      		out 0x24,__zero_reg__
 160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR0A, WGM01, 1);
 333               	.LM16:
 334 00be 15BC      		out 0x25,__zero_reg__
 161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TCCR0B, CS00, 1);
 336               	.LM17:
 337 00c0 94B5      		in r25,0x24
 338 00c2 9260      		ori r25,lo8(2)
 339 00c4 94BD      		out 0x24,r25
 162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer0_pin_port = portOutputRegister(digitalPinToPort(_pin));
 341               	.LM18:
 342 00c6 95B5      		in r25,0x25
 343 00c8 9160      		ori r25,lo8(1)
 344 00ca 95BD      		out 0x25,r25
 345               	.LBB41:
 346               	.LBB42:
 163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer0_pin_mask = digitalPinToBitMask(_pin);
 348               	.LM19:
 349 00cc 282F      		mov r18,r24
 350 00ce 30E0      		ldi r19,0
 351 00d0 F901      		movw r30,r18
 352 00d2 E050      		subi r30,lo8(-(digital_pin_to_port_PGM))
 353 00d4 F040      		sbci r31,hi8(-(digital_pin_to_port_PGM))
 354               	/* #APP */
 355               	 ;  163 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 356 00d6 E491      		lpm r30, Z
 357               		
 358               	 ;  0 "" 2
 359               	/* #NOAPP */
 360               	.LBE42:
 361 00d8 F0E0      		ldi r31,0
 362 00da EE0F      		lsl r30
 363 00dc FF1F      		rol r31
 364 00de E050      		subi r30,lo8(-(port_to_output_PGM))
 365 00e0 F040      		sbci r31,hi8(-(port_to_output_PGM))
 366               	/* #APP */
 367               	 ;  163 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 368 00e2 4591      		lpm r20, Z+
 369 00e4 5491      		lpm r21, Z
 370               		
 371               	 ;  0 "" 2
 372               	/* #NOAPP */
 373               	.LBE41:
 374 00e6 5093 0000 		sts timer0_pin_port+1,r21
 375 00ea 4093 0000 		sts timer0_pin_port,r20
 376               	.LBB43:
 164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 378               	.LM20:
 379 00ee F901      		movw r30,r18
 380 00f0 E050      		subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
 381 00f2 F040      		sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
 382               	/* #APP */
 383               	 ;  164 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 384 00f4 E491      		lpm r30, Z
 385               		
 386               	 ;  0 "" 2
 387               	/* #NOAPP */
 388 00f6 E093 0000 		sts timer0_pin_mask,r30
 389 00fa 1D82      		std Y+5,__zero_reg__
 390 00fc 00C0      		rjmp .L8
 391               	.L5:
 392               	.LBE43:
 393               	.LBE44:
 394               	.LBE45:
 395               	.LBE46:
 396               	.LBE47:
 397               	.LBE48:
 252:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   {
 399               	.LM21:
 400 00fe 9D81      		ldd r25,Y+5
 401 0100 97FD      		sbrc r25,7
 402 0102 00C0      		rjmp .L1
 403               	.L8:
 405               	.LM22:
 406 0104 61E0      		ldi r22,lo8(1)
 407 0106 0E94 0000 		call pinMode
 256:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     
 257:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // if we are using an 8 bit timer, scan through prescalars to find the best fit
 258:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     if (_timer == 0 || _timer == 2)
 409               	.LM23:
 410 010a 8D81      		ldd r24,Y+5
 411 010c 8D7F      		andi r24,lo8(-3)
 412 010e 01F0      		breq .+2
 413 0110 00C0      		rjmp .L9
 259:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 260:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       ocr = F_CPU / frequency / 2 - 1;
 415               	.LM24:
 416 0112 4801      		movw r8,r16
 417 0114 A12C      		mov r10,__zero_reg__
 418 0116 B12C      		mov r11,__zero_reg__
 419 0118 60E0      		ldi r22,0
 420 011a 72E1      		ldi r23,lo8(18)
 421 011c 8AE7      		ldi r24,lo8(122)
 422 011e 90E0      		ldi r25,0
 423 0120 A501      		movw r20,r10
 424 0122 9401      		movw r18,r8
 425 0124 0E94 0000 		call __divmodsi4
 426 0128 2983      		std Y+1,r18
 427 012a 3A83      		std Y+2,r19
 428 012c 4B83      		std Y+3,r20
 429 012e 5C83      		std Y+4,r21
 430 0130 6901      		movw r12,r18
 431 0132 7A01      		movw r14,r20
 432 0134 21E0      		ldi r18,1
 433 0136 C21A      		sub r12,r18
 434 0138 D108      		sbc r13,__zero_reg__
 435 013a E108      		sbc r14,__zero_reg__
 436 013c F108      		sbc r15,__zero_reg__
 261:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       prescalarbits = 0b001;  // ck/1: same for both timers
 262:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (ocr > 255)
 438               	.LM25:
 439 013e 8FEF      		ldi r24,-1
 440 0140 C816      		cp r12,r24
 441 0142 D104      		cpc r13,__zero_reg__
 442 0144 E104      		cpc r14,__zero_reg__
 443 0146 F104      		cpc r15,__zero_reg__
 444 0148 01F0      		breq .+2
 445 014a 00F4      		brsh .+2
 446 014c 00C0      		rjmp .L33
 263:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 264:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         ocr = F_CPU / frequency / 2 / 8 - 1;
 448               	.LM26:
 449 014e 60E4      		ldi r22,lo8(64)
 450 0150 72E4      		ldi r23,lo8(66)
 451 0152 8FE0      		ldi r24,lo8(15)
 452 0154 90E0      		ldi r25,0
 453 0156 A501      		movw r20,r10
 454 0158 9401      		movw r18,r8
 455 015a 0E94 0000 		call __divmodsi4
 456 015e 6901      		movw r12,r18
 457 0160 7A01      		movw r14,r20
 458 0162 91E0      		ldi r25,1
 459 0164 C91A      		sub r12,r25
 460 0166 D108      		sbc r13,__zero_reg__
 461 0168 E108      		sbc r14,__zero_reg__
 462 016a F108      		sbc r15,__zero_reg__
 265:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         prescalarbits = 0b010;  // ck/8: same for both timers
 266:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 267:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         if (_timer == 2 && ocr > 255)
 464               	.LM27:
 465 016c 2D81      		ldd r18,Y+5
 466 016e 2230      		cpi r18,lo8(2)
 467 0170 01F4      		brne .L12
 469               	.LM28:
 470 0172 8FEF      		ldi r24,-1
 471 0174 C816      		cp r12,r24
 472 0176 D104      		cpc r13,__zero_reg__
 473 0178 E104      		cpc r14,__zero_reg__
 474 017a F104      		cpc r15,__zero_reg__
 475 017c 01F0      		breq .+2
 476 017e 00F4      		brsh .+2
 477 0180 00C0      		rjmp .L13
 268:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         {
 269:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           ocr = F_CPU / frequency / 2 / 32 - 1;
 479               	.LM29:
 480 0182 60E9      		ldi r22,lo8(-112)
 481 0184 70ED      		ldi r23,lo8(-48)
 482 0186 83E0      		ldi r24,lo8(3)
 483 0188 90E0      		ldi r25,0
 484 018a A501      		movw r20,r10
 485 018c 9401      		movw r18,r8
 486 018e 0E94 0000 		call __divmodsi4
 487 0192 6901      		movw r12,r18
 488 0194 7A01      		movw r14,r20
 489 0196 91E0      		ldi r25,1
 490 0198 C91A      		sub r12,r25
 491 019a D108      		sbc r13,__zero_reg__
 492 019c E108      		sbc r14,__zero_reg__
 493 019e F108      		sbc r15,__zero_reg__
 270:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           prescalarbits = 0b011;
 271:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         }
 272:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 273:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         if (ocr > 255)
 495               	.LM30:
 496 01a0 2FEF      		ldi r18,-1
 497 01a2 C216      		cp r12,r18
 498 01a4 D104      		cpc r13,__zero_reg__
 499 01a6 E104      		cpc r14,__zero_reg__
 500 01a8 F104      		cpc r15,__zero_reg__
 501 01aa 01F0      		breq .+4
 502 01ac 00F0      		brlo .+2
 503 01ae 00C0      		rjmp .L14
 504 01b0 00C0      		rjmp .L18
 505               	.L12:
 506 01b2 8FEF      		ldi r24,-1
 507 01b4 C816      		cp r12,r24
 508 01b6 D104      		cpc r13,__zero_reg__
 509 01b8 E104      		cpc r14,__zero_reg__
 510 01ba F104      		cpc r15,__zero_reg__
 511 01bc 01F0      		breq .L34
 512 01be 00F0      		brlo .L34
 274:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         {
 275:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           ocr = F_CPU / frequency / 2 / 64 - 1;
 514               	.LM31:
 515 01c0 68E4      		ldi r22,lo8(72)
 516 01c2 78EE      		ldi r23,lo8(-24)
 517 01c4 81E0      		ldi r24,lo8(1)
 518 01c6 90E0      		ldi r25,0
 519 01c8 A501      		movw r20,r10
 520 01ca 9401      		movw r18,r8
 521 01cc 0E94 0000 		call __divmodsi4
 522 01d0 6901      		movw r12,r18
 523 01d2 7A01      		movw r14,r20
 524 01d4 91E0      		ldi r25,1
 525 01d6 C91A      		sub r12,r25
 526 01d8 D108      		sbc r13,__zero_reg__
 527 01da E108      		sbc r14,__zero_reg__
 528 01dc F108      		sbc r15,__zero_reg__
 276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           prescalarbits = _timer == 0 ? 0b011 : 0b100;
 530               	.LM32:
 531 01de 2D81      		ldd r18,Y+5
 532 01e0 2223      		tst r18
 533 01e2 01F4      		brne .+2
 534 01e4 00C0      		rjmp .L16
 535 01e6 00C0      		rjmp .L47
 536               	.L33:
 261:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (ocr > 255)
 538               	.LM33:
 539 01e8 81E0      		ldi r24,lo8(1)
 540 01ea 00C0      		rjmp .L11
 541               	.L34:
 265:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 543               	.LM34:
 544 01ec 82E0      		ldi r24,lo8(2)
 545               	.L11:
 277:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 278:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           if (_timer == 2 && ocr > 255)
 279:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 280:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             ocr = F_CPU / frequency / 2 / 128 - 1;
 281:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             prescalarbits = 0b101;
 282:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           }
 283:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           if (ocr > 255)
 285:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             ocr = F_CPU / frequency / 2 / 256 - 1;
 287:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             prescalarbits = _timer == 0 ? 0b100 : 0b110;
 288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             if (ocr > 255)
 289:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             {
 290:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****               // can't do any better than /1024
 291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****               ocr = F_CPU / frequency / 2 / 1024 - 1;
 292:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****               prescalarbits = _timer == 0 ? 0b101 : 0b111;
 293:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             }
 294:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           }
 295:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         }
 296:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 297:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 298:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR0B)
 299:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (_timer == 0)
 547               	.LM35:
 548 01ee 9D81      		ldd r25,Y+5
 549 01f0 9111      		cpse r25,__zero_reg__
 550 01f2 00C0      		rjmp .L18
 551               	.L28:
 300:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 301:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR0B = (TCCR0B & 0b11111000) | prescalarbits;
 553               	.LM36:
 554 01f4 95B5      		in r25,0x25
 555 01f6 987F      		andi r25,lo8(-8)
 556 01f8 892B      		or r24,r25
 557 01fa 85BD      		out 0x25,r24
 558 01fc 00C0      		rjmp .L18
 559               	.L9:
 302:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 303:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       else
 304:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 305:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR2B)
 306:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 307:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        TCCR2B = (TCCR2B & 0b11111000) | prescalarbits;
 308:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 309:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #else
 310:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 311:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // dummy place holder to make the above ifdefs work
 312:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 313:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 314:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 315:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     else
 316:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 317:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       // two choices for the 16 bit timers: ck/1 or ck/64
 318:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       ocr = F_CPU / frequency / 2 - 1;
 561               	.LM37:
 562 01fe 4801      		movw r8,r16
 563 0200 A12C      		mov r10,__zero_reg__
 564 0202 B12C      		mov r11,__zero_reg__
 565 0204 60E0      		ldi r22,0
 566 0206 72E1      		ldi r23,lo8(18)
 567 0208 8AE7      		ldi r24,lo8(122)
 568 020a 90E0      		ldi r25,0
 569 020c A501      		movw r20,r10
 570 020e 9401      		movw r18,r8
 571 0210 0E94 0000 		call __divmodsi4
 572 0214 6901      		movw r12,r18
 573 0216 7A01      		movw r14,r20
 574 0218 81E0      		ldi r24,1
 575 021a C81A      		sub r12,r24
 576 021c D108      		sbc r13,__zero_reg__
 577 021e E108      		sbc r14,__zero_reg__
 578 0220 F108      		sbc r15,__zero_reg__
 319:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 320:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       prescalarbits = 0b001;
 321:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (ocr > 0xffff)
 580               	.LM38:
 581 0222 C114      		cp r12,__zero_reg__
 582 0224 D104      		cpc r13,__zero_reg__
 583 0226 91E0      		ldi r25,1
 584 0228 E906      		cpc r14,r25
 585 022a F104      		cpc r15,__zero_reg__
 586 022c 00F0      		brlo .L35
 322:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 323:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         ocr = F_CPU / frequency / 2 / 64 - 1;
 588               	.LM39:
 589 022e 68E4      		ldi r22,lo8(72)
 590 0230 78EE      		ldi r23,lo8(-24)
 591 0232 81E0      		ldi r24,lo8(1)
 592 0234 90E0      		ldi r25,0
 593 0236 A501      		movw r20,r10
 594 0238 9401      		movw r18,r8
 595 023a 0E94 0000 		call __divmodsi4
 596 023e 6901      		movw r12,r18
 597 0240 7A01      		movw r14,r20
 598 0242 81E0      		ldi r24,1
 599 0244 C81A      		sub r12,r24
 600 0246 D108      		sbc r13,__zero_reg__
 601 0248 E108      		sbc r14,__zero_reg__
 602 024a F108      		sbc r15,__zero_reg__
 324:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         prescalarbits = 0b011;
 604               	.LM40:
 605 024c 83E0      		ldi r24,lo8(3)
 606 024e 00C0      		rjmp .L20
 607               	.L35:
 320:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (ocr > 0xffff)
 609               	.LM41:
 610 0250 81E0      		ldi r24,lo8(1)
 611               	.L20:
 325:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 326:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 327:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       if (_timer == 1)
 613               	.LM42:
 614 0252 9D81      		ldd r25,Y+5
 615 0254 9130      		cpi r25,lo8(1)
 616 0256 01F4      		brne .L18
 328:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       {
 329:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR1B)
 330:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR1B = (TCCR1B & 0b11111000) | prescalarbits;
 618               	.LM43:
 619 0258 9091 8100 		lds r25,129
 620 025c 987F      		andi r25,lo8(-8)
 621 025e 892B      		or r24,r25
 622 0260 8093 8100 		sts 129,r24
 331:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 332:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       }
 333:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR3B)
 334:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       else if (_timer == 3)
 335:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR3B = (TCCR3B & 0b11111000) | prescalarbits;
 336:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 337:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR4B)
 338:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       else if (_timer == 4)
 339:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR4B = (TCCR4B & 0b11111000) | prescalarbits;
 340:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 341:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TCCR5B)
 342:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       else if (_timer == 5)
 343:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TCCR5B = (TCCR5B & 0b11111000) | prescalarbits;
 344:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 345:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 346:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 347:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     
 348:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 349:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // Calculate the toggle count
 350:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     if (duration > 0)
 624               	.LM44:
 625 0264 4114      		cp r4,__zero_reg__
 626 0266 5104      		cpc r5,__zero_reg__
 627 0268 6104      		cpc r6,__zero_reg__
 628 026a 7104      		cpc r7,__zero_reg__
 629 026c 01F4      		brne .L21
 351:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 352:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       toggle_count = 2 * frequency * duration / 1000;
 353:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 354:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     else
 355:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 356:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       toggle_count = -1;
 631               	.LM45:
 632 026e 2FEF      		ldi r18,lo8(-1)
 633 0270 3FEF      		ldi r19,lo8(-1)
 634 0272 A901      		movw r20,r18
 635 0274 00C0      		rjmp .L22
 636               	.L14:
 275:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           prescalarbits = _timer == 0 ? 0b011 : 0b100;
 638               	.LM46:
 639 0276 68E4      		ldi r22,lo8(72)
 640 0278 78EE      		ldi r23,lo8(-24)
 641 027a 81E0      		ldi r24,lo8(1)
 642 027c 90E0      		ldi r25,0
 643 027e A501      		movw r20,r10
 644 0280 9401      		movw r18,r8
 645 0282 0E94 0000 		call __divmodsi4
 646 0286 6901      		movw r12,r18
 647 0288 7A01      		movw r14,r20
 648 028a 91E0      		ldi r25,1
 649 028c C91A      		sub r12,r25
 650 028e D108      		sbc r13,__zero_reg__
 651 0290 E108      		sbc r14,__zero_reg__
 652 0292 F108      		sbc r15,__zero_reg__
 278:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 654               	.LM47:
 655 0294 2FEF      		ldi r18,-1
 656 0296 C216      		cp r12,r18
 657 0298 D104      		cpc r13,__zero_reg__
 658 029a E104      		cpc r14,__zero_reg__
 659 029c F104      		cpc r15,__zero_reg__
 660 029e 01F0      		breq .+2
 661 02a0 00F4      		brsh .+2
 662 02a2 00C0      		rjmp .L13
 280:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             prescalarbits = 0b101;
 664               	.LM48:
 665 02a4 64E2      		ldi r22,lo8(36)
 666 02a6 74EF      		ldi r23,lo8(-12)
 667 02a8 80E0      		ldi r24,0
 668 02aa 90E0      		ldi r25,0
 669 02ac A501      		movw r20,r10
 670 02ae 9401      		movw r18,r8
 671 02b0 0E94 0000 		call __divmodsi4
 672 02b4 6901      		movw r12,r18
 673 02b6 7A01      		movw r14,r20
 674 02b8 81E0      		ldi r24,1
 675 02ba C81A      		sub r12,r24
 676 02bc D108      		sbc r13,__zero_reg__
 677 02be E108      		sbc r14,__zero_reg__
 678 02c0 F108      		sbc r15,__zero_reg__
 284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 680               	.LM49:
 681 02c2 9FEF      		ldi r25,-1
 682 02c4 C916      		cp r12,r25
 683 02c6 D104      		cpc r13,__zero_reg__
 684 02c8 E104      		cpc r14,__zero_reg__
 685 02ca F104      		cpc r15,__zero_reg__
 686 02cc 01F0      		breq .+4
 687 02ce 00F0      		brlo .+2
 688 02d0 00C0      		rjmp .L29
 689               	.L18:
 350:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 691               	.LM50:
 692 02d2 4114      		cp r4,__zero_reg__
 693 02d4 5104      		cpc r5,__zero_reg__
 694 02d6 6104      		cpc r6,__zero_reg__
 695 02d8 7104      		cpc r7,__zero_reg__
 696 02da 01F0      		breq .L36
 697               	.L21:
 352:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 699               	.LM51:
 700 02dc D801      		movw r26,r16
 701 02de AA0F      		lsl r26
 702 02e0 BB1F      		rol r27
 703 02e2 A301      		movw r20,r6
 704 02e4 9201      		movw r18,r4
 705 02e6 0E94 0000 		call __muluhisi3
 706 02ea 28EE      		ldi r18,lo8(-24)
 707 02ec 33E0      		ldi r19,lo8(3)
 708 02ee 40E0      		ldi r20,0
 709 02f0 50E0      		ldi r21,0
 710 02f2 0E94 0000 		call __udivmodsi4
 711 02f6 00C0      		rjmp .L23
 712               	.L36:
 714               	.LM52:
 715 02f8 2FEF      		ldi r18,lo8(-1)
 716 02fa 3FEF      		ldi r19,lo8(-1)
 717 02fc A901      		movw r20,r18
 718               	.L23:
 357:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 358:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 359:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // Set the OCR for the given timer,
 360:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // set the toggle count,
 361:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     // then turn on the interrupts
 362:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     switch (_timer)
 720               	.LM53:
 721 02fe 8D81      		ldd r24,Y+5
 722 0300 8823      		tst r24
 723 0302 01F0      		breq .L25
 724 0304 8130      		cpi r24,lo8(1)
 725 0306 01F0      		breq .+2
 726 0308 00C0      		rjmp .L1
 727 030a 00C0      		rjmp .L22
 728               	.L25:
 363:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 364:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 365:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR0A) && defined(TIMSK0) && defined(OCIE0A)
 366:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 0:
 367:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR0A = ocr;
 730               	.LM54:
 731 030c C7BC      		out 0x27,r12
 368:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer0_toggle_count = toggle_count;
 733               	.LM55:
 734 030e 2093 0000 		sts timer0_toggle_count,r18
 735 0312 3093 0000 		sts timer0_toggle_count+1,r19
 736 0316 4093 0000 		sts timer0_toggle_count+2,r20
 737 031a 5093 0000 		sts timer0_toggle_count+3,r21
 369:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK0, OCIE0A, 1);
 739               	.LM56:
 740 031e 8091 6E00 		lds r24,110
 741 0322 8260      		ori r24,lo8(2)
 742 0324 8093 6E00 		sts 110,r24
 370:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 744               	.LM57:
 745 0328 00C0      		rjmp .L1
 746               	.L22:
 371:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 372:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 373:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 1:
 374:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR1A) && defined(TIMSK1) && defined(OCIE1A)
 375:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR1A = ocr;
 748               	.LM58:
 749 032a D092 8900 		sts 136+1,r13
 750 032e C092 8800 		sts 136,r12
 376:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_toggle_count = toggle_count;
 752               	.LM59:
 753 0332 2093 0000 		sts timer1_toggle_count,r18
 754 0336 3093 0000 		sts timer1_toggle_count+1,r19
 755 033a 4093 0000 		sts timer1_toggle_count+2,r20
 756 033e 5093 0000 		sts timer1_toggle_count+3,r21
 377:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK1, OCIE1A, 1);
 758               	.LM60:
 759 0342 8091 6F00 		lds r24,111
 760 0346 8260      		ori r24,lo8(2)
 761 0348 8093 6F00 		sts 111,r24
 378:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #elif defined(OCR1A) && defined(TIMSK) && defined(OCIE1A)
 379:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         // this combination is for at least the ATmega32
 380:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR1A = ocr;
 381:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer1_toggle_count = toggle_count;
 382:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK, OCIE1A, 1);
 383:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 384:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 385:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 386:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR2A) && defined(TIMSK2) && defined(OCIE2A)
 387:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 2:
 388:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        OCR2A = ocr;
 389:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        timer2_toggle_count = toggle_count;
 390:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        bitWrite(TIMSK2, OCIE2A, 1);
 391:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 392:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 393:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 394:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR3A) && defined(TIMSK3) && defined(OCIE3A)
 395:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 3:
 396:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR3A = ocr;
 397:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer3_toggle_count = toggle_count;
 398:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK3, OCIE3A, 1);
 399:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 400:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 401:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 402:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR4A) && defined(TIMSK4) && defined(OCIE4A)
 403:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 4:
 404:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR4A = ocr;
 405:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer4_toggle_count = toggle_count;
 406:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK4, OCIE4A, 1);
 407:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 408:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 409:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 410:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(OCR5A) && defined(TIMSK5) && defined(OCIE5A)
 411:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       case 5:
 412:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         OCR5A = ocr;
 413:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         timer5_toggle_count = toggle_count;
 414:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         bitWrite(TIMSK5, OCIE5A, 1);
 415:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         break;
 416:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 417:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 418:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 419:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 420:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** }
 763               	.LM61:
 764 034c 00C0      		rjmp .L1
 765               	.L13:
 350:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     {
 767               	.LM62:
 768 034e 4114      		cp r4,__zero_reg__
 769 0350 5104      		cpc r5,__zero_reg__
 770 0352 6104      		cpc r6,__zero_reg__
 771 0354 7104      		cpc r7,__zero_reg__
 772 0356 01F4      		brne .+2
 773 0358 00C0      		rjmp .L1
 774 035a 00C0      		rjmp .L21
 775               	.L29:
 286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             prescalarbits = _timer == 0 ? 0b100 : 0b110;
 777               	.LM63:
 778 035c 62E1      		ldi r22,lo8(18)
 779 035e 7AE7      		ldi r23,lo8(122)
 780 0360 80E0      		ldi r24,0
 781 0362 90E0      		ldi r25,0
 782 0364 A501      		movw r20,r10
 783 0366 9401      		movw r18,r8
 784 0368 0E94 0000 		call __divmodsi4
 785 036c 6901      		movw r12,r18
 786 036e 7A01      		movw r14,r20
 787 0370 81E0      		ldi r24,1
 788 0372 C81A      		sub r12,r24
 789 0374 D108      		sbc r13,__zero_reg__
 790 0376 E108      		sbc r14,__zero_reg__
 791 0378 F108      		sbc r15,__zero_reg__
 288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             {
 793               	.LM64:
 794 037a 8FEF      		ldi r24,-1
 795 037c C816      		cp r12,r24
 796 037e D104      		cpc r13,__zero_reg__
 797 0380 E104      		cpc r14,__zero_reg__
 798 0382 F104      		cpc r15,__zero_reg__
 799 0384 01F0      		breq .+2
 800 0386 00F4      		brsh .+2
 801 0388 00C0      		rjmp .L18
 291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****               prescalarbits = _timer == 0 ? 0b101 : 0b111;
 803               	.LM65:
 804 038a 8981      		ldd r24,Y+1
 805 038c 9A81      		ldd r25,Y+2
 806 038e AB81      		ldd r26,Y+3
 807 0390 BC81      		ldd r27,Y+4
 808 0392 3AE0      		ldi r19,10
 809               		1:
 810 0394 B595      		asr r27
 811 0396 A795      		ror r26
 812 0398 9795      		ror r25
 813 039a 8795      		ror r24
 814 039c 3A95      		dec r19
 815 039e 01F4      		brne 1b
 816 03a0 6C01      		movw r12,r24
 817 03a2 7D01      		movw r14,r26
 818 03a4 21E0      		ldi r18,1
 819 03a6 C21A      		sub r12,r18
 820 03a8 D108      		sbc r13,__zero_reg__
 821 03aa E108      		sbc r14,__zero_reg__
 822 03ac F108      		sbc r15,__zero_reg__
 823 03ae 00C0      		rjmp .L18
 824               	.L47:
 284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 826               	.LM66:
 827 03b0 9FEF      		ldi r25,-1
 828 03b2 C916      		cp r12,r25
 829 03b4 D104      		cpc r13,__zero_reg__
 830 03b6 E104      		cpc r14,__zero_reg__
 831 03b8 F104      		cpc r15,__zero_reg__
 832 03ba 01F0      		breq .+2
 833 03bc 00F4      		brsh .L29
 276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 835               	.LM67:
 836 03be 84E0      		ldi r24,lo8(4)
 837 03c0 00C0      		rjmp .L11
 838               	.L16:
 284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****           {
 840               	.LM68:
 841 03c2 2FEF      		ldi r18,-1
 842 03c4 C216      		cp r12,r18
 843 03c6 D104      		cpc r13,__zero_reg__
 844 03c8 E104      		cpc r14,__zero_reg__
 845 03ca F104      		cpc r15,__zero_reg__
 846 03cc 01F0      		breq .L48
 847 03ce 00F0      		brlo .L48
 286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             prescalarbits = _timer == 0 ? 0b100 : 0b110;
 849               	.LM69:
 850 03d0 62E1      		ldi r22,lo8(18)
 851 03d2 7AE7      		ldi r23,lo8(122)
 852 03d4 80E0      		ldi r24,0
 853 03d6 90E0      		ldi r25,0
 854 03d8 A501      		movw r20,r10
 855 03da 9401      		movw r18,r8
 856 03dc 0E94 0000 		call __divmodsi4
 857 03e0 6901      		movw r12,r18
 858 03e2 7A01      		movw r14,r20
 859 03e4 81E0      		ldi r24,1
 860 03e6 C81A      		sub r12,r24
 861 03e8 D108      		sbc r13,__zero_reg__
 862 03ea E108      		sbc r14,__zero_reg__
 863 03ec F108      		sbc r15,__zero_reg__
 288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             {
 865               	.LM70:
 866 03ee 9FEF      		ldi r25,-1
 867 03f0 C916      		cp r12,r25
 868 03f2 D104      		cpc r13,__zero_reg__
 869 03f4 E104      		cpc r14,__zero_reg__
 870 03f6 F104      		cpc r15,__zero_reg__
 871 03f8 01F0      		breq .L49
 872 03fa 00F0      		brlo .L49
 291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****               prescalarbits = _timer == 0 ? 0b101 : 0b111;
 874               	.LM71:
 875 03fc 8981      		ldd r24,Y+1
 876 03fe 9A81      		ldd r25,Y+2
 877 0400 AB81      		ldd r26,Y+3
 878 0402 BC81      		ldd r27,Y+4
 879 0404 2AE0      		ldi r18,10
 880               		1:
 881 0406 B595      		asr r27
 882 0408 A795      		ror r26
 883 040a 9795      		ror r25
 884 040c 8795      		ror r24
 885 040e 2A95      		dec r18
 886 0410 01F4      		brne 1b
 887 0412 6C01      		movw r12,r24
 888 0414 7D01      		movw r14,r26
 889 0416 21E0      		ldi r18,1
 890 0418 C21A      		sub r12,r18
 891 041a D108      		sbc r13,__zero_reg__
 892 041c E108      		sbc r14,__zero_reg__
 893 041e F108      		sbc r15,__zero_reg__
 292:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             }
 895               	.LM72:
 896 0420 85E0      		ldi r24,lo8(5)
 897 0422 00C0      		rjmp .L28
 898               	.L49:
 287:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****             if (ocr > 255)
 900               	.LM73:
 901 0424 84E0      		ldi r24,lo8(4)
 902 0426 00C0      		rjmp .L28
 903               	.L48:
 276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 905               	.LM74:
 906 0428 83E0      		ldi r24,lo8(3)
 907 042a 00C0      		rjmp .L28
 908               	.L1:
 909               	/* epilogue start */
 911               	.LM75:
 912 042c 0F90      		pop __tmp_reg__
 913 042e 0F90      		pop __tmp_reg__
 914 0430 0F90      		pop __tmp_reg__
 915 0432 0F90      		pop __tmp_reg__
 916 0434 0F90      		pop __tmp_reg__
 917 0436 DF91      		pop r29
 918 0438 CF91      		pop r28
 919 043a 1F91      		pop r17
 920 043c 0F91      		pop r16
 921 043e FF90      		pop r15
 922 0440 EF90      		pop r14
 923 0442 DF90      		pop r13
 924 0444 CF90      		pop r12
 925 0446 BF90      		pop r11
 926 0448 AF90      		pop r10
 927 044a 9F90      		pop r9
 928 044c 8F90      		pop r8
 929 044e 7F90      		pop r7
 930 0450 6F90      		pop r6
 931 0452 5F90      		pop r5
 932 0454 4F90      		pop r4
 933 0456 0895      		ret
 945               	.Lscope1:
 947               		.stabd	78,0,0
 950               	.global	_Z12disableTimerh
 952               	_Z12disableTimerh:
 953               		.stabd	46,0,0
 421:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 422:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 423:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // XXX: this function only works properly for timer 2 (the only one we use
 424:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // currently).  for the others, it should end the tone, but won't restore
 425:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** // proper PWM functionality for the timer.
 426:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** void disableTimer(uint8_t _timer)
 427:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** {
 955               	.LM76:
 956               	.LFBB2:
 957               	/* prologue: function */
 958               	/* frame size = 0 */
 959               	/* stack size = 0 */
 960               	.L__stack_usage = 0
 428:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   switch (_timer)
 962               	.LM77:
 963 0458 8823      		tst r24
 964 045a 01F0      		breq .L52
 965 045c 8130      		cpi r24,lo8(1)
 966 045e 01F0      		breq .L53
 967 0460 0895      		ret
 968               	.L52:
 429:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   {
 430:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 0:
 431:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TIMSK0)
 432:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TIMSK0 = 0;
 970               	.LM78:
 971 0462 1092 6E00 		sts 110,__zero_reg__
 433:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #elif defined(TIMSK)
 434:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****         TIMSK = 0; // atmega32
 435:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 436:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 973               	.LM79:
 974 0466 0895      		ret
 975               	.L53:
 976               	.LBB51:
 977               	.LBB52:
 437:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 438:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK1) && defined(OCIE1A)
 439:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 1:
 440:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       bitWrite(TIMSK1, OCIE1A, 0);
 979               	.LM80:
 980 0468 8091 6F00 		lds r24,111
 981 046c 8D7F      		andi r24,lo8(-3)
 982 046e 8093 6F00 		sts 111,r24
 983 0472 0895      		ret
 984               	.LBE52:
 985               	.LBE51:
 987               	.Lscope2:
 989               		.stabd	78,0,0
 992               	.global	_Z6noToneh
 994               	_Z6noToneh:
 995               		.stabd	46,0,0
 441:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 442:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 443:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 444:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 2:
 445:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TIMSK2) && defined(OCIE2A)
 446:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        bitWrite(TIMSK2, OCIE2A, 0); // disable interrupt
 447:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 448:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR2A) && defined(WGM20)
 449:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        TCCR2A = (1 << WGM20);
 450:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 451:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(TCCR2B) && defined(CS22)
 452:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        TCCR2B = (TCCR2B & 0b11111000) | (1 << CS22);
 453:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 454:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #if defined(OCR2A)
 455:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** //        OCR2A = 0;
 456:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       #endif
 457:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 458:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 459:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK3) && defined(OCIE3A)
 460:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 3:
 461:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       bitWrite(TIMSK3, OCIE3A, 0);
 462:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 463:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 464:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 465:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK4) && defined(OCIE4A)
 466:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 4:
 467:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       bitWrite(TIMSK4, OCIE4A, 0);
 468:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 469:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 470:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 471:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #if defined(TIMSK5) && defined(OCIE5A)
 472:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     case 5:
 473:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       bitWrite(TIMSK5, OCIE5A, 0);
 474:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 475:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** #endif
 476:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 477:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** }
 478:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 479:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 480:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** void noTone(uint8_t _pin)
 481:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** {
 997               	.LM81:
 998               	.LFBB3:
 999 0474 CF93      		push r28
 1000               	/* prologue: function */
 1001               	/* frame size = 0 */
 1002               	/* stack size = 1 */
 1003               	.L__stack_usage = 1
 1004 0476 C82F      		mov r28,r24
 1005               	.LBB53:
 1006               	.LBB54:
 482:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   int8_t _timer = -1;
 483:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   
 484:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   for (int i = 0; i < AVAILABLE_TONE_PINS; i++) {
 485:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     if (tone_pins[i] == _pin) {
 1008               	.LM82:
 1009 0478 8091 0000 		lds r24,_ZL9tone_pins
 1010 047c C813      		cpse r28,r24
 1011 047e 00C0      		rjmp .L56
 1012               	.LBB55:
 1013               	.LBB56:
 486:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       _timer = pgm_read_byte(tone_pin_to_timer_PGM + i);
 1015               	.LM83:
 1016 0480 E0E0      		ldi r30,lo8(_ZL21tone_pin_to_timer_PGM)
 1017 0482 F0E0      		ldi r31,hi8(_ZL21tone_pin_to_timer_PGM)
 1018               	/* #APP */
 1019               	 ;  486 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
 1020 0484 8491      		lpm r24, Z
 1021               		
 1022               	 ;  0 "" 2
 1023               	/* #NOAPP */
 1024               	.LBE56:
 487:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       tone_pins[i] = 255;
 1026               	.LM84:
 1027 0486 9FEF      		ldi r25,lo8(-1)
 1028 0488 9093 0000 		sts _ZL9tone_pins,r25
 488:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****       break;
 1030               	.LM85:
 1031 048c 00C0      		rjmp .L55
 1032               	.L56:
 1033               	.LBE55:
 1034               	.LBE54:
 1035               	.LBE53:
 482:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   
 1037               	.LM86:
 1038 048e 8FEF      		ldi r24,lo8(-1)
 1039               	.L55:
 489:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****     }
 490:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   }
 491:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   
 492:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   disableTimer(_timer);
 1041               	.LM87:
 1042 0490 0E94 0000 		call _Z12disableTimerh
 493:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** 
 494:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp ****   digitalWrite(_pin, 0);
 1044               	.LM88:
 1045 0494 60E0      		ldi r22,0
 1046 0496 8C2F      		mov r24,r28
 1047               	/* epilogue start */
 495:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** }
 1049               	.LM89:
 1050 0498 CF91      		pop r28
 494:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp **** }
 1052               	.LM90:
 1053 049a 0C94 0000 		jmp digitalWrite
 1058               	.Lscope3:
 1060               		.stabd	78,0,0
 1061               		.data
 1064               	_ZL9tone_pins:
 1065 0000 FF        		.byte	-1
 1066               		.section	.progmem.data,"a",@progbits
 1069               	_ZL21tone_pin_to_timer_PGM:
 1070 0000 02        		.byte	2
 1071               	.global	timer2_pin_mask
 1072               		.section .bss
 1075               	timer2_pin_mask:
 1076 0000 00        		.zero	1
 1077               	.global	timer2_pin_port
 1080               	timer2_pin_port:
 1081 0001 0000      		.zero	2
 1082               	.global	timer2_toggle_count
 1085               	timer2_toggle_count:
 1086 0003 0000 0000 		.zero	4
 1087               	.global	timer1_pin_mask
 1090               	timer1_pin_mask:
 1091 0007 00        		.zero	1
 1092               	.global	timer1_pin_port
 1095               	timer1_pin_port:
 1096 0008 0000      		.zero	2
 1097               	.global	timer1_toggle_count
 1100               	timer1_toggle_count:
 1101 000a 0000 0000 		.zero	4
 1102               	.global	timer0_pin_mask
 1105               	timer0_pin_mask:
 1106 000e 00        		.zero	1
 1107               	.global	timer0_pin_port
 1110               	timer0_pin_port:
 1111 000f 0000      		.zero	2
 1112               	.global	timer0_toggle_count
 1115               	timer0_toggle_count:
 1116 0011 0000 0000 		.zero	4
 1142               		.text
 1144               	.Letext0:
 1145               		.ident	"GCC: (GNU) 5.4.0"
 1146               	.global __do_copy_data
 1147               	.global __do_clear_bss
DEFINED SYMBOLS
                            *ABS*:0000000000000000 Tone.cpp
     /tmp/cc4wHWXh.s:2      *ABS*:000000000000003e __SP_H__
     /tmp/cc4wHWXh.s:3      *ABS*:000000000000003d __SP_L__
     /tmp/cc4wHWXh.s:4      *ABS*:000000000000003f __SREG__
     /tmp/cc4wHWXh.s:5      *ABS*:0000000000000000 __tmp_reg__
     /tmp/cc4wHWXh.s:6      *ABS*:0000000000000001 __zero_reg__
     /tmp/cc4wHWXh.s:137    .text:0000000000000000 _Z4tonehjm
     /tmp/cc4wHWXh.s:1064   .data:0000000000000000 _ZL9tone_pins
     /tmp/cc4wHWXh.s:1069   .progmem.data:0000000000000000 _ZL21tone_pin_to_timer_PGM
     /tmp/cc4wHWXh.s:1095   .bss:0000000000000008 timer1_pin_port
     /tmp/cc4wHWXh.s:1090   .bss:0000000000000007 timer1_pin_mask
     /tmp/cc4wHWXh.s:1110   .bss:000000000000000f timer0_pin_port
     /tmp/cc4wHWXh.s:1105   .bss:000000000000000e timer0_pin_mask
     /tmp/cc4wHWXh.s:1115   .bss:0000000000000011 timer0_toggle_count
     /tmp/cc4wHWXh.s:1100   .bss:000000000000000a timer1_toggle_count
     /tmp/cc4wHWXh.s:952    .text:0000000000000458 _Z12disableTimerh
     /tmp/cc4wHWXh.s:994    .text:0000000000000474 _Z6noToneh
     /tmp/cc4wHWXh.s:1075   .bss:0000000000000000 timer2_pin_mask
     /tmp/cc4wHWXh.s:1080   .bss:0000000000000001 timer2_pin_port
     /tmp/cc4wHWXh.s:1085   .bss:0000000000000003 timer2_toggle_count

UNDEFINED SYMBOLS
digital_pin_to_port_PGM
port_to_output_PGM
digital_pin_to_bit_mask_PGM
pinMode
__divmodsi4
__muluhisi3
__udivmodsi4
digitalWrite
__do_copy_data
__do_clear_bss
