removed intermediate files

master
mitchellhansen 5 years ago
parent 6480bc593f
commit 42eea47f07

@ -1,6 +1,6 @@
# This Makefile includes the Arduino core sources. (Set ARDDIR here:)
ARDDIR = /home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/
ARDDIR = ./arduino
### These macros pertain to compiler flags
# Target file name (without extension).
@ -33,8 +33,10 @@ ARDLIBS2 = SPI
### These macros pertain to supporting Arduino libs
ifndef NO_ARDUINO
LDFLAGS += -lm # -lm = math library
ARDLIBDIR = $(ARDDIR)/libraries
ARDLIBDIR2 = $(ARDDIR)/hardware/arduino/avr/libraries
ARDCOREDIR = $(ARDDIR)/hardware/arduino/avr/cores/arduino
ifeq ($(MCU),atmega328p)
@ -48,6 +50,7 @@ ifndef NO_ARDUINO
ifeq ($(MCU),attiny85)
EXTRAINCDIRS += $(ARDDIR)/hardware/attiny/variants/tiny8
endif
# add Arduino sources and include directories to PSRC and EXTRAINCDIRS
SRC += $(wildcard $(ARDCOREDIR)/*.c)
@ -76,7 +79,7 @@ FORMAT = ihex
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC = $(ARDDIR)/hardware/arduino/avr/cores/arduino/wiring_pulse.S
ASRC =
# Optional compiler flags.
# -g: generate debugging information (for GDB, or for COFF conversion)

@ -1,12 +0,0 @@
CDC.o CDC.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/CDC.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,19 +0,0 @@
1 .file "CDC.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
146 .Letext0:
147 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 CDC.cpp
/tmp/ccIE7uOI.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccIE7uOI.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccIE7uOI.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccIE7uOI.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccIE7uOI.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,14 +0,0 @@
HardwareSerial.o HardwareSerial.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h

@ -1,14 +0,0 @@
HardwareSerial0.o HardwareSerial0.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h

@ -1,655 +0,0 @@
1 .file "HardwareSerial0.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
132 .section .text._ZN5Print17availableForWriteEv,"axG",@progbits,_ZN5Print17availableForWriteEv,comda
135 .weak _ZN5Print17availableForWriteEv
137 _ZN5Print17availableForWriteEv:
138 .stabd 46,0,0
140 .Ltext1:
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** Print.h - Base class that provides print() and println()
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** Copyright (c) 2008 David A. Mellis. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** */
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #ifndef Print_h
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #define Print_h
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #include <inttypes.h>
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #include <stdio.h> // for size_t
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #include "WString.h"
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #include "Printable.h"
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #define DEC 10
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #define HEX 16
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #define OCT 8
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #ifdef BIN // Prevent warnings if BIN is previously defined in "iotnx4.h" or similar
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #undef BIN
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #endif
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** #define BIN 2
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** class Print
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** {
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** private:
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** int write_error;
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t printNumber(unsigned long, uint8_t);
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t printFloat(double, uint8_t);
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** protected:
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** void setWriteError(int err = 1) { write_error = err; }
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** public:
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** Print() : write_error(0) {}
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** int getWriteError() { return write_error; }
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** void clearWriteError() { setWriteError(0); }
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** virtual size_t write(uint8_t) = 0;
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t write(const char *str) {
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** if (str == NULL) return 0;
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** return write((const uint8_t *)str, strlen(str));
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** }
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** virtual size_t write(const uint8_t *buffer, size_t size);
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t write(const char *buffer, size_t size) {
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** return write((const uint8_t *)buffer, size);
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** }
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** // default to zero, meaning "a single write may block"
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** // should be overriden by subclasses with buffering
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** virtual int availableForWrite() { return 0; }
142 .LM0:
143 .LFBB1:
144 /* prologue: function */
145 /* frame size = 0 */
146 /* stack size = 0 */
147 .L__stack_usage = 0
149 .LM1:
150 0000 80E0 ldi r24,0
151 0002 90E0 ldi r25,0
152 0004 0895 ret
154 .Lscope1:
156 .stabd 78,0,0
157 .section .text._ZN5Print5flushEv,"axG",@progbits,_ZN5Print5flushEv,comdat
160 .weak _ZN5Print5flushEv
162 _ZN5Print5flushEv:
163 .stabd 46,0,0
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(const __FlashStringHelper *);
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(const String &);
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(const char[]);
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(char);
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(unsigned char, int = DEC);
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(int, int = DEC);
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(unsigned int, int = DEC);
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(long, int = DEC);
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(unsigned long, int = DEC);
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(double, int = 2);
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t print(const Printable&);
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(const __FlashStringHelper *);
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(const String &s);
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(const char[]);
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(char);
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(unsigned char, int = DEC);
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(int, int = DEC);
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(unsigned int, int = DEC);
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(long, int = DEC);
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(unsigned long, int = DEC);
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(double, int = 2);
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(const Printable&);
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** size_t println(void);
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h **** virtual void flush() { /* Empty implementation for backward compatibility */ }
165 .LM2:
166 .LFBB2:
167 /* prologue: function */
168 /* frame size = 0 */
169 /* stack size = 0 */
170 .L__stack_usage = 0
171 0000 0895 ret
173 .Lscope2:
175 .stabd 78,0,0
176 .text
178 .global __vector_18
180 __vector_18:
181 .stabd 46,0,0
183 .Ltext2:
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** HardwareSerial0.cpp - Hardware serial library for Wiring
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Copyright (c) 2006 Nicholas Zambetti. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Modified 23 November 2006 by David A. Mellis
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Modified 28 September 2010 by Mark Sproul
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Modified 14 August 2012 by Alarus
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Modified 3 December 2013 by Matthijs Kooijman
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** */
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #include "Arduino.h"
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #include "HardwareSerial.h"
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #include "HardwareSerial_private.h"
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // Each HardwareSerial is defined in its own file, sine the linker pulls
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // in the entire file when any element inside is used. --gc-sections can
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // additionally cause unused symbols to be dropped, but ISRs have the
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // "used" attribute so are never dropped and they keep the
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // HardwareSerial instance in as well. Putting each instance in its own
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // file prevents the linker from pulling in any unused instances in the
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // first place.
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #if defined(HAVE_HWSERIAL0)
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #if defined(USART_RX_vect)
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(USART_RX_vect)
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #elif defined(USART0_RX_vect)
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(USART0_RX_vect)
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #elif defined(USART_RXC_vect)
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(USART_RXC_vect) // ATmega8
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #else
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #error "Don't know what the Data Received vector is called for Serial"
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #endif
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** {
185 .LM3:
186 .LFBB3:
188 .LM4:
189 0000 1F92 push r1
190 0002 0F92 push r0
191 0004 0FB6 in r0,__SREG__
192 0006 0F92 push r0
193 0008 1124 clr __zero_reg__
194 000a 2F93 push r18
195 000c 8F93 push r24
196 000e 9F93 push r25
197 0010 EF93 push r30
198 0012 FF93 push r31
199 /* prologue: Signal */
200 /* frame size = 0 */
201 /* stack size = 8 */
202 .L__stack_usage = 8
203 .LBB22:
204 .LBB23:
206 .Ltext3:
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** HardwareSerial_private.h - Hardware serial library for Wiring
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Copyright (c) 2006 Nicholas Zambetti. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Modified 23 November 2006 by David A. Mellis
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Modified 28 September 2010 by Mark Sproul
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** Modified 14 August 2012 by Alarus
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** */
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #include "wiring_private.h"
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // this next line disables the entire HardwareSerial.cpp,
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // this is so I can support Attiny series and any other chip without a uart
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if defined(HAVE_HWSERIAL0) || defined(HAVE_HWSERIAL1) || defined(HAVE_HWSERIAL2) || defined(HAVE_H
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Ensure that the various bit positions we use are available with a 0
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // postfix, so we can always use the values for UART0 for all UARTs. The
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // alternative, passing the various values for each UART to the
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // HardwareSerial constructor also works, but makes the code bigger and
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // slower.
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if !defined(TXC0)
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if defined(TXC)
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Some chips like ATmega8 don't have UPE, only PE. The other bits are
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // named as expected.
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if !defined(UPE) && defined(PE)
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UPE PE
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // On ATmega8, the uart and its bits are not numbered, so there is no TXC0 etc.
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define TXC0 TXC
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define RXEN0 RXEN
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define TXEN0 TXEN
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define RXCIE0 RXCIE
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UDRIE0 UDRIE
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define U2X0 U2X
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UPE0 UPE
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UDRE0 UDRE
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #elif defined(TXC1)
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Some devices have uart1 but no uart0
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define TXC0 TXC1
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define RXEN0 RXEN1
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define TXEN0 TXEN1
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define RXCIE0 RXCIE1
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UDRIE0 UDRIE1
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define U2X0 U2X1
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UPE0 UPE1
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #define UDRE0 UDRE1
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #else
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #error No UART found in HardwareSerial.cpp
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif // !defined TXC0
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Check at compiletime that it is really ok to use the bit positions of
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // UART0 for the other UARTs as well, in case these values ever get
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // changed for future hardware.
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if defined(TXC1) && (TXC1 != TXC0 || RXEN1 != RXEN0 || RXCIE1 != RXCIE0 || \
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRIE1 != UDRIE0 || U2X1 != U2X0 || UPE1 != UPE0 || \
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRE1 != UDRE0)
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #error "Not all bit positions for UART1 are the same as for UART0"
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if defined(TXC2) && (TXC2 != TXC0 || RXEN2 != RXEN0 || RXCIE2 != RXCIE0 || \
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRIE2 != UDRIE0 || U2X2 != U2X0 || UPE2 != UPE0 || \
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRE2 != UDRE0)
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #error "Not all bit positions for UART2 are the same as for UART0"
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #if defined(TXC3) && (TXC3 != TXC0 || RXEN3 != RXEN0 || RXCIE3 != RXCIE0 || \
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRIE3 != UDRIE0 || U3X3 != U3X0 || UPE3 != UPE0 || \
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** UDRE3 != UDRE0)
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #error "Not all bit positions for UART3 are the same as for UART0"
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** #endif
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Constructors ////////////////////////////////////////////////////////////////
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** HardwareSerial::HardwareSerial(
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** volatile uint8_t *ucsrc, volatile uint8_t *udr) :
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _ubrrh(ubrrh), _ubrrl(ubrrl),
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _ucsra(ucsra), _ucsrb(ucsrb), _ucsrc(ucsrc),
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _udr(udr),
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _rx_buffer_head(0), _rx_buffer_tail(0),
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _tx_buffer_head(0), _tx_buffer_tail(0)
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** {
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** }
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Actual interrupt handlers //////////////////////////////////////////////////////////////
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** void HardwareSerial::_rx_complete_irq(void)
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** {
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** if (bit_is_clear(*_ucsra, UPE0)) {
208 .LM5:
209 0014 E091 0000 lds r30,Serial+16
210 0018 F091 0000 lds r31,Serial+16+1
211 001c 8081 ld r24,Z
212 001e E091 0000 lds r30,Serial+22
213 0022 F091 0000 lds r31,Serial+22+1
214 0026 82FD sbrc r24,2
215 0028 00C0 rjmp .L4
216 .LBE23:
217 .LBB24:
218 .LBB25:
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // No Parity error, read byte and store it in the buffer if there is
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // room
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** unsigned char c = *_udr;
220 .LM6:
221 002a 9081 ld r25,Z
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** rx_buffer_index_t i = (unsigned int)(_rx_buffer_head + 1) % SERIAL_RX_BUFFER_SIZE;
223 .LM7:
224 002c 8091 0000 lds r24,Serial+25
225 0030 8F5F subi r24,lo8(-(1))
226 0032 8F73 andi r24,lo8(63)
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h ****
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // if we should be storing the received character into the location
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // just before the tail (meaning that the head would advance to the
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // current location of the tail), we're about to overflow the buffer
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // and so we don't write the character or advance the head.
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** if (i != _rx_buffer_tail) {
228 .LM8:
229 0034 2091 0000 lds r18,Serial+26
230 0038 8217 cp r24,r18
231 003a 01F0 breq .L3
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _rx_buffer[_rx_buffer_head] = c;
233 .LM9:
234 003c E091 0000 lds r30,Serial+25
235 0040 F0E0 ldi r31,0
236 0042 E050 subi r30,lo8(-(Serial))
237 0044 F040 sbci r31,hi8(-(Serial))
238 0046 958F std Z+29,r25
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** _rx_buffer_head = i;
240 .LM10:
241 0048 8093 0000 sts Serial+25,r24
242 004c 00C0 rjmp .L3
243 .L4:
244 .LBE25:
245 .LBE24:
246 .LBB26:
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** }
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** } else {
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** // Parity error, read byte but discard it
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** *_udr;
248 .LM11:
249 004e 8081 ld r24,Z
250 .L3:
251 /* epilogue start */
252 .LBE26:
253 .LBE22:
255 .Ltext4:
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Serial._rx_complete_irq();
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** }
257 .LM12:
258 0050 FF91 pop r31
259 0052 EF91 pop r30
260 0054 9F91 pop r25
261 0056 8F91 pop r24
262 0058 2F91 pop r18
263 005a 0F90 pop r0
264 005c 0FBE out __SREG__,r0
265 005e 0F90 pop r0
266 0060 1F90 pop r1
267 0062 1895 reti
273 .Lscope3:
275 .stabd 78,0,0
277 .global __vector_19
279 __vector_19:
280 .stabd 46,0,0
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #if defined(UART0_UDRE_vect)
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(UART0_UDRE_vect)
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #elif defined(UART_UDRE_vect)
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(UART_UDRE_vect)
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #elif defined(USART0_UDRE_vect)
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(USART0_UDRE_vect)
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #elif defined(USART_UDRE_vect)
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** ISR(USART_UDRE_vect)
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #else
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #error "Don't know what the Data Register Empty vector is called for Serial"
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #endif
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** {
282 .LM13:
283 .LFBB4:
284 0064 1F92 push r1
285 0066 0F92 push r0
286 0068 0FB6 in r0,__SREG__
287 006a 0F92 push r0
288 006c 1124 clr __zero_reg__
289 006e 2F93 push r18
290 0070 3F93 push r19
291 0072 4F93 push r20
292 0074 5F93 push r21
293 0076 6F93 push r22
294 0078 7F93 push r23
295 007a 8F93 push r24
296 007c 9F93 push r25
297 007e AF93 push r26
298 0080 BF93 push r27
299 0082 EF93 push r30
300 0084 FF93 push r31
301 /* prologue: Signal */
302 /* frame size = 0 */
303 /* stack size = 15 */
304 .L__stack_usage = 15
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** Serial._tx_udr_empty_irq();
306 .LM14:
307 0086 80E0 ldi r24,lo8(Serial)
308 0088 90E0 ldi r25,hi8(Serial)
309 008a 0E94 0000 call _ZN14HardwareSerial17_tx_udr_empty_irqEv
310 /* epilogue start */
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** }
312 .LM15:
313 008e FF91 pop r31
314 0090 EF91 pop r30
315 0092 BF91 pop r27
316 0094 AF91 pop r26
317 0096 9F91 pop r25
318 0098 8F91 pop r24
319 009a 7F91 pop r23
320 009c 6F91 pop r22
321 009e 5F91 pop r21
322 00a0 4F91 pop r20
323 00a2 3F91 pop r19
324 00a4 2F91 pop r18
325 00a6 0F90 pop r0
326 00a8 0FBE out __SREG__,r0
327 00aa 0F90 pop r0
328 00ac 1F90 pop r1
329 00ae 1895 reti
331 .Lscope4:
333 .stabd 78,0,0
335 .global _Z17Serial0_availablev
337 _Z17Serial0_availablev:
338 .stabd 46,0,0
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #if defined(UBRRH) && defined(UBRRL)
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** HardwareSerial Serial(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR);
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #else
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** HardwareSerial Serial(&UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UCSR0C, &UDR0);
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** #endif
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp ****
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // Function that can be weakly referenced by serialEventRun to prevent
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** // pulling in this file if it's not otherwise used.
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** bool Serial0_available() {
340 .LM16:
341 .LFBB5:
342 /* prologue: function */
343 /* frame size = 0 */
344 /* stack size = 0 */
345 .L__stack_usage = 0
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** return Serial.available();
347 .LM17:
348 00b0 80E0 ldi r24,lo8(Serial)
349 00b2 90E0 ldi r25,hi8(Serial)
350 00b4 0E94 0000 call _ZN14HardwareSerial9availableEv
351 00b8 21E0 ldi r18,lo8(1)
352 00ba 892B or r24,r25
353 00bc 01F4 brne .L9
354 00be 20E0 ldi r18,0
355 .L9:
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp **** }
357 .LM18:
358 00c0 822F mov r24,r18
359 00c2 0895 ret
361 .Lscope5:
363 .stabd 78,0,0
364 .section .text.startup,"ax",@progbits
367 _GLOBAL__sub_I___vector_18:
368 .stabd 46,0,0
370 .LM19:
371 .LFBB6:
372 /* prologue: function */
373 /* frame size = 0 */
374 /* stack size = 0 */
375 .L__stack_usage = 0
376 .LBB36:
377 .LBB37:
378 .LBB38:
379 .LBB39:
380 .LBB40:
381 .LBB41:
382 .LBB42:
384 .Ltext5:
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h ****
386 .LM20:
387 0000 E0E0 ldi r30,lo8(Serial)
388 0002 F0E0 ldi r31,hi8(Serial)
389 0004 1382 std Z+3,__zero_reg__
390 0006 1282 std Z+2,__zero_reg__
391 .LBE42:
392 .LBE41:
394 .Ltext6:
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** Stream.h - base class for character-based streams.
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** Copyright (c) 2010 David A. Mellis. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** parsing functions based on TextFinder library by Michael Margolis
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** */
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #ifndef Stream_h
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define Stream_h
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #include <inttypes.h>
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #include "Print.h"
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** // compatability macros for testing
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** /*
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define getInt() parseInt()
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define getInt(ignore) parseInt(ignore)
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define getFloat() parseFloat()
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define getFloat(ignore) parseFloat(ignore)
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define getString( pre_string, post_string, buffer, length)
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** readBytesBetween( pre_string, terminator, buffer, length)
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** */
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** // This enumeration provides the lookahead options for parseInt(), parseFloat()
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** // The rules set out here are used until either the first valid character is found
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** // or a time out occurs due to lack of input.
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** enum LookaheadMode{
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** SKIP_ALL, // All invalid characters are ignored.
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** SKIP_NONE, // Nothing is skipped, and the stream is not touched unless the first waiting c
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** SKIP_WHITESPACE // Only tabs, spaces, line feeds & carriage returns are skipped.
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** };
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** #define NO_IGNORE_CHAR '\x01' // a char not found in a valid ASCII numeric field
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** class Stream : public Print
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** {
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** protected:
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** unsigned long _timeout; // number of milliseconds to wait for the next char before abortin
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** unsigned long _startMillis; // used for timeout measurement
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** int timedRead(); // read stream with timeout
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** int timedPeek(); // peek stream with timeout
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** int peekNextDigit(LookaheadMode lookahead, bool detectDecimal); // returns the next numeric dig
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** public:
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** virtual int available() = 0;
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** virtual int read() = 0;
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** virtual int peek() = 0;
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h ****
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h **** Stream() {_timeout=1000;}
396 .LM21:
397 0008 88EE ldi r24,lo8(-24)
398 000a 93E0 ldi r25,lo8(3)
399 000c A0E0 ldi r26,0
400 000e B0E0 ldi r27,0
401 0010 8483 std Z+4,r24
402 0012 9583 std Z+5,r25
403 0014 A683 std Z+6,r26
404 0016 B783 std Z+7,r27
405 .LBE40:
406 .LBE39:
408 .Ltext7:
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h **** {
410 .LM22:
411 0018 80E0 ldi r24,lo8(_ZTV14HardwareSerial+4)
412 001a 90E0 ldi r25,hi8(_ZTV14HardwareSerial+4)
413 001c 9183 std Z+1,r25
414 001e 8083 st Z,r24
415 0020 85EC ldi r24,lo8(-59)
416 0022 90E0 ldi r25,0
417 0024 9587 std Z+13,r25
418 0026 8487 std Z+12,r24
419 0028 84EC ldi r24,lo8(-60)
420 002a 90E0 ldi r25,0
421 002c 9787 std Z+15,r25
422 002e 8687 std Z+14,r24
423 0030 80EC ldi r24,lo8(-64)
424 0032 90E0 ldi r25,0
425 0034 918B std Z+17,r25
426 0036 808B std Z+16,r24
427 0038 81EC ldi r24,lo8(-63)
428 003a 90E0 ldi r25,0
429 003c 938B std Z+19,r25
430 003e 828B std Z+18,r24
431 0040 82EC ldi r24,lo8(-62)
432 0042 90E0 ldi r25,0
433 0044 958B std Z+21,r25
434 0046 848B std Z+20,r24
435 0048 86EC ldi r24,lo8(-58)
436 004a 90E0 ldi r25,0
437 004c 978B std Z+23,r25
438 004e 868B std Z+22,r24
439 0050 118E std Z+25,__zero_reg__
440 0052 128E std Z+26,__zero_reg__
441 0054 138E std Z+27,__zero_reg__
442 0056 148E std Z+28,__zero_reg__
443 0058 0895 ret
444 .LBE38:
445 .LBE37:
446 .LBE36:
448 .Lscope6:
450 .stabd 78,0,0
451 .global __do_global_ctors
452 .section .ctors,"a",@progbits
453 .p2align 1
454 0000 0000 .word gs(_GLOBAL__sub_I___vector_18)
455 .global Serial
456 .section .bss
459 Serial:
460 0000 0000 0000 .zero 157
460 0000 0000
460 0000 0000
460 0000 0000
460 0000 0000
476 .text
478 .Letext0:
479 .ident "GCC: (GNU) 5.4.0"
480 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 HardwareSerial0.cpp
/tmp/ccH77AAm.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccH77AAm.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccH77AAm.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccH77AAm.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccH77AAm.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccH77AAm.s:137 .text._ZN5Print17availableForWriteEv:0000000000000000 _ZN5Print17availableForWriteEv
/tmp/ccH77AAm.s:162 .text._ZN5Print5flushEv:0000000000000000 _ZN5Print5flushEv
/tmp/ccH77AAm.s:180 .text:0000000000000000 __vector_18
/tmp/ccH77AAm.s:459 .bss:0000000000000000 Serial
/tmp/ccH77AAm.s:279 .text:0000000000000064 __vector_19
/tmp/ccH77AAm.s:337 .text:00000000000000b0 _Z17Serial0_availablev
/tmp/ccH77AAm.s:367 .text.startup:0000000000000000 _GLOBAL__sub_I___vector_18
UNDEFINED SYMBOLS
_ZN14HardwareSerial17_tx_udr_empty_irqEv
_ZN14HardwareSerial9availableEv
_ZTV14HardwareSerial
__do_global_ctors
__do_clear_bss

@ -1,14 +0,0 @@
HardwareSerial1.o HardwareSerial1.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial1.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h

@ -1,19 +0,0 @@
1 .file "HardwareSerial1.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
147 .Letext0:
148 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 HardwareSerial1.cpp
/tmp/cclmScwq.s:2 *ABS*:000000000000003e __SP_H__
/tmp/cclmScwq.s:3 *ABS*:000000000000003d __SP_L__
/tmp/cclmScwq.s:4 *ABS*:000000000000003f __SREG__
/tmp/cclmScwq.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/cclmScwq.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,14 +0,0 @@
HardwareSerial2.o HardwareSerial2.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial2.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h

@ -1,19 +0,0 @@
1 .file "HardwareSerial2.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
147 .Letext0:
148 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 HardwareSerial2.cpp
/tmp/ccJKqqsB.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccJKqqsB.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccJKqqsB.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccJKqqsB.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccJKqqsB.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,14 +0,0 @@
HardwareSerial3.o HardwareSerial3.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial3.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h

@ -1,19 +0,0 @@
1 .file "HardwareSerial3.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
147 .Letext0:
148 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 HardwareSerial3.cpp
/tmp/ccVSgBED.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccVSgBED.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccVSgBED.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccVSgBED.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccVSgBED.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,14 +0,0 @@
IPAddress.o IPAddress.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/IPAddress.h

@ -1,568 +0,0 @@
1 .file "IPAddress.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
137 .global _ZNK9IPAddress7printToER5Print
139 _ZNK9IPAddress7printToER5Print:
140 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress.cpp - Base class that provides IPAddress
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** Copyright (c) 2011 Adrian McEwen. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** */
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** #include <Arduino.h>
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** #include <IPAddress.h>
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress::IPAddress()
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.dword = 0;
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[0] = first_octet;
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[1] = second_octet;
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[2] = third_octet;
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[3] = fourth_octet;
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress::IPAddress(uint32_t address)
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.dword = address;
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress::IPAddress(const uint8_t *address)
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** memcpy(_address.bytes, address, sizeof(_address.bytes));
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** bool IPAddress::fromString(const char *address)
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** uint16_t acc = 0; // Accumulator
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** uint8_t dots = 0;
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** while (*address)
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** char c = *address++;
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** if (c >= '0' && c <= '9')
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** acc = acc * 10 + (c - '0');
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** if (acc > 255) {
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Value out of [0..255] range
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return false;
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** else if (c == '.')
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** if (dots == 3) {
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Too much dots (there must be 3 dots)
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return false;
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[dots++] = acc;
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** acc = 0;
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** else
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Invalid char
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return false;
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** if (dots != 3) {
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Too few dots (there must be 3 dots)
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return false;
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[3] = acc;
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return true;
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress& IPAddress::operator=(const uint8_t *address)
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** memcpy(_address.bytes, address, sizeof(_address.bytes));
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return *this;
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** IPAddress& IPAddress::operator=(uint32_t address)
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.dword = address;
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return *this;
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** bool IPAddress::operator==(const uint8_t* addr) const
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return memcmp(addr, _address.bytes, sizeof(_address.bytes)) == 0;
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** size_t IPAddress::printTo(Print& p) const
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
142 .LM0:
143 .LFBB1:
144 0000 8F92 push r8
145 0002 9F92 push r9
146 0004 AF92 push r10
147 0006 BF92 push r11
148 0008 CF92 push r12
149 000a DF92 push r13
150 000c EF92 push r14
151 000e FF92 push r15
152 0010 0F93 push r16
153 0012 1F93 push r17
154 0014 CF93 push r28
155 0016 DF93 push r29
156 /* prologue: function */
157 /* frame size = 0 */
158 /* stack size = 12 */
159 .L__stack_usage = 12
160 0018 7C01 movw r14,r24
161 001a 8B01 movw r16,r22
162 001c 4C01 movw r8,r24
163 001e 82E0 ldi r24,2
164 0020 880E add r8,r24
165 0022 911C adc r9,__zero_reg__
166 0024 5701 movw r10,r14
167 0026 E5E0 ldi r30,5
168 0028 AE0E add r10,r30
169 002a B11C adc r11,__zero_reg__
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** size_t n = 0;
171 .LM1:
172 002c C0E0 ldi r28,0
173 002e D0E0 ldi r29,0
174 .L2:
175 .LBB27:
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** for (int i =0; i < 3; i++)
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** n += p.print(_address.bytes[i], DEC);
177 .LM2:
178 0030 F401 movw r30,r8
179 0032 6191 ld r22,Z+
180 0034 4F01 movw r8,r30
181 0036 4AE0 ldi r20,lo8(10)
182 0038 50E0 ldi r21,0
183 003a C801 movw r24,r16
184 003c 0E94 0000 call _ZN5Print5printEhi
185 0040 6C01 movw r12,r24
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** n += p.print('.');
187 .LM3:
188 0042 6EE2 ldi r22,lo8(46)
189 0044 C801 movw r24,r16
190 0046 0E94 0000 call _ZN5Print5printEc
191 004a 8C0D add r24,r12
192 004c 9D1D adc r25,r13
193 004e C80F add r28,r24
194 0050 D91F adc r29,r25
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** for (int i =0; i < 3; i++)
196 .LM4:
197 0052 8A14 cp r8,r10
198 0054 9B04 cpc r9,r11
199 0056 01F4 brne .L2
200 .LBE27:
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** n += p.print(_address.bytes[3], DEC);
202 .LM5:
203 0058 4AE0 ldi r20,lo8(10)
204 005a 50E0 ldi r21,0
205 005c F701 movw r30,r14
206 005e 6581 ldd r22,Z+5
207 0060 C801 movw r24,r16
208 0062 0E94 0000 call _ZN5Print5printEhi
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return n;
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
210 .LM6:
211 0066 8C0F add r24,r28
212 0068 9D1F adc r25,r29
213 /* epilogue start */
214 006a DF91 pop r29
215 006c CF91 pop r28
216 006e 1F91 pop r17
217 0070 0F91 pop r16
218 0072 FF90 pop r15
219 0074 EF90 pop r14
220 0076 DF90 pop r13
221 0078 CF90 pop r12
222 007a BF90 pop r11
223 007c AF90 pop r10
224 007e 9F90 pop r9
225 0080 8F90 pop r8
226 0082 0895 ret
228 .Lscope1:
230 .stabd 78,0,0
233 .global _ZN9IPAddressC2Ev
235 _ZN9IPAddressC2Ev:
236 .stabd 46,0,0
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
238 .LM7:
239 .LFBB2:
240 /* prologue: function */
241 /* frame size = 0 */
242 /* stack size = 0 */
243 .L__stack_usage = 0
244 .LBB28:
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
246 .LM8:
247 0084 20E0 ldi r18,lo8(_ZTV9IPAddress+4)
248 0086 30E0 ldi r19,hi8(_ZTV9IPAddress+4)
249 0088 FC01 movw r30,r24
250 008a 3183 std Z+1,r19
251 008c 2083 st Z,r18
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
253 .LM9:
254 008e 1282 std Z+2,__zero_reg__
255 0090 1382 std Z+3,__zero_reg__
256 0092 1482 std Z+4,__zero_reg__
257 0094 1582 std Z+5,__zero_reg__
258 0096 0895 ret
259 .LBE28:
261 .Lscope2:
263 .stabd 78,0,0
264 .global _ZN9IPAddressC1Ev
265 .set _ZN9IPAddressC1Ev,_ZN9IPAddressC2Ev
272 .global _ZN9IPAddressC2Ehhhh
274 _ZN9IPAddressC2Ehhhh:
275 .stabd 46,0,0
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
277 .LM10:
278 .LFBB3:
279 0098 0F93 push r16
280 /* prologue: function */
281 /* frame size = 0 */
282 /* stack size = 1 */
283 .L__stack_usage = 1
284 009a FC01 movw r30,r24
285 .LBB29:
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
287 .LM11:
288 009c 80E0 ldi r24,lo8(_ZTV9IPAddress+4)
289 009e 90E0 ldi r25,hi8(_ZTV9IPAddress+4)
290 00a0 9183 std Z+1,r25
291 00a2 8083 st Z,r24
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[1] = second_octet;
293 .LM12:
294 00a4 6283 std Z+2,r22
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[2] = third_octet;
296 .LM13:
297 00a6 4383 std Z+3,r20
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.bytes[3] = fourth_octet;
299 .LM14:
300 00a8 2483 std Z+4,r18
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
302 .LM15:
303 00aa 0583 std Z+5,r16
304 /* epilogue start */
305 .LBE29:
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
307 .LM16:
308 00ac 0F91 pop r16
309 00ae 0895 ret
311 .Lscope3:
313 .stabd 78,0,0
314 .global _ZN9IPAddressC1Ehhhh
315 .set _ZN9IPAddressC1Ehhhh,_ZN9IPAddressC2Ehhhh
319 .global _ZN9IPAddressC2Em
321 _ZN9IPAddressC2Em:
322 .stabd 46,0,0
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
324 .LM17:
325 .LFBB4:
326 /* prologue: function */
327 /* frame size = 0 */
328 /* stack size = 0 */
329 .L__stack_usage = 0
330 .LBB30:
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
332 .LM18:
333 00b0 20E0 ldi r18,lo8(_ZTV9IPAddress+4)
334 00b2 30E0 ldi r19,hi8(_ZTV9IPAddress+4)
335 00b4 FC01 movw r30,r24
336 00b6 3183 std Z+1,r19
337 00b8 2083 st Z,r18
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
339 .LM19:
340 00ba 4283 std Z+2,r20
341 00bc 5383 std Z+3,r21
342 00be 6483 std Z+4,r22
343 00c0 7583 std Z+5,r23
344 00c2 0895 ret
345 .LBE30:
347 .Lscope4:
349 .stabd 78,0,0
350 .global _ZN9IPAddressC1Em
351 .set _ZN9IPAddressC1Em,_ZN9IPAddressC2Em
355 .global _ZN9IPAddressC2EPKh
357 _ZN9IPAddressC2EPKh:
358 .stabd 46,0,0
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
360 .LM20:
361 .LFBB5:
362 /* prologue: function */
363 /* frame size = 0 */
364 /* stack size = 0 */
365 .L__stack_usage = 0
366 .LBB31:
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
368 .LM21:
369 00c4 DC01 movw r26,r24
370 00c6 80E0 ldi r24,lo8(_ZTV9IPAddress+4)
371 00c8 90E0 ldi r25,hi8(_ZTV9IPAddress+4)
372 00ca 8D93 st X+,r24
373 00cc 9D93 st X+,r25
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
375 .LM22:
376 00ce 84E0 ldi r24,lo8(4)
377 00d0 FB01 movw r30,r22
378 0:
379 00d2 0190 ld r0,Z+
380 00d4 0D92 st X+,r0
381 00d6 8A95 dec r24
382 00d8 01F4 brne 0b
383 00da 0895 ret
384 .LBE31:
386 .Lscope5:
388 .stabd 78,0,0
389 .global _ZN9IPAddressC1EPKh
390 .set _ZN9IPAddressC1EPKh,_ZN9IPAddressC2EPKh
394 .global _ZN9IPAddress10fromStringEPKc
396 _ZN9IPAddress10fromStringEPKc:
397 .stabd 46,0,0
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** uint16_t acc = 0; // Accumulator
399 .LM23:
400 .LFBB6:
401 /* prologue: function */
402 /* frame size = 0 */
403 /* stack size = 0 */
404 .L__stack_usage = 0
405 00dc DC01 movw r26,r24
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
407 .LM24:
408 00de 90E0 ldi r25,0
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** uint8_t dots = 0;
410 .LM25:
411 00e0 20E0 ldi r18,0
412 00e2 30E0 ldi r19,0
413 00e4 8AE0 ldi r24,lo8(10)
414 .L10:
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
416 .LM26:
417 00e6 FB01 movw r30,r22
418 00e8 4191 ld r20,Z+
419 00ea BF01 movw r22,r30
420 00ec 4423 tst r20
421 00ee 01F0 breq .L11
422 .LBB32:
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
424 .LM27:
425 00f0 50ED ldi r21,lo8(-48)
426 00f2 540F add r21,r20
427 00f4 5A30 cpi r21,lo8(10)
428 00f6 00F4 brsh .L12
429 00f8 829F mul r24,r18
430 00fa F001 movw r30,r0
431 00fc 839F mul r24,r19
432 00fe F00D add r31,r0
433 0100 1124 clr __zero_reg__
434 0102 9F01 movw r18,r30
435 0104 2053 subi r18,48
436 0106 3109 sbc r19,__zero_reg__
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** if (acc > 255) {
438 .LM28:
439 0108 240F add r18,r20
440 010a 311D adc r19,__zero_reg__
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Value out of [0..255] range
442 .LM29:
443 010c 2F3F cpi r18,-1
444 010e 3105 cpc r19,__zero_reg__
445 0110 01F0 breq .L10
446 0112 00F0 brlo .L10
447 0114 00C0 rjmp .L18
448 .L12:
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** {
450 .LM30:
451 0116 4E32 cpi r20,lo8(46)
452 0118 01F4 brne .L18
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Too much dots (there must be 3 dots)
454 .LM31:
455 011a 9330 cpi r25,lo8(3)
456 011c 01F0 breq .L18
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** acc = 0;
458 .LM32:
459 011e FD01 movw r30,r26
460 0120 E90F add r30,r25
461 0122 F11D adc r31,__zero_reg__
462 0124 2283 std Z+2,r18
463 0126 9F5F subi r25,lo8(-(1))
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
465 .LM33:
466 0128 20E0 ldi r18,0
467 012a 30E0 ldi r19,0
468 012c 00C0 rjmp .L10
469 .L11:
470 .LBE32:
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** // Too few dots (there must be 3 dots)
472 .LM34:
473 012e 9330 cpi r25,lo8(3)
474 0130 01F4 brne .L18
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return true;
476 .LM35:
477 0132 1596 adiw r26,5
478 0134 2C93 st X,r18
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
480 .LM36:
481 0136 81E0 ldi r24,lo8(1)
482 0138 0895 ret
483 .L18:
484 .LBB33:
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
486 .LM37:
487 013a 80E0 ldi r24,0
488 .LBE33:
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
490 .LM38:
491 013c 0895 ret
496 .Lscope6:
498 .stabd 78,0,0
502 .global _ZN9IPAddressaSEPKh
504 _ZN9IPAddressaSEPKh:
505 .stabd 46,0,0
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** memcpy(_address.bytes, address, sizeof(_address.bytes));
507 .LM39:
508 .LFBB7:
509 /* prologue: function */
510 /* frame size = 0 */
511 /* stack size = 0 */
512 .L__stack_usage = 0
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return *this;
514 .LM40:
515 013e DC01 movw r26,r24
516 0140 1296 adiw r26,2
517 0142 24E0 ldi r18,lo8(4)
518 0144 FB01 movw r30,r22
519 0:
520 0146 0190 ld r0,Z+
521 0148 0D92 st X+,r0
522 014a 2A95 dec r18
523 014c 01F4 brne 0b
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
525 .LM41:
526 014e 0895 ret
528 .Lscope7:
530 .stabd 78,0,0
534 .global _ZN9IPAddressaSEm
536 _ZN9IPAddressaSEm:
537 .stabd 46,0,0
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** _address.dword = address;
539 .LM42:
540 .LFBB8:
541 /* prologue: function */
542 /* frame size = 0 */
543 /* stack size = 0 */
544 .L__stack_usage = 0
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return *this;
546 .LM43:
547 0150 FC01 movw r30,r24
548 0152 4283 std Z+2,r20
549 0154 5383 std Z+3,r21
550 0156 6483 std Z+4,r22
551 0158 7583 std Z+5,r23
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
553 .LM44:
554 015a 0895 ret
556 .Lscope8:
558 .stabd 78,0,0
562 .global _ZNK9IPAddresseqEPKh
564 _ZNK9IPAddresseqEPKh:
565 .stabd 46,0,0
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** return memcmp(addr, _address.bytes, sizeof(_address.bytes)) == 0;
567 .LM45:
568 .LFBB9:
569 /* prologue: function */
570 /* frame size = 0 */
571 /* stack size = 0 */
572 .L__stack_usage = 0
573 015c 9B01 movw r18,r22
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp **** }
575 .LM46:
576 015e BC01 movw r22,r24
577 0160 6E5F subi r22,-2
578 0162 7F4F sbci r23,-1
579 0164 44E0 ldi r20,lo8(4)
580 0166 50E0 ldi r21,0
581 0168 C901 movw r24,r18
582 016a 0E94 0000 call memcmp
583 016e 21E0 ldi r18,lo8(1)
584 0170 892B or r24,r25
585 0172 01F0 breq .L22
586 0174 20E0 ldi r18,0
587 .L22:
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/IPAddress.cpp ****
589 .LM47:
590 0176 822F mov r24,r18
591 0178 0895 ret
593 .Lscope9:
595 .stabd 78,0,0
596 .section .text.startup,"ax",@progbits
599 _GLOBAL__sub_I__ZN9IPAddressC2Ev:
600 .stabd 46,0,0
602 .LM48:
603 .LFBB10:
604 /* prologue: function */
605 /* frame size = 0 */
606 /* stack size = 0 */
607 .L__stack_usage = 0
608 0000 0895 ret
610 .Lscope10:
612 .stabd 78,0,0
613 .weak _ZTV9IPAddress
614 .section .rodata._ZTV9IPAddress,"aG",@progbits,_ZTV9IPAddress,comdat
617 _ZTV9IPAddress:
618 0000 0000 .word 0
619 0002 0000 .word 0
620 0004 0000 .word gs(_ZNK9IPAddress7printToER5Print)
635 .text
637 .Letext0:
638 .ident "GCC: (GNU) 5.4.0"
639 .global __do_copy_data
DEFINED SYMBOLS
*ABS*:0000000000000000 IPAddress.cpp
/tmp/ccXbDAfz.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccXbDAfz.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccXbDAfz.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccXbDAfz.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccXbDAfz.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccXbDAfz.s:139 .text:0000000000000000 _ZNK9IPAddress7printToER5Print
/tmp/ccXbDAfz.s:235 .text:0000000000000084 _ZN9IPAddressC2Ev
/tmp/ccXbDAfz.s:617 .rodata._ZTV9IPAddress:0000000000000000 _ZTV9IPAddress
/tmp/ccXbDAfz.s:235 .text:0000000000000084 _ZN9IPAddressC1Ev
/tmp/ccXbDAfz.s:274 .text:0000000000000098 _ZN9IPAddressC2Ehhhh
/tmp/ccXbDAfz.s:274 .text:0000000000000098 _ZN9IPAddressC1Ehhhh
/tmp/ccXbDAfz.s:321 .text:00000000000000b0 _ZN9IPAddressC2Em
/tmp/ccXbDAfz.s:321 .text:00000000000000b0 _ZN9IPAddressC1Em
/tmp/ccXbDAfz.s:357 .text:00000000000000c4 _ZN9IPAddressC2EPKh
/tmp/ccXbDAfz.s:357 .text:00000000000000c4 _ZN9IPAddressC1EPKh
/tmp/ccXbDAfz.s:396 .text:00000000000000dc _ZN9IPAddress10fromStringEPKc
/tmp/ccXbDAfz.s:504 .text:000000000000013e _ZN9IPAddressaSEPKh
/tmp/ccXbDAfz.s:536 .text:0000000000000150 _ZN9IPAddressaSEm
/tmp/ccXbDAfz.s:564 .text:000000000000015c _ZNK9IPAddresseqEPKh
/tmp/ccXbDAfz.s:599 .text.startup:0000000000000000 _GLOBAL__sub_I__ZN9IPAddressC2Ev
UNDEFINED SYMBOLS
_ZN5Print5printEhi
_ZN5Print5printEc
memcmp
__do_copy_data

@ -1,13 +0,0 @@
PluggableUSB.o PluggableUSB.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/PluggableUSB.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/PluggableUSB.h

@ -1,19 +0,0 @@
1 .file "PluggableUSB.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
146 .Letext0:
147 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 PluggableUSB.cpp
/tmp/cc9BijZG.s:2 *ABS*:000000000000003e __SP_H__
/tmp/cc9BijZG.s:3 *ABS*:000000000000003d __SP_L__
/tmp/cc9BijZG.s:4 *ABS*:000000000000003f __SREG__
/tmp/cc9BijZG.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/cc9BijZG.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,12 +0,0 @@
Print.o Print.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

File diff suppressed because it is too large Load Diff

@ -1,12 +0,0 @@
Stream.o Stream.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

File diff suppressed because it is too large Load Diff

@ -1,12 +0,0 @@
Tone.o Tone.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Tone.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

File diff suppressed because it is too large Load Diff

@ -1,13 +0,0 @@
USBCore.o USBCore.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBCore.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/PluggableUSB.h

@ -1,19 +0,0 @@
1 .file "USBCore.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
146 .Letext0:
147 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 USBCore.cpp
/tmp/cc3aPVgB.s:2 *ABS*:000000000000003e __SP_H__
/tmp/cc3aPVgB.s:3 *ABS*:000000000000003d __SP_L__
/tmp/cc3aPVgB.s:4 *ABS*:000000000000003f __SREG__
/tmp/cc3aPVgB.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/cc3aPVgB.s:6 *ABS*:0000000000000001 __zero_reg__
NO UNDEFINED SYMBOLS

@ -1,6 +0,0 @@
WInterrupts.o WInterrupts.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,540 +0,0 @@
1 .file "WInterrupts.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
134 nothing:
135 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** /* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** /*
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Part of the Wiring project - http://wiring.uniandes.edu.co
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Copyright (c) 2004-05 Hernando Barragan
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** This library is free software; you can redistribute it and/or
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** modify it under the terms of the GNU Lesser General Public
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** License as published by the Free Software Foundation; either
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** version 2.1 of the License, or (at your option) any later version.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** This library is distributed in the hope that it will be useful,
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Lesser General Public License for more details.
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** You should have received a copy of the GNU Lesser General
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Public License along with this library; if not, write to the
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Boston, MA 02111-1307 USA
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Modified 24 November 2006 by David A. Mellis
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** Modified 1 August 2010 by Mark Sproul
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** */
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include <inttypes.h>
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include <avr/io.h>
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include <avr/interrupt.h>
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include <avr/pgmspace.h>
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include <stdio.h>
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #include "wiring_private.h"
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** static void nothing(void) {
137 .LM0:
138 .LFBB1:
139 /* prologue: function */
140 /* frame size = 0 */
141 /* stack size = 0 */
142 .L__stack_usage = 0
143 0000 0895 ret
145 .Lscope1:
147 .stabd 78,0,0
152 .global attachInterrupt
154 attachInterrupt:
155 .stabd 46,0,0
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** static volatile voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS] = {
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 8
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #warning There are more than 8 external interrupts. Some callbacks may not be initialized.
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 7
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 6
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 5
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 4
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 3
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 2
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 1
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if EXTERNAL_NUM_INTERRUPTS > 0
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** nothing,
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** };
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // volatile static voidFuncPtr twiIntFunc;
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) {
157 .LM1:
158 .LFBB2:
159 /* prologue: function */
160 /* frame size = 0 */
161 /* stack size = 0 */
162 .L__stack_usage = 0
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
164 .LM2:
165 0002 8230 cpi r24,lo8(2)
166 0004 00F4 brsh .L2
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** intFunc[interruptNum] = userFunc;
168 .LM3:
169 0006 E82F mov r30,r24
170 0008 F0E0 ldi r31,0
171 000a EE0F lsl r30
172 000c FF1F rol r31
173 000e E050 subi r30,lo8(-(intFunc))
174 0010 F040 sbci r31,hi8(-(intFunc))
175 0012 7183 std Z+1,r23
176 0014 6083 st Z,r22
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // Configure the interrupt mode (trigger on low input, any change, rising
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // edge, or falling edge). The mode constants were chosen to correspond
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // to the configuration bits in the hardware register, so we simply shift
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // the mode into place.
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // Enable the interrupt.
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** switch (interruptNum) {
178 .LM4:
179 0016 8130 cpi r24,lo8(1)
180 0018 01F0 breq .L5
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(__AVR_ATmega32U4__)
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // I hate doing this, but the register assignment differs between the 1280/2560
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // and the 32U4. Since avrlib defines registers PCMSK1 and PCMSK2 that aren't
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // even present on the 32U4 this is the only way to distinguish between them.
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1<<ISC00) | (1<<ISC01))) | (mode << ISC00);
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1<<INT0);
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1<<ISC10) | (1<<ISC11))) | (mode << ISC10);
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1<<INT1);
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1<<ISC20) | (1<<ISC21))) | (mode << ISC20);
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1<<INT2);
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 3:
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1<<ISC30) | (1<<ISC31))) | (mode << ISC30);
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1<<INT3);
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 4:
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRB = (EICRB & ~((1<<ISC60) | (1<<ISC61))) | (mode << ISC60);
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1<<INT6);
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(EICRA) && defined(EICRB) && defined(EIMSK)
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT0);
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 3:
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT1);
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 4:
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT2);
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 5:
120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC30) | (1 << ISC31))) | (mode << ISC30);
121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT3);
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRB = (EICRB & ~((1 << ISC40) | (1 << ISC41))) | (mode << ISC40);
125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT4);
126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRB = (EICRB & ~((1 << ISC50) | (1 << ISC51))) | (mode << ISC50);
129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT5);
130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 6:
132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRB = (EICRB & ~((1 << ISC60) | (1 << ISC61))) | (mode << ISC60);
133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT6);
134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 7:
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRB = (EICRB & ~((1 << ISC70) | (1 << ISC71))) | (mode << ISC70);
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT7);
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EICRA) && defined(ISC00) && defined(EIMSK)
142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
182 .LM5:
183 001a 8091 6900 lds r24,105
184 001e 8C7F andi r24,lo8(-4)
185 0020 482B or r20,r24
186 0022 4093 6900 sts 105,r20
143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT0);
188 .LM6:
189 0026 E89A sbi 0x1d,0
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC00) && defined(GICR)
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR |= (1 << INT0);
147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC00) && defined(GIMSK)
148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00);
149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK |= (1 << INT0);
150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #error attachInterrupt not finished for this CPU (case 0)
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
191 .LM7:
192 0028 0895 ret
193 .L5:
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EICRA) && defined(ISC10) && defined(ISC11) && defined(EIMSK)
157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
195 .LM8:
196 002a 8091 6900 lds r24,105
197 002e 837F andi r24,lo8(-13)
198 0030 440F lsl r20
199 0032 551F rol r21
200 0034 440F lsl r20
201 0036 551F rol r21
202 0038 482B or r20,r24
203 003a 4093 6900 sts 105,r20
158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT1);
205 .LM9:
206 003e E99A sbi 0x1d,1
207 .L2:
208 0040 0895 ret
210 .Lscope2:
212 .stabd 78,0,0
215 .global detachInterrupt
217 detachInterrupt:
218 .stabd 46,0,0
159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC10) && defined(ISC11) && defined(GICR)
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR |= (1 << INT1);
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC10) && defined(GIMSK) && defined(GIMSK)
163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10);
164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK |= (1 << INT1);
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #warning attachInterrupt may need some more work for this cpu (case 1)
167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EICRA) && defined(ISC20) && defined(ISC21) && defined(EIMSK)
172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EICRA = (EICRA & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK |= (1 << INT2);
174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC20) && defined(ISC21) && defined(GICR)
175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR |= (1 << INT2);
177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(MCUCR) && defined(ISC20) && defined(GIMSK) && defined(GIMSK)
178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** MCUCR = (MCUCR & ~((1 << ISC20) | (1 << ISC21))) | (mode << ISC20);
179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK |= (1 << INT2);
180:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
181:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
182:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
183:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
187:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** void detachInterrupt(uint8_t interruptNum) {
220 .LM10:
221 .LFBB3:
222 /* prologue: function */
223 /* frame size = 0 */
224 /* stack size = 0 */
225 .L__stack_usage = 0
188:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** if(interruptNum < EXTERNAL_NUM_INTERRUPTS) {
227 .LM11:
228 0042 8230 cpi r24,lo8(2)
229 0044 00F4 brsh .L7
189:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // Disable the interrupt. (We can't assume that interruptNum is equal
190:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // to the number of the EIMSK bit to clear, as this isn't true on the
191:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** // ATmega8. There, INT0 is 6 and INT1 is 7.)
192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** switch (interruptNum) {
231 .LM12:
232 0046 8130 cpi r24,lo8(1)
233 0048 01F0 breq .L10
193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(__AVR_ATmega32U4__)
194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
195:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1<<INT0);
196:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
197:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
198:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1<<INT1);
199:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
200:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
201:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1<<INT2);
202:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
203:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 3:
204:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1<<INT3);
205:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
206:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 4:
207:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1<<INT6);
208:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
209:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(EICRA) && defined(EICRB) && defined(EIMSK)
210:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
211:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT0);
212:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
213:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 3:
214:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT1);
215:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
216:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 4:
217:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT2);
218:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
219:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 5:
220:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT3);
221:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
222:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
223:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT4);
224:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
225:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
226:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT5);
227:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
228:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 6:
229:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT6);
230:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
231:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 7:
232:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT7);
233:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
234:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
235:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 0:
236:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EIMSK) && defined(INT0)
237:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT0);
235 .LM13:
236 004a E898 cbi 0x1d,0
238:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GICR) && defined(ISC00)
239:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR &= ~(1 << INT0); // atmega32
240:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GIMSK) && defined(INT0)
241:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK &= ~(1 << INT0);
242:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
243:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #error detachInterrupt not finished for this cpu
244:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
245:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
238 .LM14:
239 004c 00C0 rjmp .L11
240 .L10:
246:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
247:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 1:
248:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EIMSK) && defined(INT1)
249:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT1);
242 .LM15:
243 004e E998 cbi 0x1d,1
244 .L11:
250:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GICR) && defined(INT1)
251:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR &= ~(1 << INT1); // atmega32
252:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GIMSK) && defined(INT1)
253:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK &= ~(1 << INT1);
254:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
255:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #warning detachInterrupt may need some more work for this cpu (case 1)
256:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
257:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
258:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
259:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** case 2:
260:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(EIMSK) && defined(INT2)
261:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** EIMSK &= ~(1 << INT2);
262:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GICR) && defined(INT2)
263:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GICR &= ~(1 << INT2); // atmega32
264:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(GIMSK) && defined(INT2)
265:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** GIMSK &= ~(1 << INT2);
266:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(INT2)
267:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #warning detachInterrupt may need some more work for this cpu (case 2)
268:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
269:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** break;
270:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #endif
271:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
272:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
273:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** intFunc[interruptNum] = nothing;
246 .LM16:
247 0050 E82F mov r30,r24
248 0052 F0E0 ldi r31,0
249 0054 EE0F lsl r30
250 0056 FF1F rol r31
251 0058 E050 subi r30,lo8(-(intFunc))
252 005a F040 sbci r31,hi8(-(intFunc))
253 005c 80E0 ldi r24,lo8(gs(nothing))
254 005e 90E0 ldi r25,hi8(gs(nothing))
255 0060 9183 std Z+1,r25
256 0062 8083 st Z,r24
257 .L7:
258 0064 0895 ret
260 .Lscope3:
262 .stabd 78,0,0
264 .global __vector_1
266 __vector_1:
267 .stabd 46,0,0
274:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
275:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
277:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** /*
278:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** void attachInterruptTwi(void (*userFunc)(void) ) {
279:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** twiIntFunc = userFunc;
280:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
281:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** */
282:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
283:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #define IMPLEMENT_ISR(vect, interrupt) \
284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** ISR(vect) { \
285:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** intFunc[interrupt](); \
286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** }
287:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #if defined(__AVR_ATmega32U4__)
289:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
290:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_0)
291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1)
292:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT2_vect, EXTERNAL_INT_2)
293:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT3_vect, EXTERNAL_INT_3)
294:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT6_vect, EXTERNAL_INT_4)
295:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
296:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #elif defined(EICRA) && defined(EICRB)
297:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
298:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_2)
299:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_3)
300:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT2_vect, EXTERNAL_INT_4)
301:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT3_vect, EXTERNAL_INT_5)
302:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT4_vect, EXTERNAL_INT_0)
303:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT5_vect, EXTERNAL_INT_1)
304:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT6_vect, EXTERNAL_INT_6)
305:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT7_vect, EXTERNAL_INT_7)
306:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
307:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** #else
308:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c ****
309:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_0)
269 .LM17:
270 .LFBB4:
271 0066 1F92 push r1
272 0068 0F92 push r0
273 006a 0FB6 in r0,__SREG__
274 006c 0F92 push r0
275 006e 1124 clr __zero_reg__
276 0070 2F93 push r18
277 0072 3F93 push r19
278 0074 4F93 push r20
279 0076 5F93 push r21
280 0078 6F93 push r22
281 007a 7F93 push r23
282 007c 8F93 push r24
283 007e 9F93 push r25
284 0080 AF93 push r26
285 0082 BF93 push r27
286 0084 EF93 push r30
287 0086 FF93 push r31
288 /* prologue: Signal */
289 /* frame size = 0 */
290 /* stack size = 15 */
291 .L__stack_usage = 15
293 .LM18:
294 0088 E091 0000 lds r30,intFunc
295 008c F091 0000 lds r31,intFunc+1
296 0090 0995 icall
297 /* epilogue start */
298 0092 FF91 pop r31
299 0094 EF91 pop r30
300 0096 BF91 pop r27
301 0098 AF91 pop r26
302 009a 9F91 pop r25
303 009c 8F91 pop r24
304 009e 7F91 pop r23
305 00a0 6F91 pop r22
306 00a2 5F91 pop r21
307 00a4 4F91 pop r20
308 00a6 3F91 pop r19
309 00a8 2F91 pop r18
310 00aa 0F90 pop r0
311 00ac 0FBE out __SREG__,r0
312 00ae 0F90 pop r0
313 00b0 1F90 pop r1
314 00b2 1895 reti
316 .Lscope4:
318 .stabd 78,0,0
320 .global __vector_2
322 __vector_2:
323 .stabd 46,0,0
310:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WInterrupts.c **** IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1)
325 .LM19:
326 .LFBB5:
327 00b4 1F92 push r1
328 00b6 0F92 push r0
329 00b8 0FB6 in r0,__SREG__
330 00ba 0F92 push r0
331 00bc 1124 clr __zero_reg__
332 00be 2F93 push r18
333 00c0 3F93 push r19
334 00c2 4F93 push r20
335 00c4 5F93 push r21
336 00c6 6F93 push r22
337 00c8 7F93 push r23
338 00ca 8F93 push r24
339 00cc 9F93 push r25
340 00ce AF93 push r26
341 00d0 BF93 push r27
342 00d2 EF93 push r30
343 00d4 FF93 push r31
344 /* prologue: Signal */
345 /* frame size = 0 */
346 /* stack size = 15 */
347 .L__stack_usage = 15
349 .LM20:
350 00d6 E091 0000 lds r30,intFunc+2
351 00da F091 0000 lds r31,intFunc+2+1
352 00de 0995 icall
353 /* epilogue start */
354 00e0 FF91 pop r31
355 00e2 EF91 pop r30
356 00e4 BF91 pop r27
357 00e6 AF91 pop r26
358 00e8 9F91 pop r25
359 00ea 8F91 pop r24
360 00ec 7F91 pop r23
361 00ee 6F91 pop r22
362 00f0 5F91 pop r21
363 00f2 4F91 pop r20
364 00f4 3F91 pop r19
365 00f6 2F91 pop r18
366 00f8 0F90 pop r0
367 00fa 0FBE out __SREG__,r0
368 00fc 0F90 pop r0
369 00fe 1F90 pop r1
370 0100 1895 reti
372 .Lscope5:
374 .stabd 78,0,0
375 .data
378 intFunc:
379 0000 0000 .word gs(nothing)
380 0002 0000 .word gs(nothing)
396 .text
398 .Letext0:
399 .ident "GCC: (GNU) 5.4.0"
400 .global __do_copy_data
DEFINED SYMBOLS
*ABS*:0000000000000000 WInterrupts.c
/tmp/ccinSEFV.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccinSEFV.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccinSEFV.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccinSEFV.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccinSEFV.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccinSEFV.s:134 .text:0000000000000000 nothing
/tmp/ccinSEFV.s:154 .text:0000000000000002 attachInterrupt
/tmp/ccinSEFV.s:378 .data:0000000000000000 intFunc
/tmp/ccinSEFV.s:217 .text:0000000000000042 detachInterrupt
/tmp/ccinSEFV.s:266 .text:0000000000000066 __vector_1
/tmp/ccinSEFV.s:322 .text:00000000000000b4 __vector_2
UNDEFINED SYMBOLS
__do_copy_data

@ -1,2 +0,0 @@
WMath.o WMath.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp

@ -1,307 +0,0 @@
1 .file "WMath.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
82 .global _Z10randomSeedm
84 _Z10randomSeedm:
85 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** /* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** /*
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Part of the Wiring project - http://wiring.org.co
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Copyright (c) 2004-06 Hernando Barragan
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Modified 13 August 2006, David A. Mellis for Arduino - http://www.arduino.cc/
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** This library is free software; you can redistribute it and/or
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** modify it under the terms of the GNU Lesser General Public
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** License as published by the Free Software Foundation; either
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** version 2.1 of the License, or (at your option) any later version.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** This library is distributed in the hope that it will be useful,
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Lesser General Public License for more details.
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** You should have received a copy of the GNU Lesser General
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Public License along with this library; if not, write to the
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** Boston, MA 02111-1307 USA
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** */
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** extern "C" {
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** #include "stdlib.h"
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** void randomSeed(unsigned long seed)
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** {
87 .LM0:
88 .LFBB1:
89 /* prologue: function */
90 /* frame size = 0 */
91 /* stack size = 0 */
92 .L__stack_usage = 0
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** if (seed != 0) {
94 .LM1:
95 0000 6115 cp r22,__zero_reg__
96 0002 7105 cpc r23,__zero_reg__
97 0004 8105 cpc r24,__zero_reg__
98 0006 9105 cpc r25,__zero_reg__
99 0008 01F0 breq .L1
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** srandom(seed);
101 .LM2:
102 000a 0C94 0000 jmp srandom
103 .L1:
104 000e 0895 ret
106 .Lscope1:
108 .stabd 78,0,0
111 .global _Z6randoml
113 _Z6randoml:
114 .stabd 46,0,0
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** long random(long howbig)
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** {
116 .LM3:
117 .LFBB2:
118 0010 CF92 push r12
119 0012 DF92 push r13
120 0014 EF92 push r14
121 0016 FF92 push r15
122 /* prologue: function */
123 /* frame size = 0 */
124 /* stack size = 4 */
125 .L__stack_usage = 4
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** if (howbig == 0) {
127 .LM4:
128 0018 6115 cp r22,__zero_reg__
129 001a 7105 cpc r23,__zero_reg__
130 001c 8105 cpc r24,__zero_reg__
131 001e 9105 cpc r25,__zero_reg__
132 0020 01F0 breq .L6
133 0022 6B01 movw r12,r22
134 0024 7C01 movw r14,r24
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return 0;
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return random() % howbig;
136 .LM5:
137 0026 0E94 0000 call random
138 002a A701 movw r20,r14
139 002c 9601 movw r18,r12
140 002e 0E94 0000 call __divmodsi4
141 0032 00C0 rjmp .L5
142 .L6:
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return 0;
144 .LM6:
145 0034 60E0 ldi r22,0
146 0036 70E0 ldi r23,0
147 0038 CB01 movw r24,r22
148 .L5:
149 /* epilogue start */
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
151 .LM7:
152 003a FF90 pop r15
153 003c EF90 pop r14
154 003e DF90 pop r13
155 0040 CF90 pop r12
156 0042 0895 ret
158 .Lscope2:
160 .stabd 78,0,0
164 .global _Z6randomll
166 _Z6randomll:
167 .stabd 46,0,0
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** long random(long howsmall, long howbig)
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** {
169 .LM8:
170 .LFBB3:
171 0044 CF92 push r12
172 0046 DF92 push r13
173 0048 EF92 push r14
174 004a FF92 push r15
175 004c 0F93 push r16
176 004e 1F93 push r17
177 /* prologue: function */
178 /* frame size = 0 */
179 /* stack size = 6 */
180 .L__stack_usage = 6
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** if (howsmall >= howbig) {
182 .LM9:
183 0050 6217 cp r22,r18
184 0052 7307 cpc r23,r19
185 0054 8407 cpc r24,r20
186 0056 9507 cpc r25,r21
187 0058 04F4 brge .L8
188 005a 8901 movw r16,r18
189 005c 9A01 movw r18,r20
190 005e 6B01 movw r12,r22
191 0060 7C01 movw r14,r24
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return howsmall;
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** long diff = howbig - howsmall;
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return random(diff) + howsmall;
193 .LM10:
194 0062 C901 movw r24,r18
195 0064 B801 movw r22,r16
196 0066 6C19 sub r22,r12
197 0068 7D09 sbc r23,r13
198 006a 8E09 sbc r24,r14
199 006c 9F09 sbc r25,r15
200 006e 0E94 0000 call _Z6randoml
201 0072 6C0D add r22,r12
202 0074 7D1D adc r23,r13
203 0076 8E1D adc r24,r14
204 0078 9F1D adc r25,r15
205 .L8:
206 /* epilogue start */
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
208 .LM11:
209 007a 1F91 pop r17
210 007c 0F91 pop r16
211 007e FF90 pop r15
212 0080 EF90 pop r14
213 0082 DF90 pop r13
214 0084 CF90 pop r12
215 0086 0895 ret
217 .Lscope3:
219 .stabd 78,0,0
226 .global _Z3maplllll
228 _Z3maplllll:
229 .stabd 46,0,0
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** long map(long x, long in_min, long in_max, long out_min, long out_max)
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** {
231 .LM12:
232 .LFBB4:
233 0088 4F92 push r4
234 008a 5F92 push r5
235 008c 6F92 push r6
236 008e 7F92 push r7
237 0090 AF92 push r10
238 0092 BF92 push r11
239 0094 CF92 push r12
240 0096 DF92 push r13
241 0098 EF92 push r14
242 009a FF92 push r15
243 009c 0F93 push r16
244 009e 1F93 push r17
245 00a0 CF93 push r28
246 00a2 DF93 push r29
247 00a4 CDB7 in r28,__SP_L__
248 00a6 DEB7 in r29,__SP_H__
249 /* prologue: function */
250 /* frame size = 0 */
251 /* stack size = 14 */
252 .L__stack_usage = 14
253 00a8 2901 movw r4,r18
254 00aa 3A01 movw r6,r20
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
256 .LM13:
257 00ac 9B01 movw r18,r22
258 00ae AC01 movw r20,r24
259 00b0 2419 sub r18,r4
260 00b2 3509 sbc r19,r5
261 00b4 4609 sbc r20,r6
262 00b6 5709 sbc r21,r7
263 00b8 8989 ldd r24,Y+17
264 00ba 9A89 ldd r25,Y+18
265 00bc AB89 ldd r26,Y+19
266 00be BC89 ldd r27,Y+20
267 00c0 BC01 movw r22,r24
268 00c2 CD01 movw r24,r26
269 00c4 6A19 sub r22,r10
270 00c6 7B09 sbc r23,r11
271 00c8 8C09 sbc r24,r12
272 00ca 9D09 sbc r25,r13
273 00cc 0E94 0000 call __mulsi3
274 00d0 A801 movw r20,r16
275 00d2 9701 movw r18,r14
276 00d4 2419 sub r18,r4
277 00d6 3509 sbc r19,r5
278 00d8 4609 sbc r20,r6
279 00da 5709 sbc r21,r7
280 00dc 0E94 0000 call __divmodsi4
281 00e0 CA01 movw r24,r20
282 00e2 B901 movw r22,r18
283 00e4 6A0D add r22,r10
284 00e6 7B1D adc r23,r11
285 00e8 8C1D adc r24,r12
286 00ea 9D1D adc r25,r13
287 /* epilogue start */
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** }
289 .LM14:
290 00ec DF91 pop r29
291 00ee CF91 pop r28
292 00f0 1F91 pop r17
293 00f2 0F91 pop r16
294 00f4 FF90 pop r15
295 00f6 EF90 pop r14
296 00f8 DF90 pop r13
297 00fa CF90 pop r12
298 00fc BF90 pop r11
299 00fe AF90 pop r10
300 0100 7F90 pop r7
301 0102 6F90 pop r6
302 0104 5F90 pop r5
303 0106 4F90 pop r4
304 0108 0895 ret
307 .Lscope4:
309 .stabd 78,0,0
312 .global _Z8makeWordj
314 _Z8makeWordj:
315 .stabd 46,0,0
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp ****
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** unsigned int makeWord(unsigned int w) { return w; }
317 .LM15:
318 .LFBB5:
319 /* prologue: function */
320 /* frame size = 0 */
321 /* stack size = 0 */
322 .L__stack_usage = 0
324 .LM16:
325 010a 0895 ret
327 .Lscope5:
329 .stabd 78,0,0
333 .global _Z8makeWordhh
335 _Z8makeWordhh:
336 .stabd 46,0,0
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WMath.cpp **** unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; }
338 .LM17:
339 .LFBB6:
340 /* prologue: function */
341 /* frame size = 0 */
342 /* stack size = 0 */
343 .L__stack_usage = 0
345 .LM18:
346 010c 70E0 ldi r23,0
347 010e 9B01 movw r18,r22
348 0110 382B or r19,r24
349 0112 C901 movw r24,r18
350 0114 0895 ret
352 .Lscope6:
354 .stabd 78,0,0
356 .Letext0:
357 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 WMath.cpp
/tmp/ccjDyHpf.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccjDyHpf.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccjDyHpf.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccjDyHpf.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccjDyHpf.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccjDyHpf.s:84 .text:0000000000000000 _Z10randomSeedm
/tmp/ccjDyHpf.s:113 .text:0000000000000010 _Z6randoml
/tmp/ccjDyHpf.s:166 .text:0000000000000044 _Z6randomll
/tmp/ccjDyHpf.s:228 .text:0000000000000088 _Z3maplllll
/tmp/ccjDyHpf.s:314 .text:000000000000010a _Z8makeWordj
/tmp/ccjDyHpf.s:335 .text:000000000000010c _Z8makeWordhh
UNDEFINED SYMBOLS
srandom
random
__divmodsi4
__mulsi3

@ -1,3 +0,0 @@
WString.o WString.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/WString.h

File diff suppressed because it is too large Load Diff

@ -1,2 +0,0 @@
abi.o abi.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp

@ -1,75 +0,0 @@
1 .file "abi.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
80 .global __cxa_pure_virtual
82 __cxa_pure_virtual:
83 /* prologue: function */
84 /* frame size = 0 */
85 /* stack size = 0 */
86 .L__stack_usage = 0
87 0000 0E94 0000 call abort
90 .global __cxa_deleted_virtual
92 __cxa_deleted_virtual:
93 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** Copyright (c) 2014 Arduino. All right reserved.
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** This library is free software; you can redistribute it and/or
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** modify it under the terms of the GNU Lesser General Public
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** License as published by the Free Software Foundation; either
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** version 2.1 of the License, or (at your option) any later version.
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** This library is distributed in the hope that it will be useful,
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** See the GNU Lesser General Public License for more details.
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** You should have received a copy of the GNU Lesser General Public
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** License along with this library; if not, write to the Free Software
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** */
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** #include <stdlib.h>
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** extern "C" void __cxa_pure_virtual(void) __attribute__ ((__noreturn__));
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** extern "C" void __cxa_deleted_virtual(void) __attribute__ ((__noreturn__));
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** void __cxa_pure_virtual(void) {
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** // We might want to write some diagnostics to uart in this case
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** //std::terminate();
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** abort();
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** }
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp ****
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** void __cxa_deleted_virtual(void) {
95 .LM0:
96 .LFBB1:
97 /* prologue: function */
98 /* frame size = 0 */
99 /* stack size = 0 */
100 .L__stack_usage = 0
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** // We might want to write some diagnostics to uart in this case
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** //std::terminate();
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/abi.cpp **** abort();
102 .LM1:
103 0004 0E94 0000 call abort
105 .Lscope1:
107 .stabd 78,0,0
109 .Letext0:
110 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 abi.cpp
/tmp/cc5WnT3e.s:2 *ABS*:000000000000003e __SP_H__
/tmp/cc5WnT3e.s:3 *ABS*:000000000000003d __SP_L__
/tmp/cc5WnT3e.s:4 *ABS*:000000000000003f __SREG__
/tmp/cc5WnT3e.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/cc5WnT3e.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/cc5WnT3e.s:82 .text:0000000000000000 __cxa_pure_virtual
/tmp/cc5WnT3e.s:92 .text:0000000000000004 __cxa_deleted_virtual
UNDEFINED SYMBOLS
abort

@ -1,2 +0,0 @@
hooks.o hooks.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c

@ -1,62 +0,0 @@
1 .file "hooks.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
63 __empty:
64 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** Copyright (c) 2012 Arduino. All right reserved.
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c ****
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** This library is free software; you can redistribute it and/or
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** modify it under the terms of the GNU Lesser General Public
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** License as published by the Free Software Foundation; either
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** version 2.1 of the License, or (at your option) any later version.
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c ****
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** This library is distributed in the hope that it will be useful,
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** See the GNU Lesser General Public License for more details.
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c ****
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** You should have received a copy of the GNU Lesser General Public
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** License along with this library; if not, write to the Free Software
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** */
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** /**
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** * Empty yield() hook.
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** *
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** * This function is intended to be used by library writers to build
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** * libraries or sketches that supports cooperative threads.
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** *
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** * Its defined as a weak symbol and it can be redefined to implement a
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** * real cooperative scheduler.
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** */
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/hooks.c **** static void __empty() {
66 .LM0:
67 .LFBB1:
68 /* prologue: function */
69 /* frame size = 0 */
70 /* stack size = 0 */
71 .L__stack_usage = 0
72 0000 0895 ret
74 .Lscope1:
76 .stabd 78,0,0
77 .weak yield
78 .set yield,__empty
80 .Letext0:
81 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 hooks.c
/tmp/ccqFBzP1.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccqFBzP1.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccqFBzP1.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccqFBzP1.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccqFBzP1.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccqFBzP1.s:63 .text:0000000000000000 __empty
/tmp/ccqFBzP1.s:63 .text:0000000000000000 yield
NO UNDEFINED SYMBOLS

@ -1,13 +0,0 @@
main.o main.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,87 +0,0 @@
1 .file "main.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
132 .weak atexit
134 atexit:
135 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** main.cpp - Main loop for Arduino sketches
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** Copyright (c) 2005-2013 Arduino Team. All right reserved.
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** This library is free software; you can redistribute it and/or
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** modify it under the terms of the GNU Lesser General Public
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** License as published by the Free Software Foundation; either
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** version 2.1 of the License, or (at your option) any later version.
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** This library is distributed in the hope that it will be useful,
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** Lesser General Public License for more details.
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** You should have received a copy of the GNU Lesser General Public
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** License along with this library; if not, write to the Free Software
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** */
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** #include <Arduino.h>
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** // Declared weak in Arduino.h to allow user redefinitions.
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** int atexit(void (* /*func*/ )()) { return 0; }
137 .LM0:
138 .LFBB1:
139 /* prologue: function */
140 /* frame size = 0 */
141 /* stack size = 0 */
142 .L__stack_usage = 0
144 .LM1:
145 0000 80E0 ldi r24,0
146 0002 90E0 ldi r25,0
147 0004 0895 ret
149 .Lscope1:
151 .stabd 78,0,0
152 .weak initVariant
154 initVariant:
155 /* prologue: function */
156 /* frame size = 0 */
157 /* stack size = 0 */
158 .L__stack_usage = 0
159 0006 0895 ret
162 .weak _Z8setupUSBv
164 _Z8setupUSBv:
165 .stabd 46,0,0
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** // Weak empty variant initialization function.
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** // May be redefined by variant files.
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** void initVariant() __attribute__((weak));
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** void initVariant() { }
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp ****
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** void setupUSB() __attribute__((weak));
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/main.cpp **** void setupUSB() { }
167 .LM2:
168 .LFBB2:
169 /* prologue: function */
170 /* frame size = 0 */
171 /* stack size = 0 */
172 .L__stack_usage = 0
173 0008 0895 ret
175 .Lscope2:
177 .stabd 78,0,0
193 .Letext0:
194 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 main.cpp
/tmp/ccgqHX6I.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccgqHX6I.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccgqHX6I.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccgqHX6I.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccgqHX6I.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccgqHX6I.s:134 .text:0000000000000000 atexit
/tmp/ccgqHX6I.s:154 .text:0000000000000006 initVariant
/tmp/ccgqHX6I.s:164 .text:0000000000000008 _Z8setupUSBv
NO UNDEFINED SYMBOLS

@ -1,2 +0,0 @@
new.o new.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp

@ -1,99 +0,0 @@
1 .file "new.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
80 .global _Znwj
82 _Znwj:
83 /* prologue: function */
84 /* frame size = 0 */
85 /* stack size = 0 */
86 .L__stack_usage = 0
87 0000 0C94 0000 jmp malloc
91 .global _Znaj
93 _Znaj:
94 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** Copyright (c) 2014 Arduino. All right reserved.
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** This library is free software; you can redistribute it and/or
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** modify it under the terms of the GNU Lesser General Public
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** License as published by the Free Software Foundation; either
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** version 2.1 of the License, or (at your option) any later version.
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** This library is distributed in the hope that it will be useful,
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** but WITHOUT ANY WARRANTY; without even the implied warranty of
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** See the GNU Lesser General Public License for more details.
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** You should have received a copy of the GNU Lesser General Public
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** License along with this library; if not, write to the Free Software
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** */
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** #include <stdlib.h>
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** void *operator new(size_t size) {
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** return malloc(size);
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** }
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** void *operator new[](size_t size) {
96 .LM0:
97 .LFBB1:
98 /* prologue: function */
99 /* frame size = 0 */
100 /* stack size = 0 */
101 .L__stack_usage = 0
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** return malloc(size);
103 .LM1:
104 0004 0C94 0000 jmp malloc
106 .Lscope1:
108 .stabd 78,0,0
109 .global _ZdlPv
111 _ZdlPv:
112 /* prologue: function */
113 /* frame size = 0 */
114 /* stack size = 0 */
115 .L__stack_usage = 0
116 0008 0C94 0000 jmp free
120 .global _ZdaPv
122 _ZdaPv:
123 .stabd 46,0,0
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** }
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** void operator delete(void * ptr) {
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** free(ptr);
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** }
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp ****
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** void operator delete[](void * ptr) {
125 .LM2:
126 .LFBB2:
127 /* prologue: function */
128 /* frame size = 0 */
129 /* stack size = 0 */
130 .L__stack_usage = 0
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/new.cpp **** free(ptr);
132 .LM3:
133 000c 0C94 0000 jmp free
135 .Lscope2:
137 .stabd 78,0,0
139 .Letext0:
140 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 new.cpp
/tmp/ccsmXVCE.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccsmXVCE.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccsmXVCE.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccsmXVCE.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccsmXVCE.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccsmXVCE.s:82 .text:0000000000000000 _Znwj
/tmp/ccsmXVCE.s:93 .text:0000000000000004 _Znaj
/tmp/ccsmXVCE.s:111 .text:0000000000000008 _ZdlPv
/tmp/ccsmXVCE.s:122 .text:000000000000000c _ZdaPv
UNDEFINED SYMBOLS
malloc
free

@ -1,6 +0,0 @@
wiring.o wiring.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,803 +0,0 @@
1 .file "wiring.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
133 .global __vector_16
135 __vector_16:
136 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** wiring.c - Partial implementation of the Wiring API for the ATmega8.
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** Part of Arduino - http://www.arduino.cc/
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** Copyright (c) 2005-2006 David A. Mellis
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** 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/wiring.c **** 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/wiring.c **** 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/wiring.c **** 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/wiring.c ****
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** 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/wiring.c **** 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/wiring.c **** 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/wiring.c **** 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/wiring.c ****
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** You should have received a copy of the GNU Lesser General
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** Public License along with this library; if not, write to the
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** Boston, MA 02111-1307 USA
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** */
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #include "wiring_private.h"
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the prescaler is set so that timer0 ticks every 64 clock cycles, and the
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the overflow handler is called every 256 ticks.
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #define MICROSECONDS_PER_TIMER0_OVERFLOW (clockCyclesToMicroseconds(64 * 256))
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the whole number of milliseconds per timer0 overflow
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000)
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the fractional number of milliseconds per timer0 overflow. we shift right
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // by three to fit these numbers into a byte. (for the clock speeds we care
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // about - 8 and 16 MHz - this doesn't lose precision.)
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3)
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #define FRACT_MAX (1000 >> 3)
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** volatile unsigned long timer0_overflow_count = 0;
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** volatile unsigned long timer0_millis = 0;
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** static unsigned char timer0_fract = 0;
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TIM0_OVF_vect)
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** ISR(TIM0_OVF_vect)
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** ISR(TIMER0_OVF_vect)
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** {
138 .LM0:
139 .LFBB1:
140 0000 1F92 push r1
141 0002 0F92 push r0
142 0004 0FB6 in r0,__SREG__
143 0006 0F92 push r0
144 0008 1124 clr __zero_reg__
145 000a 2F93 push r18
146 000c 3F93 push r19
147 000e 8F93 push r24
148 0010 9F93 push r25
149 0012 AF93 push r26
150 0014 BF93 push r27
151 /* prologue: Signal */
152 /* frame size = 0 */
153 /* stack size = 9 */
154 .L__stack_usage = 9
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // copy these to local variables so they can be stored in registers
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // (volatile variables must be read from memory on every access)
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned long m = timer0_millis;
156 .LM1:
157 0016 8091 0000 lds r24,timer0_millis
158 001a 9091 0000 lds r25,timer0_millis+1
159 001e A091 0000 lds r26,timer0_millis+2
160 0022 B091 0000 lds r27,timer0_millis+3
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned char f = timer0_fract;
162 .LM2:
163 0026 3091 0000 lds r19,timer0_fract
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m += MILLIS_INC;
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** f += FRACT_INC;
165 .LM3:
166 002a 23E0 ldi r18,lo8(3)
167 002c 230F add r18,r19
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (f >= FRACT_MAX) {
169 .LM4:
170 002e 2D37 cpi r18,lo8(125)
171 0030 00F4 brsh .L2
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** f += FRACT_INC;
173 .LM5:
174 0032 0196 adiw r24,1
175 0034 A11D adc r26,__zero_reg__
176 0036 B11D adc r27,__zero_reg__
177 0038 00C0 rjmp .L3
178 .L2:
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** f -= FRACT_MAX;
180 .LM6:
181 003a 26E8 ldi r18,lo8(-122)
182 003c 230F add r18,r19
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m += 1;
184 .LM7:
185 003e 0296 adiw r24,2
186 0040 A11D adc r26,__zero_reg__
187 0042 B11D adc r27,__zero_reg__
188 .L3:
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** timer0_fract = f;
190 .LM8:
191 0044 2093 0000 sts timer0_fract,r18
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** timer0_millis = m;
193 .LM9:
194 0048 8093 0000 sts timer0_millis,r24
195 004c 9093 0000 sts timer0_millis+1,r25
196 0050 A093 0000 sts timer0_millis+2,r26
197 0054 B093 0000 sts timer0_millis+3,r27
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** timer0_overflow_count++;
199 .LM10:
200 0058 8091 0000 lds r24,timer0_overflow_count
201 005c 9091 0000 lds r25,timer0_overflow_count+1
202 0060 A091 0000 lds r26,timer0_overflow_count+2
203 0064 B091 0000 lds r27,timer0_overflow_count+3
204 0068 0196 adiw r24,1
205 006a A11D adc r26,__zero_reg__
206 006c B11D adc r27,__zero_reg__
207 006e 8093 0000 sts timer0_overflow_count,r24
208 0072 9093 0000 sts timer0_overflow_count+1,r25
209 0076 A093 0000 sts timer0_overflow_count+2,r26
210 007a B093 0000 sts timer0_overflow_count+3,r27
211 /* epilogue start */
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
213 .LM11:
214 007e BF91 pop r27
215 0080 AF91 pop r26
216 0082 9F91 pop r25
217 0084 8F91 pop r24
218 0086 3F91 pop r19
219 0088 2F91 pop r18
220 008a 0F90 pop r0
221 008c 0FBE out __SREG__,r0
222 008e 0F90 pop r0
223 0090 1F90 pop r1
224 0092 1895 reti
226 .Lscope1:
228 .stabd 78,0,0
230 .global millis
232 millis:
233 .stabd 46,0,0
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned long millis()
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** {
235 .LM12:
236 .LFBB2:
237 /* prologue: function */
238 /* frame size = 0 */
239 /* stack size = 0 */
240 .L__stack_usage = 0
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned long m;
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** uint8_t oldSREG = SREG;
242 .LM13:
243 0094 2FB7 in r18,__SREG__
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // disable interrupts while we read timer0_millis or we might get an
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // inconsistent value (e.g. in the middle of a write to timer0_millis)
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cli();
245 .LM14:
246 /* #APP */
247 ; 72 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
248 0096 F894 cli
249 ; 0 "" 2
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m = timer0_millis;
251 .LM15:
252 /* #NOAPP */
253 0098 6091 0000 lds r22,timer0_millis
254 009c 7091 0000 lds r23,timer0_millis+1
255 00a0 8091 0000 lds r24,timer0_millis+2
256 00a4 9091 0000 lds r25,timer0_millis+3
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** SREG = oldSREG;
258 .LM16:
259 00a8 2FBF out __SREG__,r18
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** return m;
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
261 .LM17:
262 00aa 0895 ret
268 .Lscope2:
270 .stabd 78,0,0
272 .global micros
274 micros:
275 .stabd 46,0,0
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned long micros() {
277 .LM18:
278 .LFBB3:
279 /* prologue: function */
280 /* frame size = 0 */
281 /* stack size = 0 */
282 .L__stack_usage = 0
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** unsigned long m;
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** uint8_t oldSREG = SREG, t;
284 .LM19:
285 00ac 3FB7 in r19,__SREG__
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cli();
287 .LM20:
288 /* #APP */
289 ; 83 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
290 00ae F894 cli
291 ; 0 "" 2
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m = timer0_overflow_count;
293 .LM21:
294 /* #NOAPP */
295 00b0 8091 0000 lds r24,timer0_overflow_count
296 00b4 9091 0000 lds r25,timer0_overflow_count+1
297 00b8 A091 0000 lds r26,timer0_overflow_count+2
298 00bc B091 0000 lds r27,timer0_overflow_count+3
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCNT0)
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** t = TCNT0;
300 .LM22:
301 00c0 26B5 in r18,0x26
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCNT0L)
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** t = TCNT0L;
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #error TIMER 0 not defined
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #ifdef TIFR0
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if ((TIFR0 & _BV(TOV0)) && (t < 255))
303 .LM23:
304 00c2 A89B sbis 0x15,0
305 00c4 00C0 rjmp .L7
307 .LM24:
308 00c6 2F3F cpi r18,lo8(-1)
309 00c8 01F0 breq .L7
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m++;
311 .LM25:
312 00ca 0196 adiw r24,1
313 00cc A11D adc r26,__zero_reg__
314 00ce B11D adc r27,__zero_reg__
315 .L7:
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if ((TIFR & _BV(TOV0)) && (t < 255))
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** m++;
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** SREG = oldSREG;
317 .LM26:
318 00d0 3FBF out __SREG__,r19
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond());
320 .LM27:
321 00d2 BA2F mov r27,r26
322 00d4 A92F mov r26,r25
323 00d6 982F mov r25,r24
324 00d8 8827 clr r24
325 00da 820F add r24,r18
326 00dc 911D adc r25,__zero_reg__
327 00de A11D adc r26,__zero_reg__
328 00e0 B11D adc r27,__zero_reg__
329 00e2 BC01 movw r22,r24
330 00e4 CD01 movw r24,r26
331 00e6 42E0 ldi r20,2
332 1:
333 00e8 660F lsl r22
334 00ea 771F rol r23
335 00ec 881F rol r24
336 00ee 991F rol r25
337 00f0 4A95 dec r20
338 00f2 01F4 brne 1b
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
340 .LM28:
341 00f4 0895 ret
348 .Lscope3:
350 .stabd 78,0,0
353 .global delay
355 delay:
356 .stabd 46,0,0
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** void delay(unsigned long ms)
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** {
358 .LM29:
359 .LFBB4:
360 00f6 8F92 push r8
361 00f8 9F92 push r9
362 00fa AF92 push r10
363 00fc BF92 push r11
364 00fe CF92 push r12
365 0100 DF92 push r13
366 0102 EF92 push r14
367 0104 FF92 push r15
368 /* prologue: function */
369 /* frame size = 0 */
370 /* stack size = 8 */
371 .L__stack_usage = 8
372 0106 6B01 movw r12,r22
373 0108 7C01 movw r14,r24
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** uint32_t start = micros();
375 .LM30:
376 010a 0E94 0000 call micros
377 010e 4B01 movw r8,r22
378 0110 5C01 movw r10,r24
379 .L15:
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** while (ms > 0) {
381 .LM31:
382 0112 C114 cp r12,__zero_reg__
383 0114 D104 cpc r13,__zero_reg__
384 0116 E104 cpc r14,__zero_reg__
385 0118 F104 cpc r15,__zero_reg__
386 011a 01F0 breq .L23
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** yield();
388 .LM32:
389 011c 0E94 0000 call yield
390 .L16:
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** while ( ms > 0 && (micros() - start) >= 1000) {
392 .LM33:
393 0120 0E94 0000 call micros
394 0124 DC01 movw r26,r24
395 0126 CB01 movw r24,r22
396 0128 8819 sub r24,r8
397 012a 9909 sbc r25,r9
398 012c AA09 sbc r26,r10
399 012e BB09 sbc r27,r11
400 0130 883E cpi r24,-24
401 0132 9340 sbci r25,3
402 0134 A105 cpc r26,__zero_reg__
403 0136 B105 cpc r27,__zero_reg__
404 0138 00F0 brlo .L15
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** ms--;
406 .LM34:
407 013a 21E0 ldi r18,1
408 013c C21A sub r12,r18
409 013e D108 sbc r13,__zero_reg__
410 0140 E108 sbc r14,__zero_reg__
411 0142 F108 sbc r15,__zero_reg__
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** start += 1000;
413 .LM35:
414 0144 88EE ldi r24,-24
415 0146 880E add r8,r24
416 0148 83E0 ldi r24,3
417 014a 981E adc r9,r24
418 014c A11C adc r10,__zero_reg__
419 014e B11C adc r11,__zero_reg__
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** while ( ms > 0 && (micros() - start) >= 1000) {
421 .LM36:
422 0150 C114 cp r12,__zero_reg__
423 0152 D104 cpc r13,__zero_reg__
424 0154 E104 cpc r14,__zero_reg__
425 0156 F104 cpc r15,__zero_reg__
426 0158 01F4 brne .L16
427 015a 00C0 rjmp .L15
428 .L23:
429 /* epilogue start */
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
431 .LM37:
432 015c FF90 pop r15
433 015e EF90 pop r14
434 0160 DF90 pop r13
435 0162 CF90 pop r12
436 0164 BF90 pop r11
437 0166 AF90 pop r10
438 0168 9F90 pop r9
439 016a 8F90 pop r8
440 016c 0895 ret
445 .Lscope4:
447 .stabd 78,0,0
450 .global delayMicroseconds
452 delayMicroseconds:
453 .stabd 46,0,0
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** /* Delay for the given number of microseconds. Assumes a 1, 8, 12, 16, 20 or 24 MHz clock. */
120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** void delayMicroseconds(unsigned int us)
121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** {
455 .LM38:
456 .LFBB5:
457 /* prologue: function */
458 /* frame size = 0 */
459 /* stack size = 0 */
460 .L__stack_usage = 0
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // call = 4 cycles + 2 to 4 cycles to init us(2 for constant delay, 4 for variable)
123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // calling avrlib's delay_us() function with low values (e.g. 1 or
125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // 2 microseconds) gives delays longer than desired.
126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** //delay_us(us);
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if F_CPU >= 24000000L
128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 24 MHz clock for the aventurous ones, trying to overclock
129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // zero delay fix
131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (!us) return; // = 3 cycles, (4 when true)
132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes a 1/6 of a microsecond (4 cycles)
134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it six times for each microsecond of
135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // delay requested.
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us *= 6; // x6 us, = 7 cycles
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // account for the time taken in the preceeding commands.
139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // we just burned 22 (24) cycles above, remove 5, (5*4=20)
140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 6 so we can substract 5
141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 5; //=2 cycles
142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 20000000L
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 20 MHz clock on rare Arduino boards
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for a one-microsecond delay, simply return. the overhead
147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // of the function call takes 18 (20) cycles, which is 1us
148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** __asm__ __volatile__ (
149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "nop" "\n\t"
150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "nop" "\n\t"
151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "nop" "\n\t"
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "nop"); //just waiting 4 cycles
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 1) return; // = 3 cycles, (4 when true)
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes a 1/5 of a microsecond (4 cycles)
156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it five times for each microsecond of
157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // delay requested.
158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us = (us << 2) + us; // x5 us, = 7 cycles
159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // account for the time taken in the preceeding commands.
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // we just burned 26 (28) cycles above, remove 7, (7*4=28)
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 10 so we can substract 7
163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 7; // 2 cycles
164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 16000000L
166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 16 MHz clock on most Arduino boards
167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for a one-microsecond delay, simply return. the overhead
169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // of the function call takes 14 (16) cycles, which is 1us
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 1) return; // = 3 cycles, (4 when true)
462 .LM39:
463 016e 8230 cpi r24,2
464 0170 9105 cpc r25,__zero_reg__
465 0172 00F0 brlo .L24
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes 1/4 of a microsecond (4 cycles)
173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it four times for each microsecond of
174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // delay requested.
175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us <<= 2; // x4 us, = 4 cycles
467 .LM40:
468 0174 880F lsl r24
469 0176 991F rol r25
470 0178 880F lsl r24
471 017a 991F rol r25
176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // account for the time taken in the preceeding commands.
178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // we just burned 19 (21) cycles above, remove 5, (5*4=20)
179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 8 so we can substract 5
180:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 5; // = 2 cycles,
473 .LM41:
474 017c 0597 sbiw r24,5
181:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
182:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 12000000L
183:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 12 MHz clock if somebody is working with USB
184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for a 1 microsecond delay, simply return. the overhead
186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // of the function call takes 14 (16) cycles, which is 1.5us
187:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 1) return; // = 3 cycles, (4 when true)
188:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
189:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes 1/3 of a microsecond (4 cycles)
190:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it three times for each microsecond of
191:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // delay requested.
192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us = (us << 1) + us; // x3 us, = 5 cycles
193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // account for the time taken in the preceeding commands.
195:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // we just burned 20 (22) cycles above, remove 5, (5*4=20)
196:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 6 so we can substract 5
197:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 5; //2 cycles
198:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
199:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 8000000L
200:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 8 MHz internal clock
201:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
202:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for a 1 and 2 microsecond delay, simply return. the overhead
203:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // of the function call takes 14 (16) cycles, which is 2us
204:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 2) return; // = 3 cycles, (4 when true)
205:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
206:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes 1/2 of a microsecond (4 cycles)
207:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it twice for each microsecond of
208:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // delay requested.
209:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us <<= 1; //x2 us, = 2 cycles
210:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
211:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // account for the time taken in the preceeding commands.
212:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // we just burned 17 (19) cycles above, remove 4, (4*4=16)
213:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 6 so we can substract 4
214:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 4; // = 2 cycles
215:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
216:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
217:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // for the 1 MHz internal clock (default settings for common Atmega microcontrollers)
218:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
219:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the overhead of the function calls is 14 (16) cycles
220:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 16) return; //= 3 cycles, (4 when true)
221:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** if (us <= 25) return; //= 3 cycles, (4 when true), (must be at least 25 if we want to substract 22
222:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
223:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // compensate for the time taken by the preceeding and next commands (about 22 cycles)
224:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us -= 22; // = 2 cycles
225:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the following loop takes 4 microseconds (4 cycles)
226:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // per iteration, so execute it us/4 times
227:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // us is at least 4, divided by 4 gives us 1 (no zero delay bug)
228:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** us >>= 2; // us div 4, = 4 cycles
229:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
230:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
231:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
232:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
233:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // busy wait
234:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** __asm__ __volatile__ (
476 .LM42:
477 /* #APP */
478 ; 234 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
479 017e 0197 1: sbiw r24,1
480 0180 01F4 brne 1b
481 ; 0 "" 2
482 /* #NOAPP */
483 .L24:
484 0182 0895 ret
486 .Lscope5:
488 .stabd 78,0,0
490 .global init
492 init:
493 .stabd 46,0,0
235:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "1: sbiw %0,1" "\n\t" // 2 cycles
236:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** "brne 1b" : "=w" (us) : "0" (us) // 2 cycles
237:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** );
238:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // return = 4 cycles
239:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** }
240:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
241:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** void init()
242:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** {
495 .LM43:
496 .LFBB6:
497 /* prologue: function */
498 /* frame size = 0 */
499 /* stack size = 0 */
500 .L__stack_usage = 0
243:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // this needs to be called before setup() or some functions won't
244:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // work there
245:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sei();
502 .LM44:
503 /* #APP */
504 ; 245 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
505 0184 7894 sei
506 ; 0 "" 2
246:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
247:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // on the ATmega168, timer 0 is also used for fast hardware pwm
248:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // (using phase-correct PWM would mean that timer 0 overflowed half as often
249:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // resulting in different millis() behavior on the ATmega8 and ATmega168)
250:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR0A) && defined(WGM01)
251:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0A, WGM01);
508 .LM45:
509 /* #NOAPP */
510 0186 84B5 in r24,0x24
511 0188 8260 ori r24,lo8(2)
512 018a 84BD out 0x24,r24
252:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0A, WGM00);
514 .LM46:
515 018c 84B5 in r24,0x24
516 018e 8160 ori r24,lo8(1)
517 0190 84BD out 0x24,r24
253:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
254:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
255:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // set timer 0 prescale factor to 64
256:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(__AVR_ATmega128__)
257:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // CPU specific: different values for the ATmega128
258:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0, CS02);
259:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR0) && defined(CS01) && defined(CS00)
260:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // this combination is for the standard atmega8
261:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0, CS01);
262:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0, CS00);
263:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR0B) && defined(CS01) && defined(CS00)
264:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // this combination is for the standard 168/328/1280/2560
265:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0B, CS01);
519 .LM47:
520 0192 85B5 in r24,0x25
521 0194 8260 ori r24,lo8(2)
522 0196 85BD out 0x25,r24
266:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0B, CS00);
524 .LM48:
525 0198 85B5 in r24,0x25
526 019a 8160 ori r24,lo8(1)
527 019c 85BD out 0x25,r24
267:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR0A) && defined(CS01) && defined(CS00)
268:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // this combination is for the __AVR_ATmega645__ series
269:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0A, CS01);
270:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR0A, CS00);
271:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
272:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #error Timer 0 prescale factor 64 not set correctly
273:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
274:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
275:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // enable timer 0 overflow interrupt
276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TIMSK) && defined(TOIE0)
277:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TIMSK, TOIE0);
278:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TIMSK0) && defined(TOIE0)
279:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TIMSK0, TOIE0);
529 .LM49:
530 019e EEE6 ldi r30,lo8(110)
531 01a0 F0E0 ldi r31,0
532 01a2 8081 ld r24,Z
533 01a4 8160 ori r24,lo8(1)
534 01a6 8083 st Z,r24
280:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else
281:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #error Timer 0 overflow interrupt not set correctly
282:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
283:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // timers 1 and 2 are used for phase-correct hardware pwm
285:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // this is better for motors as it ensures an even waveform
286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // note, however, that fast pwm mode can achieve a frequency of up
287:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // 8 MHz (with a 16 MHz clock) at 50% duty cycle
288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
289:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR1B) && defined(CS11) && defined(CS10)
290:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** TCCR1B = 0;
536 .LM50:
537 01a8 E1E8 ldi r30,lo8(-127)
538 01aa F0E0 ldi r31,0
539 01ac 1082 st Z,__zero_reg__
291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
292:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // set timer 1 prescale factor to 64
293:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR1B, CS11);
541 .LM51:
542 01ae 8081 ld r24,Z
543 01b0 8260 ori r24,lo8(2)
544 01b2 8083 st Z,r24
294:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if F_CPU >= 8000000L
295:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR1B, CS10);
546 .LM52:
547 01b4 8081 ld r24,Z
548 01b6 8160 ori r24,lo8(1)
549 01b8 8083 st Z,r24
296:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
297:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR1) && defined(CS11) && defined(CS10)
298:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR1, CS11);
299:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if F_CPU >= 8000000L
300:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR1, CS10);
301:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
302:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
303:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // put timer 1 in 8-bit phase correct pwm mode
304:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR1A) && defined(WGM10)
305:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR1A, WGM10);
551 .LM53:
552 01ba E0E8 ldi r30,lo8(-128)
553 01bc F0E0 ldi r31,0
554 01be 8081 ld r24,Z
555 01c0 8160 ori r24,lo8(1)
556 01c2 8083 st Z,r24
306:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
307:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
308:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // set timer 2 prescale factor to 64
309:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR2) && defined(CS22)
310:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR2, CS22);
311:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR2B) && defined(CS22)
312:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR2B, CS22);
558 .LM54:
559 01c4 E1EB ldi r30,lo8(-79)
560 01c6 F0E0 ldi r31,0
561 01c8 8081 ld r24,Z
562 01ca 8460 ori r24,lo8(4)
563 01cc 8083 st Z,r24
313:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** //#else
314:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // Timer 2 not finished (may not be present on this CPU)
315:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
316:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
317:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // configure timer 2 for phase correct pwm (8-bit)
318:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR2) && defined(WGM20)
319:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR2, WGM20);
320:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(TCCR2A) && defined(WGM20)
321:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR2A, WGM20);
565 .LM55:
566 01ce E0EB ldi r30,lo8(-80)
567 01d0 F0E0 ldi r31,0
568 01d2 8081 ld r24,Z
569 01d4 8160 ori r24,lo8(1)
570 01d6 8083 st Z,r24
322:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** //#else
323:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // Timer 2 not finished (may not be present on this CPU)
324:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
325:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
326:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR3B) && defined(CS31) && defined(WGM30)
327:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR3B, CS31); // set timer 3 prescale factor to 64
328:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR3B, CS30);
329:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR3A, WGM30); // put timer 3 in 8-bit phase correct pwm mode
330:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
331:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
332:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR4A) && defined(TCCR4B) && defined(TCCR4D) /* beginning of timer4 block for 32U4 and
333:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4B, CS42); // set timer4 prescale factor to 64
334:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4B, CS41);
335:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4B, CS40);
336:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4D, WGM40); // put timer 4 in phase- and frequency-correct PWM mode
337:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4A, PWM4A); // enable PWM mode for comparator OCR4A
338:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4C, PWM4D); // enable PWM mode for comparator OCR4D
339:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else /* beginning of timer4 block for ATMEGA1280 and ATMEGA2560 */
340:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR4B) && defined(CS41) && defined(WGM40)
341:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4B, CS41); // set timer 4 prescale factor to 64
342:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4B, CS40);
343:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR4A, WGM40); // put timer 4 in 8-bit phase correct pwm mode
344:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
345:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif /* end timer4 block for ATMEGA1280/2560 and similar */
346:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
347:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(TCCR5B) && defined(CS51) && defined(WGM50)
348:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR5B, CS51); // set timer 5 prescale factor to 64
349:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR5B, CS50);
350:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(TCCR5A, WGM50); // put timer 5 in 8-bit phase correct pwm mode
351:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
352:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
353:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(ADCSRA)
354:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // set a2d prescaler so we are inside the desired 50-200 KHz range.
355:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if F_CPU >= 16000000 // 16 MHz / 128 = 125 KHz
356:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS2);
572 .LM56:
573 01d8 EAE7 ldi r30,lo8(122)
574 01da F0E0 ldi r31,0
575 01dc 8081 ld r24,Z
576 01de 8460 ori r24,lo8(4)
577 01e0 8083 st Z,r24
357:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS1);
579 .LM57:
580 01e2 8081 ld r24,Z
581 01e4 8260 ori r24,lo8(2)
582 01e6 8083 st Z,r24
358:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS0);
584 .LM58:
585 01e8 8081 ld r24,Z
586 01ea 8160 ori r24,lo8(1)
587 01ec 8083 st Z,r24
359:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 8000000 // 8 MHz / 64 = 125 KHz
360:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS2);
361:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS1);
362:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS0);
363:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 4000000 // 4 MHz / 32 = 125 KHz
364:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS2);
365:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS1);
366:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS0);
367:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 2000000 // 2 MHz / 16 = 125 KHz
368:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS2);
369:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS1);
370:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS0);
371:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif F_CPU >= 1000000 // 1 MHz / 8 = 125 KHz
372:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS2);
373:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS1);
374:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS0);
375:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #else // 128 kHz / 2 = 64 KHz -> This is the closest you can get, the prescaler is 2
376:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS2);
377:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** cbi(ADCSRA, ADPS1);
378:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADPS0);
379:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
380:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // enable a2d conversions
381:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** sbi(ADCSRA, ADEN);
589 .LM59:
590 01ee 8081 ld r24,Z
591 01f0 8068 ori r24,lo8(-128)
592 01f2 8083 st Z,r24
382:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #endif
383:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c ****
384:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // the bootloader connects pins 0 and 1 to the USART; disconnect them
385:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // here so they can be used as normal digital i/o; they will be
386:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** // reconnected in Serial.begin()
387:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #if defined(UCSRB)
388:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** UCSRB = 0;
389:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** #elif defined(UCSR0B)
390:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring.c **** UCSR0B = 0;
594 .LM60:
595 01f4 1092 C100 sts 193,__zero_reg__
596 01f8 0895 ret
598 .Lscope6:
600 .stabd 78,0,0
601 .local timer0_fract
602 .comm timer0_fract,1,1
603 .global timer0_millis
604 .section .bss
607 timer0_millis:
608 0000 0000 0000 .zero 4
609 .global timer0_overflow_count
612 timer0_overflow_count:
613 0004 0000 0000 .zero 4
631 .text
633 .Letext0:
634 .ident "GCC: (GNU) 5.4.0"
635 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 wiring.c
/tmp/ccTQAyVS.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccTQAyVS.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccTQAyVS.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccTQAyVS.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccTQAyVS.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccTQAyVS.s:135 .text:0000000000000000 __vector_16
/tmp/ccTQAyVS.s:607 .bss:0000000000000000 timer0_millis
.bss:0000000000000008 timer0_fract
/tmp/ccTQAyVS.s:612 .bss:0000000000000004 timer0_overflow_count
/tmp/ccTQAyVS.s:232 .text:0000000000000094 millis
/tmp/ccTQAyVS.s:274 .text:00000000000000ac micros
/tmp/ccTQAyVS.s:355 .text:00000000000000f6 delay
/tmp/ccTQAyVS.s:452 .text:000000000000016e delayMicroseconds
/tmp/ccTQAyVS.s:492 .text:0000000000000184 init
UNDEFINED SYMBOLS
yield
__do_clear_bss

@ -1,6 +0,0 @@
wiring_analog.o wiring_analog.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,546 +0,0 @@
1 .file "wiring_analog.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
134 .global analogReference
136 analogReference:
137 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** wiring_analog.c - analog input and output
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Part of Arduino - http://www.arduino.cc/
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Copyright (c) 2005-2006 David A. Mellis
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c ****
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c **** 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/wiring_analog.c ****
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** You should have received a copy of the GNU Lesser General
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Public License along with this library; if not, write to the
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Boston, MA 02111-1307 USA
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** Modified 28 September 2010 by Mark Sproul
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** */
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #include "wiring_private.h"
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #include "pins_arduino.h"
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** uint8_t analog_reference = DEFAULT;
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** void analogReference(uint8_t mode)
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
139 .LM0:
140 .LFBB1:
141 /* prologue: function */
142 /* frame size = 0 */
143 /* stack size = 0 */
144 .L__stack_usage = 0
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // can't actually set the register here because the default setting
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // will connect AVCC and the AREF pin, which would cause a short if
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // there's something connected to AREF.
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** analog_reference = mode;
146 .LM1:
147 0000 8093 0000 sts analog_reference,r24
148 0004 0895 ret
150 .Lscope1:
152 .stabd 78,0,0
155 .global analogRead
157 analogRead:
158 .stabd 46,0,0
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** int analogRead(uint8_t pin)
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
160 .LM2:
161 .LFBB2:
162 /* prologue: function */
163 /* frame size = 0 */
164 /* stack size = 0 */
165 .L__stack_usage = 0
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** uint8_t low, high;
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(analogPinToChannel)
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(__AVR_ATmega32U4__)
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (pin >= 18) pin -= 18; // allow for channel or pin numbers
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** pin = analogPinToChannel(pin);
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (pin >= 54) pin -= 54; // allow for channel or pin numbers
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #elif defined(__AVR_ATmega32U4__)
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (pin >= 18) pin -= 18; // allow for channel or pin numbers
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) ||
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (pin >= 24) pin -= 24; // allow for channel or pin numbers
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #else
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (pin >= 14) pin -= 14; // allow for channel or pin numbers
167 .LM3:
168 0006 8E30 cpi r24,lo8(14)
169 0008 00F0 brlo .L3
171 .LM4:
172 000a 8E50 subi r24,lo8(-(-14))
173 .L3:
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(ADCSRB) && defined(MUX5)
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // the MUX5 bit of ADCSRB selects whether we're reading from channels
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // set the analog reference (high two bits of ADMUX) and select the
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // channel (low 4 bits). this also sets ADLAR (left-adjust result)
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // to 0 (the default).
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(ADMUX)
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** ADMUX = (analog_reference << 4) | (pin & 0x07);
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #else
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** ADMUX = (analog_reference << 6) | (pin & 0x07);
175 .LM5:
176 000c 2091 0000 lds r18,analog_reference
177 0010 90E4 ldi r25,lo8(64)
178 0012 299F mul r18,r25
179 0014 9001 movw r18,r0
180 0016 1124 clr __zero_reg__
181 0018 8770 andi r24,lo8(7)
182 001a 822B or r24,r18
183 001c 8093 7C00 sts 124,r24
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // without a delay, we seem to read from the wrong channel
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** //delay(1);
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(ADCSRA) && defined(ADCL)
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // start the conversion
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(ADCSRA, ADSC);
185 .LM6:
186 0020 8091 7A00 lds r24,122
187 0024 8064 ori r24,lo8(64)
188 0026 8093 7A00 sts 122,r24
189 .L4:
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // ADSC is cleared when the conversion finishes
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** while (bit_is_set(ADCSRA, ADSC));
191 .LM7:
192 002a 8091 7A00 lds r24,122
193 002e 86FD sbrc r24,6
194 0030 00C0 rjmp .L4
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // we have to read ADCL first; doing so locks both ADCL
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // and ADCH until ADCH is read. reading ADCL second would
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // cause the results of each conversion to be discarded,
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // as ADCL and ADCH would be locked when it completed.
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** low = ADCL;
196 .LM8:
197 0032 8091 7800 lds r24,120
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** high = ADCH;
199 .LM9:
200 0036 2091 7900 lds r18,121
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #else
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // we dont have an ADC, return 0
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** low = 0;
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** high = 0;
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // combine the two bytes
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** return (high << 8) | low;
202 .LM10:
203 003a 90E0 ldi r25,0
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
205 .LM11:
206 003c 922B or r25,r18
207 003e 0895 ret
213 .Lscope2:
215 .stabd 78,0,0
219 .global analogWrite
221 analogWrite:
222 .stabd 46,0,0
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // Right now, PWM output only works on the pins with
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // hardware support. These are defined in the appropriate
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // pins_*.c file. For the rest of the pins, we default
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // to digital output.
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** void analogWrite(uint8_t pin, int val)
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
224 .LM12:
225 .LFBB3:
226 0040 1F93 push r17
227 0042 CF93 push r28
228 0044 DF93 push r29
229 /* prologue: function */
230 /* frame size = 0 */
231 /* stack size = 3 */
232 .L__stack_usage = 3
233 0046 182F mov r17,r24
234 0048 EB01 movw r28,r22
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // We need to make sure the PWM output is enabled for those pins
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // that support it, as we turn it off when digitally reading or
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // writing with them. Also, make sure the pin is in output mode
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // for consistenty with Wiring, which doesn't require a pinMode
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // call for the analog output pins.
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** pinMode(pin, OUTPUT);
236 .LM13:
237 004a 61E0 ldi r22,lo8(1)
238 004c 0E94 0000 call pinMode
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (val == 0)
240 .LM14:
241 0050 2097 sbiw r28,0
242 0052 01F4 brne .L8
243 .L19:
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** digitalWrite(pin, LOW);
245 .LM15:
246 0054 60E0 ldi r22,0
247 0056 00C0 rjmp .L21
248 .L8:
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** else if (val == 255)
250 .LM16:
251 0058 CF3F cpi r28,-1
252 005a D105 cpc r29,__zero_reg__
253 005c 01F4 brne .L9
254 .L20:
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** digitalWrite(pin, HIGH);
256 .LM17:
257 005e 61E0 ldi r22,lo8(1)
258 .L21:
259 0060 812F mov r24,r17
260 /* epilogue start */
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** else
121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** switch(digitalPinToTimer(pin))
123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // XXX fix needed for atmega8
125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__)
126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER0A:
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 0
128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR0, COM00);
129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR0 = val; // set pwm duty
130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR0A) && defined(COM0A1)
134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER0A:
135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 0, channel A
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR0A, COM0A1);
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR0A = val; // set pwm duty
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR0A) && defined(COM0B1)
142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER0B:
143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 0, channel B
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR0A, COM0B1);
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR0B = val; // set pwm duty
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR1A) && defined(COM1A1)
150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER1A:
151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 1, channel A
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR1A, COM1A1);
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR1A = val; // set pwm duty
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR1A) && defined(COM1B1)
158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER1B:
159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 1, channel B
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR1A, COM1B1);
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR1B = val; // set pwm duty
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR1A) && defined(COM1C1)
166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER1C:
167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 1, channel B
168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR1A, COM1C1);
169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR1C = val; // set pwm duty
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR2) && defined(COM21)
174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER2:
175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 2
176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR2, COM21);
177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR2 = val; // set pwm duty
178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
180:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
181:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR2A) && defined(COM2A1)
182:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER2A:
183:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 2, channel A
184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR2A, COM2A1);
185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR2A = val; // set pwm duty
186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
187:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
188:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
189:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR2A) && defined(COM2B1)
190:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER2B:
191:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 2, channel B
192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR2A, COM2B1);
193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR2B = val; // set pwm duty
194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
195:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
196:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
197:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR3A) && defined(COM3A1)
198:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER3A:
199:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 3, channel A
200:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR3A, COM3A1);
201:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR3A = val; // set pwm duty
202:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
203:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
204:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
205:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR3A) && defined(COM3B1)
206:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER3B:
207:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 3, channel B
208:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR3A, COM3B1);
209:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR3B = val; // set pwm duty
210:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
211:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
212:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
213:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR3A) && defined(COM3C1)
214:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER3C:
215:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 3, channel C
216:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR3A, COM3C1);
217:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR3C = val; // set pwm duty
218:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
219:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
220:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
221:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR4A)
222:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER4A:
223:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** //connect pwm to pin on timer 4, channel A
224:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR4A, COM4A1);
225:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(COM4A0) // only used on 32U4
226:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** cbi(TCCR4A, COM4A0);
227:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
228:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR4A = val; // set pwm duty
229:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
230:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
231:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
232:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR4A) && defined(COM4B1)
233:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER4B:
234:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 4, channel B
235:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR4A, COM4B1);
236:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR4B = val; // set pwm duty
237:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
238:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
239:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
240:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR4A) && defined(COM4C1)
241:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER4C:
242:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 4, channel C
243:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR4A, COM4C1);
244:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR4C = val; // set pwm duty
245:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
246:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
247:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
248:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR4C) && defined(COM4D1)
249:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER4D:
250:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 4, channel D
251:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR4C, COM4D1);
252:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(COM4D0) // only used on 32U4
253:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** cbi(TCCR4C, COM4D0);
254:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
255:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR4D = val; // set pwm duty
256:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
257:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
258:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
259:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
260:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR5A) && defined(COM5A1)
261:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER5A:
262:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 5, channel A
263:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR5A, COM5A1);
264:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR5A = val; // set pwm duty
265:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
266:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
267:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
268:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR5A) && defined(COM5B1)
269:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER5B:
270:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 5, channel B
271:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR5A, COM5B1);
272:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR5B = val; // set pwm duty
273:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
274:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
275:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
276:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #if defined(TCCR5A) && defined(COM5C1)
277:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case TIMER5C:
278:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** // connect pwm to pin on timer 5, channel C
279:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** sbi(TCCR5A, COM5C1);
280:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR5C = val; // set pwm duty
281:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
282:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
283:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c ****
284:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** case NOT_ON_TIMER:
285:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** default:
286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** if (val < 128) {
287:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** digitalWrite(pin, LOW);
288:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** } else {
289:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** digitalWrite(pin, HIGH);
290:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
291:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
292:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
293:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
262 .LM18:
263 0062 DF91 pop r29
264 0064 CF91 pop r28
265 0066 1F91 pop r17
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** }
267 .LM19:
268 0068 0C94 0000 jmp digitalWrite
269 .L9:
270 .LBB2:
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
272 .LM20:
273 006c E12F mov r30,r17
274 006e F0E0 ldi r31,0
275 0070 E050 subi r30,lo8(-(digital_pin_to_timer_PGM))
276 0072 F040 sbci r31,hi8(-(digital_pin_to_timer_PGM))
277 /* #APP */
278 ; 122 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
279 0074 E491 lpm r30, Z
280
281 ; 0 "" 2
282 /* #NOAPP */
283 .LBE2:
284 0076 E330 cpi r30,lo8(3)
285 0078 01F0 breq .L11
286 007a 00F4 brsh .L12
287 007c E130 cpi r30,lo8(1)
288 007e 01F0 breq .L13
289 0080 E230 cpi r30,lo8(2)
290 0082 01F4 brne .L10
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR0B = val; // set pwm duty
292 .LM21:
293 0084 84B5 in r24,0x24
294 0086 8062 ori r24,lo8(32)
295 0088 84BD out 0x24,r24
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
297 .LM22:
298 008a C8BD out 0x28,r28
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
300 .LM23:
301 008c 00C0 rjmp .L7
302 .L12:
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** {
304 .LM24:
305 008e E730 cpi r30,lo8(7)
306 0090 01F0 breq .L15
307 0092 E830 cpi r30,lo8(8)
308 0094 01F0 breq .L16
309 0096 E430 cpi r30,lo8(4)
310 0098 01F4 brne .L10
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR1B = val; // set pwm duty
312 .LM25:
313 009a 8091 8000 lds r24,128
314 009e 8062 ori r24,lo8(32)
315 00a0 8093 8000 sts 128,r24
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
317 .LM26:
318 00a4 D093 8B00 sts 138+1,r29
319 00a8 C093 8A00 sts 138,r28
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
321 .LM27:
322 00ac 00C0 rjmp .L7
323 .L13:
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR0A = val; // set pwm duty
325 .LM28:
326 00ae 84B5 in r24,0x24
327 00b0 8068 ori r24,lo8(-128)
328 00b2 84BD out 0x24,r24
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
330 .LM29:
331 00b4 C7BD out 0x27,r28
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
333 .LM30:
334 00b6 00C0 rjmp .L7
335 .L11:
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR1A = val; // set pwm duty
337 .LM31:
338 00b8 8091 8000 lds r24,128
339 00bc 8068 ori r24,lo8(-128)
340 00be 8093 8000 sts 128,r24
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
342 .LM32:
343 00c2 D093 8900 sts 136+1,r29
344 00c6 C093 8800 sts 136,r28
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
346 .LM33:
347 00ca 00C0 rjmp .L7
348 .L15:
184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR2A = val; // set pwm duty
350 .LM34:
351 00cc 8091 B000 lds r24,176
352 00d0 8068 ori r24,lo8(-128)
353 00d2 8093 B000 sts 176,r24
185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
355 .LM35:
356 00d6 C093 B300 sts 179,r28
186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
358 .LM36:
359 00da 00C0 rjmp .L7
360 .L16:
192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** OCR2B = val; // set pwm duty
362 .LM37:
363 00dc 8091 B000 lds r24,176
364 00e0 8062 ori r24,lo8(32)
365 00e2 8093 B000 sts 176,r24
193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** break;
367 .LM38:
368 00e6 C093 B400 sts 180,r28
194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** #endif
370 .LM39:
371 00ea 00C0 rjmp .L7
372 .L10:
286:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_analog.c **** digitalWrite(pin, LOW);
374 .LM40:
375 00ec C038 cpi r28,-128
376 00ee D105 cpc r29,__zero_reg__
377 00f0 04F0 brlt .+2
378 00f2 00C0 rjmp .L20
379 00f4 00C0 rjmp .L19
380 .L7:
381 /* epilogue start */
383 .LM41:
384 00f6 DF91 pop r29
385 00f8 CF91 pop r28
386 00fa 1F91 pop r17
387 00fc 0895 ret
389 .Lscope3:
391 .stabd 78,0,0
392 .global analog_reference
393 .data
396 analog_reference:
397 0000 01 .byte 1
413 .text
415 .Letext0:
416 .ident "GCC: (GNU) 5.4.0"
417 .global __do_copy_data
DEFINED SYMBOLS
*ABS*:0000000000000000 wiring_analog.c
/tmp/ccJsfvT3.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccJsfvT3.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccJsfvT3.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccJsfvT3.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccJsfvT3.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccJsfvT3.s:136 .text:0000000000000000 analogReference
/tmp/ccJsfvT3.s:396 .data:0000000000000000 analog_reference
/tmp/ccJsfvT3.s:157 .text:0000000000000006 analogRead
/tmp/ccJsfvT3.s:221 .text:0000000000000040 analogWrite
UNDEFINED SYMBOLS
pinMode
digitalWrite
digital_pin_to_timer_PGM
__do_copy_data

@ -1,6 +0,0 @@
wiring_digital.o wiring_digital.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,731 +0,0 @@
1 .file "wiring_digital.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
135 turnOffPWM:
136 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** wiring_digital.c - digital input and output functions
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Part of Arduino - http://www.arduino.cc/
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Copyright (c) 2005-2006 David A. Mellis
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c ****
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c **** 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/wiring_digital.c ****
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** You should have received a copy of the GNU Lesser General
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Public License along with this library; if not, write to the
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Boston, MA 02111-1307 USA
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** Modified 28 September 2010 by Mark Sproul
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** */
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #define ARDUINO_MAIN
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #include "wiring_private.h"
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #include "pins_arduino.h"
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** void pinMode(uint8_t pin, uint8_t mode)
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** {
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t bit = digitalPinToBitMask(pin);
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t port = digitalPinToPort(pin);
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** volatile uint8_t *reg, *out;
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (port == NOT_A_PIN) return;
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // JWS: can I let the optimizer do this?
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** reg = portModeRegister(port);
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** out = portOutputRegister(port);
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (mode == INPUT) {
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg &= ~bit;
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out &= ~bit;
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** } else if (mode == INPUT_PULLUP) {
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg &= ~bit;
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out |= bit;
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** } else {
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg |= bit;
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // Forcing this inline keeps the callers from having to push their own stuff
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // on the stack. It is a good performance win and only takes 1 more byte per
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // user than calling. (It will take more bytes on the 168.)
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** //
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // But shouldn't this be moved into pinMode? Seems silly to check and do on
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // each digitalread or write.
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** //
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // Mark Sproul:
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // - Removed inline. Save 170 bytes on atmega1280
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // - changed to a switch statment; added 32 bytes but much easier to read and maintain.
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // - Added more #ifdefs, now compiles for atmega645
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** //
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** //static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline));
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** //static inline void turnOffPWM(uint8_t timer)
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** static void turnOffPWM(uint8_t timer)
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** {
138 .LM0:
139 .LFBB1:
140 /* prologue: function */
141 /* frame size = 0 */
142 /* stack size = 0 */
143 .L__stack_usage = 0
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** switch (timer)
145 .LM1:
146 0000 8330 cpi r24,lo8(3)
147 0002 01F0 breq .L3
148 0004 00F4 brsh .L4
149 0006 8130 cpi r24,lo8(1)
150 0008 01F0 breq .L5
151 000a 8230 cpi r24,lo8(2)
152 000c 01F0 breq .L6
153 000e 0895 ret
154 .L4:
155 0010 8730 cpi r24,lo8(7)
156 0012 01F0 breq .L7
157 0014 8830 cpi r24,lo8(8)
158 0016 01F0 breq .L8
159 0018 8430 cpi r24,lo8(4)
160 001a 01F4 brne .L1
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** {
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR1A) && defined(COM1A1)
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER1A: cbi(TCCR1A, COM1A1); break;
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR1A) && defined(COM1B1)
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER1B: cbi(TCCR1A, COM1B1); break;
162 .LM2:
163 001c 8091 8000 lds r24,128
164 0020 8F7D andi r24,lo8(-33)
165 0022 00C0 rjmp .L10
166 .L3:
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
168 .LM3:
169 0024 8091 8000 lds r24,128
170 0028 8F77 andi r24,lo8(127)
171 .L10:
173 .LM4:
174 002a 8093 8000 sts 128,r24
175 002e 0895 ret
176 .L5:
177 .LBB4:
178 .LBB5:
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR1A) && defined(COM1C1)
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER1C: cbi(TCCR1A, COM1C1); break;
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR2) && defined(COM21)
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER2: cbi(TCCR2, COM21); break;
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR0A) && defined(COM0A1)
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER0A: cbi(TCCR0A, COM0A1); break;
180 .LM5:
181 0030 84B5 in r24,0x24
182 0032 8F77 andi r24,lo8(127)
183 0034 00C0 rjmp .L12
184 .L6:
185 .LBE5:
186 .LBE4:
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR0A) && defined(COM0B1)
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER0B: cbi(TCCR0A, COM0B1); break;
188 .LM6:
189 0036 84B5 in r24,0x24
190 0038 8F7D andi r24,lo8(-33)
191 .L12:
192 003a 84BD out 0x24,r24
193 003c 0895 ret
194 .L7:
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR2A) && defined(COM2A1)
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER2A: cbi(TCCR2A, COM2A1); break;
196 .LM7:
197 003e 8091 B000 lds r24,176
198 0042 8F77 andi r24,lo8(127)
199 0044 00C0 rjmp .L11
200 .L8:
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR2A) && defined(COM2B1)
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER2B: cbi(TCCR2A, COM2B1); break;
202 .LM8:
203 0046 8091 B000 lds r24,176
204 004a 8F7D andi r24,lo8(-33)
205 .L11:
206 004c 8093 B000 sts 176,r24
207 .L1:
208 0050 0895 ret
210 .Lscope1:
212 .stabd 78,0,0
216 .global pinMode
218 pinMode:
219 .stabd 46,0,0
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t bit = digitalPinToBitMask(pin);
221 .LM9:
222 .LFBB2:
223 0052 CF93 push r28
224 0054 DF93 push r29
225 /* prologue: function */
226 /* frame size = 0 */
227 /* stack size = 2 */
228 .L__stack_usage = 2
229 .LBB6:
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t port = digitalPinToPort(pin);
231 .LM10:
232 0056 90E0 ldi r25,0
233 0058 FC01 movw r30,r24
234 005a E050 subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
235 005c F040 sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
236 /* #APP */
237 ; 31 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
238 005e 2491 lpm r18, Z
239
240 ; 0 "" 2
241 /* #NOAPP */
242 .LBE6:
243 .LBB7:
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** volatile uint8_t *reg, *out;
245 .LM11:
246 0060 FC01 movw r30,r24
247 0062 E050 subi r30,lo8(-(digital_pin_to_port_PGM))
248 0064 F040 sbci r31,hi8(-(digital_pin_to_port_PGM))
249 /* #APP */
250 ; 32 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
251 0066 8491 lpm r24, Z
252
253 ; 0 "" 2
254 /* #NOAPP */
255 .LBE7:
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
257 .LM12:
258 0068 8823 tst r24
259 006a 01F0 breq .L14
260 .LBB8:
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** out = portOutputRegister(port);
262 .LM13:
263 006c 90E0 ldi r25,0
264 006e 880F lsl r24
265 0070 991F rol r25
266 0072 FC01 movw r30,r24
267 0074 E050 subi r30,lo8(-(port_to_mode_PGM))
268 0076 F040 sbci r31,hi8(-(port_to_mode_PGM))
269 /* #APP */
270 ; 38 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
271 0078 C591 lpm r28, Z+
272 007a D491 lpm r29, Z
273
274 ; 0 "" 2
275 /* #NOAPP */
276 .LBE8:
277 .LBB9:
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
279 .LM14:
280 007c FC01 movw r30,r24
281 007e E050 subi r30,lo8(-(port_to_output_PGM))
282 0080 F040 sbci r31,hi8(-(port_to_output_PGM))
283 /* #APP */
284 ; 39 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
285 0082 A591 lpm r26, Z+
286 0084 B491 lpm r27, Z
287
288 ; 0 "" 2
289 /* #NOAPP */
290 .LBE9:
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
292 .LM15:
293 0086 6111 cpse r22,__zero_reg__
294 0088 00C0 rjmp .L16
295 .LBB10:
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
297 .LM16:
298 008a 9FB7 in r25,__SREG__
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg &= ~bit;
300 .LM17:
301 /* #APP */
302 ; 43 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
303 008c F894 cli
304 ; 0 "" 2
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out &= ~bit;
306 .LM18:
307 /* #NOAPP */
308 008e 8881 ld r24,Y
309 0090 2095 com r18
310 0092 8223 and r24,r18
311 0094 8883 st Y,r24
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
313 .LM19:
314 0096 EC91 ld r30,X
315 0098 2E23 and r18,r30
316 009a 00C0 rjmp .L21
317 .L16:
318 .LBE10:
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
320 .LM20:
321 009c 6230 cpi r22,lo8(2)
322 009e 01F4 brne .L17
323 .LBB11:
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
325 .LM21:
326 00a0 9FB7 in r25,__SREG__
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg &= ~bit;
328 .LM22:
329 /* #APP */
330 ; 49 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
331 00a2 F894 cli
332 ; 0 "" 2
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out |= bit;
334 .LM23:
335 /* #NOAPP */
336 00a4 8881 ld r24,Y
337 00a6 322F mov r19,r18
338 00a8 3095 com r19
339 00aa 8323 and r24,r19
340 00ac 8883 st Y,r24
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
342 .LM24:
343 00ae EC91 ld r30,X
344 00b0 2E2B or r18,r30
345 .L21:
346 00b2 2C93 st X,r18
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** } else {
348 .LM25:
349 00b4 9FBF out __SREG__,r25
350 .LBE11:
351 00b6 00C0 rjmp .L14
352 .L17:
353 .LBB12:
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
355 .LM26:
356 00b8 8FB7 in r24,__SREG__
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *reg |= bit;
358 .LM27:
359 /* #APP */
360 ; 55 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
361 00ba F894 cli
362 ; 0 "" 2
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
364 .LM28:
365 /* #NOAPP */
366 00bc E881 ld r30,Y
367 00be 2E2B or r18,r30
368 00c0 2883 st Y,r18
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
370 .LM29:
371 00c2 8FBF out __SREG__,r24
372 .L14:
373 /* epilogue start */
374 .LBE12:
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
376 .LM30:
377 00c4 DF91 pop r29
378 00c6 CF91 pop r28
379 00c8 0895 ret
396 .Lscope2:
398 .stabd 78,0,0
402 .global digitalWrite
404 digitalWrite:
405 .stabd 46,0,0
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR3A) && defined(COM3A1)
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER3A: cbi(TCCR3A, COM3A1); break;
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR3A) && defined(COM3B1)
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER3B: cbi(TCCR3A, COM3B1); break;
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR3A) && defined(COM3C1)
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER3C: cbi(TCCR3A, COM3C1); break;
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR4A) && defined(COM4A1)
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER4A: cbi(TCCR4A, COM4A1); break;
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR4A) && defined(COM4B1)
121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER4B: cbi(TCCR4A, COM4B1); break;
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR4A) && defined(COM4C1)
124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER4C: cbi(TCCR4A, COM4C1); break;
125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR4C) && defined(COM4D1)
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER4D: cbi(TCCR4C, COM4D1); break;
128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #if defined(TCCR5A)
131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER5A: cbi(TCCR5A, COM5A1); break;
132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER5B: cbi(TCCR5A, COM5B1); break;
133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** case TIMER5C: cbi(TCCR5A, COM5C1); break;
134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** #endif
135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** void digitalWrite(uint8_t pin, uint8_t val)
139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** {
407 .LM31:
408 .LFBB3:
409 00ca 1F93 push r17
410 00cc CF93 push r28
411 00ce DF93 push r29
412 /* prologue: function */
413 /* frame size = 0 */
414 /* stack size = 3 */
415 .L__stack_usage = 3
416 .LBB13:
140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t timer = digitalPinToTimer(pin);
418 .LM32:
419 00d0 282F mov r18,r24
420 00d2 30E0 ldi r19,0
421 00d4 F901 movw r30,r18
422 00d6 E050 subi r30,lo8(-(digital_pin_to_timer_PGM))
423 00d8 F040 sbci r31,hi8(-(digital_pin_to_timer_PGM))
424 /* #APP */
425 ; 140 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
426 00da 8491 lpm r24, Z
427
428 ; 0 "" 2
429 /* #NOAPP */
430 .LBE13:
431 .LBB14:
141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t bit = digitalPinToBitMask(pin);
433 .LM33:
434 00dc F901 movw r30,r18
435 00de E050 subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
436 00e0 F040 sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
437 /* #APP */
438 ; 141 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
439 00e2 D491 lpm r29, Z
440
441 ; 0 "" 2
442 /* #NOAPP */
443 .LBE14:
444 .LBB15:
142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t port = digitalPinToPort(pin);
446 .LM34:
447 00e4 F901 movw r30,r18
448 00e6 E050 subi r30,lo8(-(digital_pin_to_port_PGM))
449 00e8 F040 sbci r31,hi8(-(digital_pin_to_port_PGM))
450 /* #APP */
451 ; 142 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
452 00ea C491 lpm r28, Z
453
454 ; 0 "" 2
455 /* #NOAPP */
456 .LBE15:
143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** volatile uint8_t *out;
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (port == NOT_A_PIN) return;
458 .LM35:
459 00ec CC23 tst r28
460 00ee 01F0 breq .L22
461 00f0 162F mov r17,r22
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // If the pin that support PWM output, we need to turn it off
148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // before doing a digital write.
149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (timer != NOT_ON_TIMER) turnOffPWM(timer);
463 .LM36:
464 00f2 8111 cpse r24,__zero_reg__
466 .LM37:
467 00f4 0E94 0000 call turnOffPWM
468 .L24:
469 .LBB16:
150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** out = portOutputRegister(port);
471 .LM38:
472 00f8 EC2F mov r30,r28
473 00fa F0E0 ldi r31,0
474 00fc EE0F lsl r30
475 00fe FF1F rol r31
476 0100 E050 subi r30,lo8(-(port_to_output_PGM))
477 0102 F040 sbci r31,hi8(-(port_to_output_PGM))
478 /* #APP */
479 ; 151 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
480 0104 A591 lpm r26, Z+
481 0106 B491 lpm r27, Z
482
483 ; 0 "" 2
484 /* #NOAPP */
485 .LBE16:
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t oldSREG = SREG;
487 .LM39:
488 0108 9FB7 in r25,__SREG__
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** cli();
490 .LM40:
491 /* #APP */
492 ; 154 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
493 010a F894 cli
494 ; 0 "" 2
155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (val == LOW) {
496 .LM41:
497 /* #NOAPP */
498 010c 1111 cpse r17,__zero_reg__
499 010e 00C0 rjmp .L25
157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out &= ~bit;
501 .LM42:
502 0110 8C91 ld r24,X
503 0112 D095 com r29
504 0114 D823 and r29,r24
505 0116 00C0 rjmp .L33
506 .L25:
158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** } else {
159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** *out |= bit;
508 .LM43:
509 0118 EC91 ld r30,X
510 011a DE2B or r29,r30
511 .L33:
512 011c DC93 st X,r29
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** SREG = oldSREG;
514 .LM44:
515 011e 9FBF out __SREG__,r25
516 .L22:
517 /* epilogue start */
163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
519 .LM45:
520 0120 DF91 pop r29
521 0122 CF91 pop r28
522 0124 1F91 pop r17
523 0126 0895 ret
533 .Lscope3:
535 .stabd 78,0,0
538 .global digitalRead
540 digitalRead:
541 .stabd 46,0,0
164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** int digitalRead(uint8_t pin)
166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** {
543 .LM46:
544 .LFBB4:
545 0128 CF93 push r28
546 012a DF93 push r29
547 /* prologue: function */
548 /* frame size = 0 */
549 /* stack size = 2 */
550 .L__stack_usage = 2
551 .LBB17:
167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t timer = digitalPinToTimer(pin);
553 .LM47:
554 012c 282F mov r18,r24
555 012e 30E0 ldi r19,0
556 0130 F901 movw r30,r18
557 0132 E050 subi r30,lo8(-(digital_pin_to_timer_PGM))
558 0134 F040 sbci r31,hi8(-(digital_pin_to_timer_PGM))
559 /* #APP */
560 ; 167 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
561 0136 8491 lpm r24, Z
562
563 ; 0 "" 2
564 /* #NOAPP */
565 .LBE17:
566 .LBB18:
168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t bit = digitalPinToBitMask(pin);
568 .LM48:
569 0138 F901 movw r30,r18
570 013a E050 subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
571 013c F040 sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
572 /* #APP */
573 ; 168 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
574 013e D491 lpm r29, Z
575
576 ; 0 "" 2
577 /* #NOAPP */
578 .LBE18:
579 .LBB19:
169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** uint8_t port = digitalPinToPort(pin);
581 .LM49:
582 0140 F901 movw r30,r18
583 0142 E050 subi r30,lo8(-(digital_pin_to_port_PGM))
584 0144 F040 sbci r31,hi8(-(digital_pin_to_port_PGM))
585 /* #APP */
586 ; 169 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
587 0146 C491 lpm r28, Z
588
589 ; 0 "" 2
590 /* #NOAPP */
591 .LBE19:
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (port == NOT_A_PIN) return LOW;
593 .LM50:
594 0148 CC23 tst r28
595 014a 01F0 breq .L38
172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // If the pin that support PWM output, we need to turn it off
174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** // before getting a digital reading.
175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (timer != NOT_ON_TIMER) turnOffPWM(timer);
597 .LM51:
598 014c 8111 cpse r24,__zero_reg__
600 .LM52:
601 014e 0E94 0000 call turnOffPWM
602 .L36:
603 .LBB20:
176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** if (*portInputRegister(port) & bit) return HIGH;
605 .LM53:
606 0152 EC2F mov r30,r28
607 0154 F0E0 ldi r31,0
608 0156 EE0F lsl r30
609 0158 FF1F rol r31
610 015a E050 subi r30,lo8(-(port_to_input_PGM))
611 015c F040 sbci r31,hi8(-(port_to_input_PGM))
612 /* #APP */
613 ; 177 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduin
614 015e A591 lpm r26, Z+
615 0160 B491 lpm r27, Z
616
617 ; 0 "" 2
618 /* #NOAPP */
619 .LBE20:
620 0162 EC91 ld r30,X
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c ****
622 .LM54:
623 0164 ED23 and r30,r29
624 0166 81E0 ldi r24,lo8(1)
625 0168 90E0 ldi r25,0
626 016a 01F4 brne .L35
627 016c 80E0 ldi r24,0
628 016e 00C0 rjmp .L35
629 .L38:
630 0170 80E0 ldi r24,0
631 0172 90E0 ldi r25,0
632 .L35:
633 /* epilogue start */
178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** return LOW;
179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_digital.c **** }
635 .LM55:
636 0174 DF91 pop r29
637 0176 CF91 pop r28
638 0178 0895 ret
647 .Lscope4:
649 .stabd 78,0,0
650 .global digital_pin_to_timer_PGM
651 .section .progmem.data,"a",@progbits
654 digital_pin_to_timer_PGM:
655 0000 00 .byte 0
656 0001 00 .byte 0
657 0002 00 .byte 0
658 0003 08 .byte 8
659 0004 00 .byte 0
660 0005 02 .byte 2
661 0006 01 .byte 1
662 0007 00 .byte 0
663 0008 00 .byte 0
664 0009 03 .byte 3
665 000a 04 .byte 4
666 000b 07 .byte 7
667 000c 00 .byte 0
668 000d 00 .byte 0
669 000e 00 .byte 0
670 000f 00 .byte 0
671 0010 00 .byte 0
672 0011 00 .byte 0
673 0012 00 .byte 0
674 0013 00 .byte 0
675 .global digital_pin_to_bit_mask_PGM
678 digital_pin_to_bit_mask_PGM:
679 0014 01 .byte 1
680 0015 02 .byte 2
681 0016 04 .byte 4
682 0017 08 .byte 8
683 0018 10 .byte 16
684 0019 20 .byte 32
685 001a 40 .byte 64
686 001b 80 .byte -128
687 001c 01 .byte 1
688 001d 02 .byte 2
689 001e 04 .byte 4
690 001f 08 .byte 8
691 0020 10 .byte 16
692 0021 20 .byte 32
693 0022 01 .byte 1
694 0023 02 .byte 2
695 0024 04 .byte 4
696 0025 08 .byte 8
697 0026 10 .byte 16
698 0027 20 .byte 32
699 .global digital_pin_to_port_PGM
702 digital_pin_to_port_PGM:
703 0028 04 .byte 4
704 0029 04 .byte 4
705 002a 04 .byte 4
706 002b 04 .byte 4
707 002c 04 .byte 4
708 002d 04 .byte 4
709 002e 04 .byte 4
710 002f 04 .byte 4
711 0030 02 .byte 2
712 0031 02 .byte 2
713 0032 02 .byte 2
714 0033 02 .byte 2
715 0034 02 .byte 2
716 0035 02 .byte 2
717 0036 03 .byte 3
718 0037 03 .byte 3
719 0038 03 .byte 3
720 0039 03 .byte 3
721 003a 03 .byte 3
722 003b 03 .byte 3
723 .global port_to_input_PGM
726 port_to_input_PGM:
727 003c 0000 .word 0
728 003e 0000 .word 0
729 0040 2300 .word 35
730 0042 2600 .word 38
731 0044 2900 .word 41
732 .global port_to_output_PGM
735 port_to_output_PGM:
736 0046 0000 .word 0
737 0048 0000 .word 0
738 004a 2500 .word 37
739 004c 2800 .word 40
740 004e 2B00 .word 43
741 .global port_to_mode_PGM
744 port_to_mode_PGM:
745 0050 0000 .word 0
746 0052 0000 .word 0
747 0054 2400 .word 36
748 0056 2700 .word 39
749 0058 2A00 .word 42
770 .text
772 .Letext0:
773 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 wiring_digital.c
/tmp/ccyiMr3Y.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccyiMr3Y.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccyiMr3Y.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccyiMr3Y.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccyiMr3Y.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccyiMr3Y.s:135 .text:0000000000000000 turnOffPWM
/tmp/ccyiMr3Y.s:218 .text:0000000000000052 pinMode
/tmp/ccyiMr3Y.s:678 .progmem.data:0000000000000014 digital_pin_to_bit_mask_PGM
/tmp/ccyiMr3Y.s:702 .progmem.data:0000000000000028 digital_pin_to_port_PGM
/tmp/ccyiMr3Y.s:744 .progmem.data:0000000000000050 port_to_mode_PGM
/tmp/ccyiMr3Y.s:735 .progmem.data:0000000000000046 port_to_output_PGM
/tmp/ccyiMr3Y.s:404 .text:00000000000000ca digitalWrite
/tmp/ccyiMr3Y.s:654 .progmem.data:0000000000000000 digital_pin_to_timer_PGM
/tmp/ccyiMr3Y.s:540 .text:0000000000000128 digitalRead
/tmp/ccyiMr3Y.s:726 .progmem.data:000000000000003c port_to_input_PGM
NO UNDEFINED SYMBOLS

@ -1,7 +0,0 @@
wiring_pulse.o wiring_pulse.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h

@ -1,532 +0,0 @@
1 .file "wiring_pulse.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
136 .global pulseInLong
138 pulseInLong:
139 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** wiring_pulse.c - pulseIn() function
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** Part of Arduino - http://www.arduino.cc/
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** Copyright (c) 2005-2006 David A. Mellis
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c ****
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c **** 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/wiring_pulse.c ****
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** You should have received a copy of the GNU Lesser General
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** Public License along with this library; if not, write to the
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** Boston, MA 02111-1307 USA
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** */
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** #include "wiring_private.h"
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** #include "pins_arduino.h"
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** /* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * to 3 minutes in length, but must be called at least a few dozen microseconds
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * before the start of the pulse.
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** *
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * This function performs better with short pulses in noInterrupt() context
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** */
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout)
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** {
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // cache the port and bit of the pin in order to speed up the
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // pulse width measuring loop and achieve finer resolution. calling
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // digitalRead() instead yields much coarser resolution.
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t bit = digitalPinToBitMask(pin);
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t port = digitalPinToPort(pin);
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t stateMask = (state ? bit : 0);
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // convert the timeout from microseconds to a number of times through
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // the initial loop; it takes approximately 16 clock cycles per iteration
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long maxloops = microsecondsToClockCycles(timeout)/16;
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long width = countPulseASM(portInputRegister(port), bit, stateMask, maxloops);
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // prevent clockCyclesToMicroseconds to return bogus values if countPulseASM timed out
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (width)
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return clockCyclesToMicroseconds(width * 16 + 16);
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** else
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** /* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * to 3 minutes in length, but must be called at least a few dozen microseconds
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * before the start of the pulse.
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** *
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * ATTENTION:
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** * this function relies on micros() so cannot be used in noInterrupt() context
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** */
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout)
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** {
141 .LM0:
142 .LFBB1:
143 0000 4F92 push r4
144 0002 5F92 push r5
145 0004 6F92 push r6
146 0006 7F92 push r7
147 0008 8F92 push r8
148 000a 9F92 push r9
149 000c AF92 push r10
150 000e BF92 push r11
151 0010 CF92 push r12
152 0012 DF92 push r13
153 0014 EF92 push r14
154 0016 FF92 push r15
155 0018 0F93 push r16
156 001a 1F93 push r17
157 001c CF93 push r28
158 001e DF93 push r29
159 /* prologue: function */
160 /* frame size = 0 */
161 /* stack size = 16 */
162 .L__stack_usage = 16
163 0020 4901 movw r8,r18
164 0022 5A01 movw r10,r20
165 .LBB2:
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // cache the port and bit of the pin in order to speed up the
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // pulse width measuring loop and achieve finer resolution. calling
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // digitalRead() instead yields much coarser resolution.
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t bit = digitalPinToBitMask(pin);
167 .LM1:
168 0024 90E0 ldi r25,0
169 0026 FC01 movw r30,r24
170 0028 E050 subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
171 002a F040 sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
172 /* #APP */
173 ; 68 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
174 002c 1491 lpm r17, Z
175
176 ; 0 "" 2
177 /* #NOAPP */
178 .LBE2:
179 .LBB3:
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t port = digitalPinToPort(pin);
181 .LM2:
182 002e FC01 movw r30,r24
183 0030 E050 subi r30,lo8(-(digital_pin_to_port_PGM))
184 0032 F040 sbci r31,hi8(-(digital_pin_to_port_PGM))
185 /* #APP */
186 ; 69 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
187 0034 C491 lpm r28, Z
188
189 ; 0 "" 2
190 /* #NOAPP */
191 .LBE3:
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t stateMask = (state ? bit : 0);
193 .LM3:
194 0036 6623 tst r22
195 0038 01F0 breq .L11
196 003a 012F mov r16,r17
197 003c 00C0 rjmp .L2
198 .L11:
199 003e 00E0 ldi r16,0
200 .L2:
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long startMicros = micros();
202 .LM4:
203 0040 0E94 0000 call micros
204 0044 6B01 movw r12,r22
205 0046 7C01 movw r14,r24
206 .LBB4:
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for any previous pulse to end
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*portInputRegister(port) & bit) == stateMask) {
208 .LM5:
209 0048 D0E0 ldi r29,0
210 004a CC0F lsl r28
211 004c DD1F rol r29
212 004e C050 subi r28,lo8(-(port_to_input_PGM))
213 0050 D040 sbci r29,hi8(-(port_to_input_PGM))
214 .L3:
216 .LM6:
217 0052 FE01 movw r30,r28
218 /* #APP */
219 ; 75 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
220 0054 A591 lpm r26, Z+
221 0056 B491 lpm r27, Z
222
223 ; 0 "" 2
224 /* #NOAPP */
225 .LBE4:
226 0058 8C91 ld r24,X
227 005a 8123 and r24,r17
228 005c 0813 cpse r16,r24
229 005e 00C0 rjmp .L6
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (micros() - startMicros > timeout)
231 .LM7:
232 0060 0E94 0000 call micros
233 0064 DC01 movw r26,r24
234 0066 CB01 movw r24,r22
235 0068 8C19 sub r24,r12
236 006a 9D09 sbc r25,r13
237 006c AE09 sbc r26,r14
238 006e BF09 sbc r27,r15
239 0070 8816 cp r8,r24
240 0072 9906 cpc r9,r25
241 0074 AA06 cpc r10,r26
242 0076 BB06 cpc r11,r27
243 0078 00F4 brsh .L3
244 .L7:
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
246 .LM8:
247 007a 60E0 ldi r22,0
248 007c 70E0 ldi r23,0
249 007e CB01 movw r24,r22
250 0080 00C0 rjmp .L4
251 .L8:
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for the pulse to start
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*portInputRegister(port) & bit) != stateMask) {
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (micros() - startMicros > timeout)
253 .LM9:
254 0082 0E94 0000 call micros
255 0086 DC01 movw r26,r24
256 0088 CB01 movw r24,r22
257 008a 8C19 sub r24,r12
258 008c 9D09 sbc r25,r13
259 008e AE09 sbc r26,r14
260 0090 BF09 sbc r27,r15
261 0092 8816 cp r8,r24
262 0094 9906 cpc r9,r25
263 0096 AA06 cpc r10,r26
264 0098 BB06 cpc r11,r27
265 009a 00F0 brlo .L7
266 .L6:
267 .LBB5:
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (micros() - startMicros > timeout)
269 .LM10:
270 009c FE01 movw r30,r28
271 /* #APP */
272 ; 81 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
273 009e A591 lpm r26, Z+
274 00a0 B491 lpm r27, Z
275
276 ; 0 "" 2
277 /* #NOAPP */
278 .LBE5:
279 00a2 8C91 ld r24,X
280 00a4 8123 and r24,r17
281 00a6 0813 cpse r16,r24
282 00a8 00C0 rjmp .L8
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long start = micros();
284 .LM11:
285 00aa 0E94 0000 call micros
286 00ae 2B01 movw r4,r22
287 00b0 3C01 movw r6,r24
288 .L9:
289 .LBB6:
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for the pulse to stop
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*portInputRegister(port) & bit) == stateMask) {
291 .LM12:
292 00b2 FE01 movw r30,r28
293 /* #APP */
294 ; 88 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
295 00b4 A591 lpm r26, Z+
296 00b6 B491 lpm r27, Z
297
298 ; 0 "" 2
299 /* #NOAPP */
300 .LBE6:
301 00b8 8C91 ld r24,X
302 00ba 8123 and r24,r17
303 00bc 0813 cpse r16,r24
304 00be 00C0 rjmp .L14
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (micros() - startMicros > timeout)
306 .LM13:
307 00c0 0E94 0000 call micros
308 00c4 DC01 movw r26,r24
309 00c6 CB01 movw r24,r22
310 00c8 8C19 sub r24,r12
311 00ca 9D09 sbc r25,r13
312 00cc AE09 sbc r26,r14
313 00ce BF09 sbc r27,r15
314 00d0 8816 cp r8,r24
315 00d2 9906 cpc r9,r25
316 00d4 AA06 cpc r10,r26
317 00d6 BB06 cpc r11,r27
318 00d8 00F4 brsh .L9
319 00da 00C0 rjmp .L7
320 .L14:
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return micros() - start;
322 .LM14:
323 00dc 0E94 0000 call micros
324 00e0 6419 sub r22,r4
325 00e2 7509 sbc r23,r5
326 00e4 8609 sbc r24,r6
327 00e6 9709 sbc r25,r7
328 .L4:
329 /* epilogue start */
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
331 .LM15:
332 00e8 DF91 pop r29
333 00ea CF91 pop r28
334 00ec 1F91 pop r17
335 00ee 0F91 pop r16
336 00f0 FF90 pop r15
337 00f2 EF90 pop r14
338 00f4 DF90 pop r13
339 00f6 CF90 pop r12
340 00f8 BF90 pop r11
341 00fa AF90 pop r10
342 00fc 9F90 pop r9
343 00fe 8F90 pop r8
344 0100 7F90 pop r7
345 0102 6F90 pop r6
346 0104 5F90 pop r5
347 0106 4F90 pop r4
348 0108 0895 ret
355 .Lscope1:
357 .stabd 78,0,0
363 .global countPulseASM
365 countPulseASM:
366 .stabd 46,0,0
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** #include <Arduino.h>
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** #include <stdlib.h>
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long countPulseASM(volatile uint8_t *port, uint8_t bit, uint8_t stateMask, unsigned long m
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** {
368 .LM16:
369 .LFBB2:
370 010a CF92 push r12
371 010c DF92 push r13
372 010e EF92 push r14
373 0110 FF92 push r15
374 0112 0F93 push r16
375 0114 1F93 push r17
376 /* prologue: function */
377 /* frame size = 0 */
378 /* stack size = 6 */
379 .L__stack_usage = 6
380 0116 FC01 movw r30,r24
381 .L16:
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** unsigned long width = 0;
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for any previous pulse to end
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*port & bit) == stateMask)
383 .LM17:
384 0118 8081 ld r24,Z
385 011a 8623 and r24,r22
386 011c 8413 cpse r24,r20
387 011e 00C0 rjmp .L20
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (--maxloops == 0)
389 .LM18:
390 0120 0150 subi r16,1
391 0122 1109 sbc r17,__zero_reg__
392 0124 2109 sbc r18,__zero_reg__
393 0126 3109 sbc r19,__zero_reg__
394 0128 01F4 brne .L16
395 012a 00C0 rjmp .L27
396 .L21:
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for the pulse to start
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*port & bit) != stateMask)
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (--maxloops == 0)
398 .LM19:
399 012c 0150 subi r16,1
400 012e 1109 sbc r17,__zero_reg__
401 0130 2109 sbc r18,__zero_reg__
402 0132 3109 sbc r19,__zero_reg__
403 0134 01F0 breq .L27
404 .L20:
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (--maxloops == 0)
406 .LM20:
407 0136 8081 ld r24,Z
408 0138 8623 and r24,r22
409 013a 4813 cpse r20,r24
410 013c 00C0 rjmp .L21
411 013e C12C mov r12,__zero_reg__
412 0140 D12C mov r13,__zero_reg__
413 0142 7601 movw r14,r12
414 .L23:
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // wait for the pulse to stop
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** while ((*port & bit) == stateMask) {
416 .LM21:
417 0144 9081 ld r25,Z
418 0146 9623 and r25,r22
419 0148 4913 cpse r20,r25
420 014a 00C0 rjmp .L28
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** if (++width == maxloops)
422 .LM22:
423 014c 8FEF ldi r24,-1
424 014e C81A sub r12,r24
425 0150 D80A sbc r13,r24
426 0152 E80A sbc r14,r24
427 0154 F80A sbc r15,r24
428 0156 0C15 cp r16,r12
429 0158 1D05 cpc r17,r13
430 015a 2E05 cpc r18,r14
431 015c 3F05 cpc r19,r15
432 015e 01F4 brne .L23
433 0160 00C0 rjmp .L27
434 .L28:
435 0162 B601 movw r22,r12
436 0164 C701 movw r24,r14
437 0166 00C0 rjmp .L17
438 .L27:
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
440 .LM23:
441 0168 60E0 ldi r22,0
442 016a 70E0 ldi r23,0
443 016c 80E0 ldi r24,0
444 016e 90E0 ldi r25,0
445 .L17:
446 /* epilogue start */
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return 0;
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return width;
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
448 .LM24:
449 0170 1F91 pop r17
450 0172 0F91 pop r16
451 0174 FF90 pop r15
452 0176 EF90 pop r14
453 0178 DF90 pop r13
454 017a CF90 pop r12
455 017c 0895 ret
460 .Lscope2:
462 .stabd 78,0,0
467 .global pulseIn
469 pulseIn:
470 .stabd 46,0,0
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** // cache the port and bit of the pin in order to speed up the
472 .LM25:
473 .LFBB3:
474 017e 0F93 push r16
475 0180 1F93 push r17
476 /* prologue: function */
477 /* frame size = 0 */
478 /* stack size = 2 */
479 .L__stack_usage = 2
480 .LBB7:
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t port = digitalPinToPort(pin);
482 .LM26:
483 0182 90E0 ldi r25,0
484 0184 FC01 movw r30,r24
485 0186 E050 subi r30,lo8(-(digital_pin_to_bit_mask_PGM))
486 0188 F040 sbci r31,hi8(-(digital_pin_to_bit_mask_PGM))
487 /* #APP */
488 ; 38 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
489 018a 7491 lpm r23, Z
490
491 ; 0 "" 2
492 /* #NOAPP */
493 .LBE7:
494 .LBB8:
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** uint8_t stateMask = (state ? bit : 0);
496 .LM27:
497 018c FC01 movw r30,r24
498 018e E050 subi r30,lo8(-(digital_pin_to_port_PGM))
499 0190 F040 sbci r31,hi8(-(digital_pin_to_port_PGM))
500 /* #APP */
501 ; 39 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
502 0192 E491 lpm r30, Z
503
504 ; 0 "" 2
505 /* #NOAPP */
506 .LBE8:
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
508 .LM28:
509 0194 6623 tst r22
510 0196 01F0 breq .L32
511 0198 672F mov r22,r23
512 019a 00C0 rjmp .L30
513 .L32:
514 019c 60E0 ldi r22,0
515 .L30:
516 .LBB9:
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
518 .LM29:
519 019e F0E0 ldi r31,0
520 01a0 EE0F lsl r30
521 01a2 FF1F rol r31
522 01a4 E050 subi r30,lo8(-(port_to_input_PGM))
523 01a6 F040 sbci r31,hi8(-(port_to_input_PGM))
524 /* #APP */
525 ; 46 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino
526 01a8 8591 lpm r24, Z+
527 01aa 9491 lpm r25, Z
528
529 ; 0 "" 2
530 /* #NOAPP */
531 .LBE9:
532 01ac 8901 movw r16,r18
533 01ae 9A01 movw r18,r20
534 01b0 3F70 andi r19,15
535 01b2 462F mov r20,r22
536 01b4 672F mov r22,r23
537 01b6 0E94 0000 call countPulseASM
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** return clockCyclesToMicroseconds(width * 16 + 16);
539 .LM30:
540 01ba 6115 cp r22,__zero_reg__
541 01bc 7105 cpc r23,__zero_reg__
542 01be 8105 cpc r24,__zero_reg__
543 01c0 9105 cpc r25,__zero_reg__
544 01c2 01F0 breq .L33
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** else
546 .LM31:
547 01c4 DC01 movw r26,r24
548 01c6 CB01 movw r24,r22
549 01c8 0196 adiw r24,1
550 01ca A11D adc r26,__zero_reg__
551 01cc B11D adc r27,__zero_reg__
552 01ce BC01 movw r22,r24
553 01d0 CD01 movw r24,r26
554 01d2 9F70 andi r25,15
555 01d4 00C0 rjmp .L31
556 .L33:
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c **** }
558 .LM32:
559 01d6 60E0 ldi r22,0
560 01d8 70E0 ldi r23,0
561 01da CB01 movw r24,r22
562 .L31:
563 /* epilogue start */
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_pulse.c ****
565 .LM33:
566 01dc 1F91 pop r17
567 01de 0F91 pop r16
568 01e0 0895 ret
577 .Lscope3:
579 .stabd 78,0,0
595 .Letext0:
596 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 wiring_pulse.c
/tmp/cctF37QZ.s:2 *ABS*:000000000000003e __SP_H__
/tmp/cctF37QZ.s:3 *ABS*:000000000000003d __SP_L__
/tmp/cctF37QZ.s:4 *ABS*:000000000000003f __SREG__
/tmp/cctF37QZ.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/cctF37QZ.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/cctF37QZ.s:138 .text:0000000000000000 pulseInLong
/tmp/cctF37QZ.s:365 .text:000000000000010a countPulseASM
/tmp/cctF37QZ.s:469 .text:000000000000017e pulseIn
UNDEFINED SYMBOLS
digital_pin_to_bit_mask_PGM
digital_pin_to_port_PGM
micros
port_to_input_PGM

@ -1,6 +0,0 @@
wiring_shift.o wiring_shift.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_private.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,242 +0,0 @@
1 .file "wiring_shift.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
136 .global shiftIn
138 shiftIn:
139 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** wiring_shift.c - shiftOut() function
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** Part of Arduino - http://www.arduino.cc/
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** Copyright (c) 2005-2006 David A. Mellis
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c ****
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c **** 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/wiring_shift.c ****
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** You should have received a copy of the GNU Lesser General
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** Public License along with this library; if not, write to the
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** Boston, MA 02111-1307 USA
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** */
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** #include "wiring_private.h"
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
141 .LM0:
142 .LFBB1:
143 0000 CF92 push r12
144 0002 DF92 push r13
145 0004 EF92 push r14
146 0006 FF92 push r15
147 0008 0F93 push r16
148 000a 1F93 push r17
149 000c CF93 push r28
150 000e DF93 push r29
151 /* prologue: function */
152 /* frame size = 0 */
153 /* stack size = 8 */
154 .L__stack_usage = 8
155 0010 F82E mov r15,r24
156 0012 D62F mov r29,r22
157 0014 E42E mov r14,r20
159 .LM1:
160 0016 07E0 ldi r16,lo8(7)
161 0018 10E0 ldi r17,0
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** uint8_t value = 0;
163 .LM2:
164 001a C0E0 ldi r28,0
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** uint8_t i;
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** for (i = 0; i < 8; ++i) {
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(clockPin, HIGH);
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** if (bitOrder == LSBFIRST)
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** value |= digitalRead(dataPin) << i;
166 .LM3:
167 001c 87E0 ldi r24,lo8(7)
168 001e C82E mov r12,r24
169 0020 D12C mov r13,__zero_reg__
170 .L4:
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** if (bitOrder == LSBFIRST)
172 .LM4:
173 0022 61E0 ldi r22,lo8(1)
174 0024 8D2F mov r24,r29
175 0026 0E94 0000 call digitalWrite
177 .LM5:
178 002a 8F2D mov r24,r15
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** value |= digitalRead(dataPin) << i;
180 .LM6:
181 002c E110 cpse r14,__zero_reg__
182 002e 00C0 rjmp .L2
184 .LM7:
185 0030 0E94 0000 call digitalRead
186 0034 9601 movw r18,r12
187 0036 201B sub r18,r16
188 0038 310B sbc r19,r17
189 003a 00C0 rjmp 2f
190 1:
191 003c 880F lsl r24
192 2:
193 003e 2A95 dec r18
194 0040 02F4 brpl 1b
195 0042 00C0 rjmp .L6
196 .L2:
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** else
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** value |= digitalRead(dataPin) << (7 - i);
198 .LM8:
199 0044 0E94 0000 call digitalRead
200 0048 002E mov r0,r16
201 004a 00C0 rjmp 2f
202 1:
203 004c 880F lsl r24
204 2:
205 004e 0A94 dec r0
206 0050 02F4 brpl 1b
207 .L6:
208 0052 C82B or r28,r24
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(clockPin, LOW);
210 .LM9:
211 0054 60E0 ldi r22,0
212 0056 8D2F mov r24,r29
213 0058 0E94 0000 call digitalWrite
214 005c 0150 subi r16,1
215 005e 1109 sbc r17,__zero_reg__
216 0060 00F4 brcc .L4
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** }
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** return value;
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** }
218 .LM10:
219 0062 8C2F mov r24,r28
220 /* epilogue start */
221 0064 DF91 pop r29
222 0066 CF91 pop r28
223 0068 1F91 pop r17
224 006a 0F91 pop r16
225 006c FF90 pop r15
226 006e EF90 pop r14
227 0070 DF90 pop r13
228 0072 CF90 pop r12
229 0074 0895 ret
234 .Lscope1:
236 .stabd 78,0,0
242 .global shiftOut
244 shiftOut:
245 .stabd 46,0,0
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** {
247 .LM11:
248 .LFBB2:
249 0076 BF92 push r11
250 0078 CF92 push r12
251 007a DF92 push r13
252 007c EF92 push r14
253 007e FF92 push r15
254 0080 0F93 push r16
255 0082 1F93 push r17
256 0084 CF93 push r28
257 0086 DF93 push r29
258 /* prologue: function */
259 /* frame size = 0 */
260 /* stack size = 9 */
261 .L__stack_usage = 9
262 0088 C82E mov r12,r24
263 008a D62E mov r13,r22
264 008c B42E mov r11,r20
266 .LM12:
267 008e C7E0 ldi r28,lo8(7)
268 0090 D0E0 ldi r29,0
269 0092 022F mov r16,r18
270 0094 10E0 ldi r17,0
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** uint8_t i;
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** for (i = 0; i < 8; i++) {
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** if (bitOrder == LSBFIRST)
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(dataPin, !!(val & (1 << i)));
272 .LM13:
273 0096 87E0 ldi r24,lo8(7)
274 0098 E82E mov r14,r24
275 009a F12C mov r15,__zero_reg__
276 .L11:
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(dataPin, !!(val & (1 << i)));
278 .LM14:
279 009c B110 cpse r11,__zero_reg__
280 009e 00C0 rjmp .L9
282 .LM15:
283 00a0 C701 movw r24,r14
284 00a2 8C1B sub r24,r28
285 00a4 9D0B sbc r25,r29
286 00a6 B801 movw r22,r16
287 00a8 00C0 rjmp .L13
288 .L9:
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** else
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(dataPin, !!(val & (1 << (7 - i))));
290 .LM16:
291 00aa B801 movw r22,r16
292 00ac 8C2F mov r24,r28
293 .L13:
294 00ae 00C0 rjmp 2f
295 1:
296 00b0 7595 asr r23
297 00b2 6795 ror r22
298 2:
299 00b4 8A95 dec r24
300 00b6 02F4 brpl 1b
301 00b8 6170 andi r22,lo8(1)
302 00ba 8C2D mov r24,r12
303 00bc 0E94 0000 call digitalWrite
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c ****
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(clockPin, HIGH);
305 .LM17:
306 00c0 61E0 ldi r22,lo8(1)
307 00c2 8D2D mov r24,r13
308 00c4 0E94 0000 call digitalWrite
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** digitalWrite(clockPin, LOW);
310 .LM18:
311 00c8 60E0 ldi r22,0
312 00ca 8D2D mov r24,r13
313 00cc 0E94 0000 call digitalWrite
314 00d0 2197 sbiw r28,1
315 00d2 00F4 brcc .L11
316 /* epilogue start */
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** }
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/cores/arduino/wiring_shift.c **** }
318 .LM19:
319 00d4 DF91 pop r29
320 00d6 CF91 pop r28
321 00d8 1F91 pop r17
322 00da 0F91 pop r16
323 00dc FF90 pop r15
324 00de EF90 pop r14
325 00e0 DF90 pop r13
326 00e2 CF90 pop r12
327 00e4 BF90 pop r11
328 00e6 0895 ret
330 .Lscope2:
332 .stabd 78,0,0
348 .Letext0:
349 .ident "GCC: (GNU) 5.4.0"
DEFINED SYMBOLS
*ABS*:0000000000000000 wiring_shift.c
/tmp/ccPyyvV5.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccPyyvV5.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccPyyvV5.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccPyyvV5.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccPyyvV5.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccPyyvV5.s:138 .text:0000000000000000 shiftIn
/tmp/ccPyyvV5.s:244 .text:0000000000000076 shiftOut
UNDEFINED SYMBOLS
digitalWrite
digitalRead

@ -1,14 +0,0 @@
SPI.o SPI.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

@ -1,511 +0,0 @@
1 .file "SPI.cpp"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
9 .text
10 .Ltext0:
136 .global _ZN8SPIClass5beginEv
138 _ZN8SPIClass5beginEv:
139 .stabd 46,0,0
1:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** /*
2:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * Copyright (c) 2010 by Cristian Maglie <c.maglie@arduino.cc>
3:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * Copyright (c) 2014 by Paul Stoffregen <paul@pjrc.com> (Transaction API)
4:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * Copyright (c) 2014 by Matthijs Kooijman <matthijs@stdin.nl> (SPISettings AVR)
5:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * Copyright (c) 2014 by Andrew J. Kroll <xxxajk@gmail.com> (atomicity fixes)
6:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * SPI Master library for arduino.
7:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** *
8:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * This file is free software; you can redistribute it and/or modify
9:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * it under the terms of either the GNU General Public License version 2
10:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * or the GNU Lesser General Public License version 2.1, both as
11:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** * published by the Free Software Foundation.
12:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** */
13:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
14:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #include "SPI.h"
15:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
16:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SPIClass SPI;
17:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
18:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t SPIClass::initialized = 0;
19:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t SPIClass::interruptMode = 0;
20:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t SPIClass::interruptMask = 0;
21:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t SPIClass::interruptSave = 0;
22:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_TRANSACTION_MISMATCH_LED
23:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t SPIClass::inTransactionFlag = 0;
24:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
25:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
26:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** void SPIClass::begin()
27:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** {
141 .LM0:
142 .LFBB1:
143 0000 CF93 push r28
144 /* prologue: function */
145 /* frame size = 0 */
146 /* stack size = 1 */
147 .L__stack_usage = 1
28:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
149 .LM1:
150 0002 CFB7 in r28,__SREG__
29:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** noInterrupts(); // Protect from a scheduler and prevent transactionBegin
152 .LM2:
153 /* #APP */
154 ; 29 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI
155 0004 F894 cli
156 ; 0 "" 2
157 /* #NOAPP */
158 .LBB2:
30:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (!initialized) {
160 .LM3:
161 0006 8091 0000 lds r24,_ZN8SPIClass11initializedE
162 000a 8111 cpse r24,__zero_reg__
163 000c 00C0 rjmp .L2
164 .LBB3:
165 .LBB4:
31:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // Set SS to high so a connected chip will be "deselected" by default
32:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t port = digitalPinToPort(SS);
167 .LM4:
168 000e E0E0 ldi r30,lo8(digital_pin_to_port_PGM+10)
169 0010 F0E0 ldi r31,hi8(digital_pin_to_port_PGM+10)
170 /* #APP */
171 ; 32 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI
172 0012 8491 lpm r24, Z
173
174 ; 0 "" 2
175 /* #NOAPP */
176 .LBE4:
177 .LBB5:
33:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t bit = digitalPinToBitMask(SS);
179 .LM5:
180 0014 E0E0 ldi r30,lo8(digital_pin_to_bit_mask_PGM+10)
181 0016 F0E0 ldi r31,hi8(digital_pin_to_bit_mask_PGM+10)
182 /* #APP */
183 ; 33 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI
184 0018 9491 lpm r25, Z
185
186 ; 0 "" 2
187 /* #NOAPP */
188 .LBE5:
189 .LBB6:
34:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** volatile uint8_t *reg = portModeRegister(port);
191 .LM6:
192 001a E82F mov r30,r24
193 001c F0E0 ldi r31,0
194 001e EE0F lsl r30
195 0020 FF1F rol r31
196 0022 E050 subi r30,lo8(-(port_to_mode_PGM))
197 0024 F040 sbci r31,hi8(-(port_to_mode_PGM))
198 /* #APP */
199 ; 34 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI
200 0026 A591 lpm r26, Z+
201 0028 B491 lpm r27, Z
202
203 ; 0 "" 2
204 /* #NOAPP */
205 .LBE6:
35:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
36:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // if the SS pin is not already configured as an output
37:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // then set it high (to enable the internal pull-up resistor)
38:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if(!(*reg & bit)){
207 .LM7:
208 002a EC91 ld r30,X
209 002c E923 and r30,r25
210 002e 01F4 brne .L3
39:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** digitalWrite(SS, HIGH);
212 .LM8:
213 0030 61E0 ldi r22,lo8(1)
214 0032 8AE0 ldi r24,lo8(10)
215 0034 0E94 0000 call digitalWrite
216 .L3:
40:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
41:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
42:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // When the SS pin is set as OUTPUT, it can be used as
43:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // a general purpose output port (it doesn't influence
44:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // SPI operations).
45:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** pinMode(SS, OUTPUT);
218 .LM9:
219 0038 61E0 ldi r22,lo8(1)
220 003a 8AE0 ldi r24,lo8(10)
221 003c 0E94 0000 call pinMode
46:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
47:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // Warning: if the SS pin ever becomes a LOW INPUT then SPI
48:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // automatically switches to Slave, so the data direction of
49:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // the SS pin MUST be kept as OUTPUT.
50:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SPCR |= _BV(MSTR);
223 .LM10:
224 0040 8CB5 in r24,0x2c
225 0042 8061 ori r24,lo8(16)
226 0044 8CBD out 0x2c,r24
51:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SPCR |= _BV(SPE);
228 .LM11:
229 0046 8CB5 in r24,0x2c
230 0048 8064 ori r24,lo8(64)
231 004a 8CBD out 0x2c,r24
52:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
53:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // Set direction register for SCK and MOSI pin.
54:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // MISO pin automatically overrides to INPUT.
55:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // By doing this AFTER enabling SPI, we avoid accidentally
56:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // clocking in a single bit since the lines go directly
57:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // from "input" to SPI control.
58:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // http://code.google.com/p/arduino/issues/detail?id=888
59:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** pinMode(SCK, OUTPUT);
233 .LM12:
234 004c 61E0 ldi r22,lo8(1)
235 004e 8DE0 ldi r24,lo8(13)
236 0050 0E94 0000 call pinMode
60:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** pinMode(MOSI, OUTPUT);
238 .LM13:
239 0054 61E0 ldi r22,lo8(1)
240 0056 8BE0 ldi r24,lo8(11)
241 0058 0E94 0000 call pinMode
242 .L2:
243 .LBE3:
244 .LBE2:
61:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
62:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** initialized++; // reference count
246 .LM14:
247 005c 8091 0000 lds r24,_ZN8SPIClass11initializedE
248 0060 8F5F subi r24,lo8(-(1))
249 0062 8093 0000 sts _ZN8SPIClass11initializedE,r24
63:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SREG = sreg;
251 .LM15:
252 0066 CFBF out __SREG__,r28
253 /* epilogue start */
64:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
255 .LM16:
256 0068 CF91 pop r28
257 006a 0895 ret
265 .Lscope1:
267 .stabd 78,0,0
269 .global _ZN8SPIClass3endEv
271 _ZN8SPIClass3endEv:
272 .stabd 46,0,0
65:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
66:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** void SPIClass::end() {
274 .LM17:
275 .LFBB2:
276 /* prologue: function */
277 /* frame size = 0 */
278 /* stack size = 0 */
279 .L__stack_usage = 0
67:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
281 .LM18:
282 006c 9FB7 in r25,__SREG__
68:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** noInterrupts(); // Protect from a scheduler and prevent transactionBegin
284 .LM19:
285 /* #APP */
286 ; 68 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI
287 006e F894 cli
288 ; 0 "" 2
69:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // Decrease the reference counter
70:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (initialized)
290 .LM20:
291 /* #NOAPP */
292 0070 8091 0000 lds r24,_ZN8SPIClass11initializedE
293 0074 8823 tst r24
294 0076 01F0 breq .L6
71:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** initialized--;
296 .LM21:
297 0078 8150 subi r24,lo8(-(-1))
298 007a 8093 0000 sts _ZN8SPIClass11initializedE,r24
299 .L6:
72:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // If there are no more references disable SPI
73:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (!initialized) {
301 .LM22:
302 007e 8091 0000 lds r24,_ZN8SPIClass11initializedE
303 0082 8111 cpse r24,__zero_reg__
304 0084 00C0 rjmp .L7
74:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SPCR &= ~_BV(SPE);
306 .LM23:
307 0086 8CB5 in r24,0x2c
308 0088 8F7B andi r24,lo8(-65)
309 008a 8CBD out 0x2c,r24
75:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMode = 0;
311 .LM24:
312 008c 1092 0000 sts _ZN8SPIClass13interruptModeE,__zero_reg__
313 .L7:
76:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_TRANSACTION_MISMATCH_LED
77:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** inTransactionFlag = 0;
78:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
79:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
80:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SREG = sreg;
315 .LM25:
316 0090 9FBF out __SREG__,r25
317 0092 0895 ret
322 .Lscope2:
324 .stabd 78,0,0
327 .global _ZN8SPIClass14usingInterruptEh
329 _ZN8SPIClass14usingInterruptEh:
330 .stabd 46,0,0
81:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
82:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
83:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // mapping of interrupt numbers to bits within SPI_AVR_EIMSK
84:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #if defined(__AVR_ATmega32U4__)
85:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT0_MASK (1<<INT0)
86:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT1_MASK (1<<INT1)
87:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT2_MASK (1<<INT2)
88:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT3_MASK (1<<INT3)
89:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT4_MASK (1<<INT6)
90:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
91:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT0_MASK (1<<INT0)
92:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT1_MASK (1<<INT1)
93:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT2_MASK (1<<INT2)
94:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT3_MASK (1<<INT3)
95:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT4_MASK (1<<INT4)
96:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT5_MASK (1<<INT5)
97:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT6_MASK (1<<INT6)
98:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT7_MASK (1<<INT7)
99:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #elif defined(EICRA) && defined(EICRB) && defined(EIMSK)
100:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT0_MASK (1<<INT4)
101:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT1_MASK (1<<INT5)
102:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT2_MASK (1<<INT0)
103:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT3_MASK (1<<INT1)
104:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT4_MASK (1<<INT2)
105:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT5_MASK (1<<INT3)
106:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT6_MASK (1<<INT6)
107:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT7_MASK (1<<INT7)
108:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #else
109:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef INT0
110:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT0_MASK (1<<INT0)
111:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
112:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef INT1
113:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT1_MASK (1<<INT1)
114:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
115:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef INT2
116:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #define SPI_INT2_MASK (1<<INT2)
117:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
118:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
119:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
120:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** void SPIClass::usingInterrupt(uint8_t interruptNumber)
121:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** {
332 .LM26:
333 .LFBB3:
334 /* prologue: function */
335 /* frame size = 0 */
336 /* stack size = 0 */
337 .L__stack_usage = 0
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t mask = 0;
123:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
339 .LM27:
340 0094 9FB7 in r25,__SREG__
124:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** noInterrupts(); // Protect from a scheduler and prevent transactionBegin
342 .LM28:
343 /* #APP */
344 ; 124 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SP
345 0096 F894 cli
346 ; 0 "" 2
125:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** switch (interruptNumber) {
348 .LM29:
349 /* #NOAPP */
350 0098 8823 tst r24
351 009a 01F0 breq .L16
352 009c 8130 cpi r24,lo8(1)
353 009e 01F4 brne .L17
126:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT0_MASK
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 0: mask = SPI_INT0_MASK; break;
128:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
129:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT1_MASK
130:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 1: mask = SPI_INT1_MASK; break;
355 .LM30:
356 00a0 82E0 ldi r24,lo8(2)
357 00a2 00C0 rjmp .L13
358 .L17:
131:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
132:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT2_MASK
133:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 2: mask = SPI_INT2_MASK; break;
134:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
135:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT3_MASK
136:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 3: mask = SPI_INT3_MASK; break;
137:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
138:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT4_MASK
139:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 4: mask = SPI_INT4_MASK; break;
140:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
141:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT5_MASK
142:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 5: mask = SPI_INT5_MASK; break;
143:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
144:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT6_MASK
145:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 6: mask = SPI_INT6_MASK; break;
146:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
147:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT7_MASK
148:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 7: mask = SPI_INT7_MASK; break;
149:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
150:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** default:
151:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMode = 2;
360 .LM31:
361 00a4 82E0 ldi r24,lo8(2)
362 00a6 8093 0000 sts _ZN8SPIClass13interruptModeE,r24
122:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
364 .LM32:
365 00aa 80E0 ldi r24,0
152:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** break;
367 .LM33:
368 00ac 00C0 rjmp .L13
369 .L16:
127:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
371 .LM34:
372 00ae 81E0 ldi r24,lo8(1)
373 .L13:
153:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
154:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMask |= mask;
375 .LM35:
376 00b0 2091 0000 lds r18,_ZN8SPIClass13interruptMaskE
377 00b4 822B or r24,r18
378 00b6 8093 0000 sts _ZN8SPIClass13interruptMaskE,r24
155:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (!interruptMode)
380 .LM36:
381 00ba 8091 0000 lds r24,_ZN8SPIClass13interruptModeE
382 00be 8111 cpse r24,__zero_reg__
383 00c0 00C0 rjmp .L15
156:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMode = 1;
385 .LM37:
386 00c2 81E0 ldi r24,lo8(1)
387 00c4 8093 0000 sts _ZN8SPIClass13interruptModeE,r24
388 .L15:
157:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SREG = sreg;
390 .LM38:
391 00c8 9FBF out __SREG__,r25
392 00ca 0895 ret
398 .Lscope3:
400 .stabd 78,0,0
403 .global _ZN8SPIClass17notUsingInterruptEh
405 _ZN8SPIClass17notUsingInterruptEh:
406 .stabd 46,0,0
158:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
159:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp ****
160:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** void SPIClass::notUsingInterrupt(uint8_t interruptNumber)
161:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** {
408 .LM39:
409 .LFBB4:
410 /* prologue: function */
411 /* frame size = 0 */
412 /* stack size = 0 */
413 .L__stack_usage = 0
162:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // Once in mode 2 we can't go back to 0 without a proper reference count
163:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (interruptMode == 2)
415 .LM40:
416 00cc 9091 0000 lds r25,_ZN8SPIClass13interruptModeE
417 00d0 9230 cpi r25,lo8(2)
418 00d2 01F0 breq .L18
164:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** return;
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t mask = 0;
166:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
420 .LM41:
421 00d4 2FB7 in r18,__SREG__
167:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** noInterrupts(); // Protect from a scheduler and prevent transactionBegin
423 .LM42:
424 /* #APP */
425 ; 167 "/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SP
426 00d6 F894 cli
427 ; 0 "" 2
168:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** switch (interruptNumber) {
429 .LM43:
430 /* #NOAPP */
431 00d8 8823 tst r24
432 00da 01F0 breq .L21
433 00dc 8130 cpi r24,lo8(1)
434 00de 01F4 brne .L29
169:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT0_MASK
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 0: mask = SPI_INT0_MASK; break;
171:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
172:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT1_MASK
173:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 1: mask = SPI_INT1_MASK; break;
436 .LM44:
437 00e0 82E0 ldi r24,lo8(2)
438 00e2 00C0 rjmp .L20
439 .L21:
170:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
441 .LM45:
442 00e4 81E0 ldi r24,lo8(1)
443 00e6 00C0 rjmp .L20
444 .L29:
165:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** uint8_t sreg = SREG;
446 .LM46:
447 00e8 80E0 ldi r24,0
448 .L20:
174:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
175:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT2_MASK
176:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 2: mask = SPI_INT2_MASK; break;
177:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
178:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT3_MASK
179:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 3: mask = SPI_INT3_MASK; break;
180:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
181:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT4_MASK
182:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 4: mask = SPI_INT4_MASK; break;
183:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
184:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT5_MASK
185:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 5: mask = SPI_INT5_MASK; break;
186:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
187:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT6_MASK
188:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 6: mask = SPI_INT6_MASK; break;
189:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
190:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #ifdef SPI_INT7_MASK
191:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** case 7: mask = SPI_INT7_MASK; break;
192:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** #endif
193:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** default:
194:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** break;
195:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** // this case can't be reached
196:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** }
197:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMask &= ~mask;
450 .LM47:
451 00ea 8095 com r24
452 00ec 9091 0000 lds r25,_ZN8SPIClass13interruptMaskE
453 00f0 8923 and r24,r25
454 00f2 8093 0000 sts _ZN8SPIClass13interruptMaskE,r24
198:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** if (!interruptMask)
456 .LM48:
457 00f6 8111 cpse r24,__zero_reg__
458 00f8 00C0 rjmp .L23
199:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** interruptMode = 0;
460 .LM49:
461 00fa 1092 0000 sts _ZN8SPIClass13interruptModeE,__zero_reg__
462 .L23:
200:/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//hardware/arduino/avr/libraries/SPI/src/SPI.cpp **** SREG = sreg;
464 .LM50:
465 00fe 2FBF out __SREG__,r18
466 .L18:
467 0100 0895 ret
473 .Lscope4:
475 .stabd 78,0,0
476 .global _ZN8SPIClass13interruptSaveE
477 .section .bss
480 _ZN8SPIClass13interruptSaveE:
481 0000 00 .zero 1
482 .global _ZN8SPIClass13interruptMaskE
485 _ZN8SPIClass13interruptMaskE:
486 0001 00 .zero 1
487 .global _ZN8SPIClass13interruptModeE
490 _ZN8SPIClass13interruptModeE:
491 0002 00 .zero 1
492 .global _ZN8SPIClass11initializedE
495 _ZN8SPIClass11initializedE:
496 0003 00 .zero 1
497 .global SPI
500 SPI:
501 0004 00 .zero 1
521 .text
523 .Letext0:
524 .ident "GCC: (GNU) 5.4.0"
525 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 SPI.cpp
/tmp/ccCycDrV.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccCycDrV.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccCycDrV.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccCycDrV.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccCycDrV.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccCycDrV.s:138 .text:0000000000000000 _ZN8SPIClass5beginEv
/tmp/ccCycDrV.s:495 .bss:0000000000000003 _ZN8SPIClass11initializedE
/tmp/ccCycDrV.s:271 .text:000000000000006c _ZN8SPIClass3endEv
/tmp/ccCycDrV.s:490 .bss:0000000000000002 _ZN8SPIClass13interruptModeE
/tmp/ccCycDrV.s:329 .text:0000000000000094 _ZN8SPIClass14usingInterruptEh
/tmp/ccCycDrV.s:485 .bss:0000000000000001 _ZN8SPIClass13interruptMaskE
/tmp/ccCycDrV.s:405 .text:00000000000000cc _ZN8SPIClass17notUsingInterruptEh
/tmp/ccCycDrV.s:480 .bss:0000000000000000 _ZN8SPIClass13interruptSaveE
/tmp/ccCycDrV.s:500 .bss:0000000000000004 SPI
UNDEFINED SYMBOLS
digital_pin_to_port_PGM
digital_pin_to_bit_mask_PGM
port_to_mode_PGM
digitalWrite
pinMode
__do_clear_bss

@ -1,15 +0,0 @@
SoftPWM.o SoftPWM.d : \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//libraries/SoftPWM/SoftPWM.cpp \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//libraries/SoftPWM/SoftPWM.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8//libraries/SoftPWM/SoftPWM_timer.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/binary.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WCharacter.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/WString.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/HardwareSerial.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Stream.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Print.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Printable.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/USBAPI.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/cores/arduino/Arduino.h \
/home/mrh/Downloads/arduino-1.8.8-linux64/arduino-1.8.8/hardware/arduino/avr/variants/standard/pins_arduino.h

File diff suppressed because it is too large Load Diff

@ -17,6 +17,12 @@
#define GREEN 5
#define F_CPU 8000000UL
class Radio {
public:
RF24 instance;
};
class Motor {

Loading…
Cancel
Save