   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
