| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413 |
- GAS LISTING /tmp/ccJvOYjv.s page 1
- 1 .file "smtpc.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .rodata.str1.1,"aMS",@progbits,1
- 9 .LC0:
- 10 0000 546F 3A20 .string "To: "
- 10 00
- 11 .LC1:
- 12 0005 4343 3A20 .string "CC: "
- 12 00
- 13 .LC2:
- 14 000a 2C0D 0A20 .string ",\r\n "
- 14 2020 2000
- 15 .LC3:
- 16 0012 0D0A 00 .string "\r\n"
- 17 .section .text.SendMailHeaderRecipient,"ax",@progbits
- 18 .type SendMailHeaderRecipient, @function
- 19 SendMailHeaderRecipient:
- 20 0000 6F92 push r6
- 21 0002 7F92 push r7
- 22 0004 8F92 push r8
- 23 0006 9F92 push r9
- 24 0008 AF92 push r10
- 25 000a BF92 push r11
- 26 000c CF92 push r12
- 27 000e DF92 push r13
- 28 0010 EF92 push r14
- 29 0012 FF92 push r15
- 30 0014 0F93 push r16
- 31 0016 1F93 push r17
- 32 0018 CF93 push r28
- 33 001a DF93 push r29
- 34 /* prologue: function */
- 35 /* frame size = 0 */
- 36 /* stack size = 14 */
- 37 .L__stack_usage = 14
- 38 001c EC01 movw r28,r24
- 39 001e 4130 cpi r20,lo8(1)
- 40 0020 01F4 brne .L2
- 41 0022 90E0 ldi r25,lo8(.LC0)
- 42 0024 892E mov r8,r25
- 43 0026 90E0 ldi r25,hi8(.LC0)
- 44 0028 992E mov r9,r25
- 45 002a 00C0 rjmp .L3
- 46 .L2:
- 47 002c 80E0 ldi r24,lo8(.LC1)
- 48 002e 882E mov r8,r24
- 49 0030 80E0 ldi r24,hi8(.LC1)
- 50 0032 982E mov r9,r24
- 51 .L3:
- 52 0034 6B01 movw r12,r22
- 53 0036 8CE1 ldi r24,28
- 54 0038 C80E add r12,r24
- GAS LISTING /tmp/ccJvOYjv.s page 2
- 55 003a D11C adc r13,__zero_reg__
- 56 003c 5B01 movw r10,r22
- 57 003e E4E1 ldi r30,20
- 58 0040 AE0E add r10,r30
- 59 0042 B11C adc r11,__zero_reg__
- 60 0044 3B01 movw r6,r22
- 61 0046 F0E2 ldi r31,32
- 62 0048 6F0E add r6,r31
- 63 004a 711C adc r7,__zero_reg__
- 64 004c 00E0 ldi r16,0
- 65 004e 10E0 ldi r17,0
- 66 0050 E42E mov r14,r20
- 67 0052 F12C mov r15,__zero_reg__
- 68 .L7:
- 69 0054 F601 movw r30,r12
- 70 0056 8191 ld r24,Z+
- 71 0058 6F01 movw r12,r30
- 72 005a 8370 andi r24,lo8(3)
- 73 005c 90E0 ldi r25,0
- 74 005e 8E15 cp r24,r14
- 75 0060 9F05 cpc r25,r15
- 76 0062 01F4 brne .L4
- 77 0064 BE01 movw r22,r28
- 78 0066 0115 cp r16,__zero_reg__
- 79 0068 1105 cpc r17,__zero_reg__
- 80 006a 01F0 breq .L5
- 81 006c 80E0 ldi r24,lo8(.LC2)
- 82 006e 90E0 ldi r25,hi8(.LC2)
- 83 0070 00C0 rjmp .L13
- 84 .L5:
- 85 0072 C401 movw r24,r8
- 86 .L13:
- 87 0074 0E94 0000 call fputs
- 88 0078 BE01 movw r22,r28
- 89 007a F501 movw r30,r10
- 90 007c 8081 ld r24,Z
- 91 007e 9181 ldd r25,Z+1
- 92 0080 0E94 0000 call fputs
- 93 0084 0F5F subi r16,-1
- 94 0086 1F4F sbci r17,-1
- 95 .L4:
- 96 0088 F2E0 ldi r31,2
- 97 008a AF0E add r10,r31
- 98 008c B11C adc r11,__zero_reg__
- 99 008e C614 cp r12,r6
- 100 0090 D704 cpc r13,r7
- 101 0092 01F4 brne .L7
- 102 0094 012B or r16,r17
- 103 0096 01F0 breq .L8
- 104 0098 BE01 movw r22,r28
- 105 009a 80E0 ldi r24,lo8(.LC3)
- 106 009c 90E0 ldi r25,hi8(.LC3)
- 107 009e 0E94 0000 call fputs
- 108 .L8:
- 109 00a2 80E0 ldi r24,0
- 110 00a4 90E0 ldi r25,0
- 111 /* epilogue start */
- GAS LISTING /tmp/ccJvOYjv.s page 3
- 112 00a6 DF91 pop r29
- 113 00a8 CF91 pop r28
- 114 00aa 1F91 pop r17
- 115 00ac 0F91 pop r16
- 116 00ae FF90 pop r15
- 117 00b0 EF90 pop r14
- 118 00b2 DF90 pop r13
- 119 00b4 CF90 pop r12
- 120 00b6 BF90 pop r11
- 121 00b8 AF90 pop r10
- 122 00ba 9F90 pop r9
- 123 00bc 8F90 pop r8
- 124 00be 7F90 pop r7
- 125 00c0 6F90 pop r6
- 126 00c2 0895 ret
- 127 .size SendMailHeaderRecipient, .-SendMailHeaderRecipient
- 128 .section .text.NutSmtpReceiveResponse,"ax",@progbits
- 129 .global NutSmtpReceiveResponse
- 130 .type NutSmtpReceiveResponse, @function
- 131 NutSmtpReceiveResponse:
- 132 0000 CF93 push r28
- 133 0002 DF93 push r29
- 134 /* prologue: function */
- 135 /* frame size = 0 */
- 136 /* stack size = 2 */
- 137 .L__stack_usage = 2
- 138 0004 EC01 movw r28,r24
- 139 0006 2896 adiw r28,8
- 140 0008 FC01 movw r30,r24
- 141 000a 4281 ldd r20,Z+2
- 142 000c 5381 ldd r21,Z+3
- 143 000e 60E0 ldi r22,0
- 144 0010 71E0 ldi r23,lo8(1)
- 145 0012 CE01 movw r24,r28
- 146 0014 0E94 0000 call fgets
- 147 0018 892B or r24,r25
- 148 001a 01F0 breq .L19
- 149 001c 6DE0 ldi r22,lo8(13)
- 150 001e 70E0 ldi r23,0
- 151 0020 CE01 movw r24,r28
- 152 0022 0E94 0000 call strchr
- 153 0026 0097 sbiw r24,0
- 154 0028 01F4 brne .L17
- 155 002a 6AE0 ldi r22,lo8(10)
- 156 002c 70E0 ldi r23,0
- 157 002e CE01 movw r24,r28
- 158 0030 0E94 0000 call strchr
- 159 0034 0097 sbiw r24,0
- 160 0036 01F0 breq .L19
- 161 .L17:
- 162 0038 FC01 movw r30,r24
- 163 003a 1082 st Z,__zero_reg__
- 164 003c CE01 movw r24,r28
- 165 003e 00C0 rjmp .L16
- 166 .L19:
- 167 0040 80E0 ldi r24,0
- 168 0042 90E0 ldi r25,0
- GAS LISTING /tmp/ccJvOYjv.s page 4
- 169 .L16:
- 170 /* epilogue start */
- 171 0044 DF91 pop r29
- 172 0046 CF91 pop r28
- 173 0048 0895 ret
- 174 .size NutSmtpReceiveResponse, .-NutSmtpReceiveResponse
- 175 .section .text.NutSmtpSendCommand,"ax",@progbits
- 176 .global NutSmtpSendCommand
- 177 .type NutSmtpSendCommand, @function
- 178 NutSmtpSendCommand:
- 179 0000 0F93 push r16
- 180 0002 1F93 push r17
- 181 0004 CF93 push r28
- 182 0006 DF93 push r29
- 183 0008 CDB7 in r28,__SP_L__
- 184 000a DEB7 in r29,__SP_H__
- 185 /* prologue: function */
- 186 /* frame size = 0 */
- 187 /* stack size = 4 */
- 188 .L__stack_usage = 4
- 189 000c 0885 ldd r16,Y+8
- 190 000e 1985 ldd r17,Y+9
- 191 0010 AE01 movw r20,r28
- 192 0012 445F subi r20,-12
- 193 0014 5F4F sbci r21,-1
- 194 0016 6A85 ldd r22,Y+10
- 195 0018 7B85 ldd r23,Y+11
- 196 001a F801 movw r30,r16
- 197 001c 8281 ldd r24,Z+2
- 198 001e 9381 ldd r25,Z+3
- 199 0020 0E94 0000 call vfprintf
- 200 0024 F801 movw r30,r16
- 201 0026 6281 ldd r22,Z+2
- 202 0028 7381 ldd r23,Z+3
- 203 002a 80E0 ldi r24,lo8(.LC3)
- 204 002c 90E0 ldi r25,hi8(.LC3)
- 205 002e 0E94 0000 call fputs
- 206 0032 F801 movw r30,r16
- 207 0034 8281 ldd r24,Z+2
- 208 0036 9381 ldd r25,Z+3
- 209 0038 0E94 0000 call fflush
- 210 003c C801 movw r24,r16
- 211 003e 0E94 0000 call NutSmtpReceiveResponse
- 212 /* epilogue start */
- 213 0042 DF91 pop r29
- 214 0044 CF91 pop r28
- 215 0046 1F91 pop r17
- 216 0048 0F91 pop r16
- 217 004a 0895 ret
- 218 .size NutSmtpSendCommand, .-NutSmtpSendCommand
- 219 .section .rodata.str1.1
- 220 .LC4:
- 221 0015 2573 2025 .string "%s %s"
- 221 7300
- 222 .LC5:
- 223 001b 2573 205B .string "%s [%s]"
- 223 2573 5D00
- GAS LISTING /tmp/ccJvOYjv.s page 5
- 224 .section .text.SayHello,"ax",@progbits
- 225 .type SayHello, @function
- 226 SayHello:
- 227 0000 0F93 push r16
- 228 0002 1F93 push r17
- 229 0004 CF93 push r28
- 230 0006 DF93 push r29
- 231 /* prologue: function */
- 232 /* frame size = 0 */
- 233 /* stack size = 4 */
- 234 .L__stack_usage = 4
- 235 0008 EC01 movw r28,r24
- 236 000a 162F mov r17,r22
- 237 000c 072F mov r16,r23
- 238 000e 4115 cp r20,__zero_reg__
- 239 0010 5105 cpc r21,__zero_reg__
- 240 0012 01F0 breq .L22
- 241 0014 5F93 push r21
- 242 0016 4F93 push r20
- 243 0018 7F93 push r23
- 244 001a 6F93 push r22
- 245 001c 80E0 ldi r24,lo8(.LC4)
- 246 001e 90E0 ldi r25,hi8(.LC4)
- 247 0020 9F93 push r25
- 248 0022 8F93 push r24
- 249 0024 DF93 push r29
- 250 0026 CF93 push r28
- 251 0028 0E94 0000 call NutSmtpSendCommand
- 252 002c 2DB7 in r18,__SP_L__
- 253 002e 3EB7 in r19,__SP_H__
- 254 0030 285F subi r18,-8
- 255 0032 3F4F sbci r19,-1
- 256 0034 0FB6 in __tmp_reg__,__SREG__
- 257 0036 F894 cli
- 258 0038 3EBF out __SP_H__,r19
- 259 003a 0FBE out __SREG__,__tmp_reg__
- 260 003c 2DBF out __SP_L__,r18
- 261 003e 00C0 rjmp .L23
- 262 .L22:
- 263 0040 6091 0000 lds r22,confnet+16
- 264 0044 7091 0000 lds r23,confnet+16+1
- 265 0048 8091 0000 lds r24,confnet+16+2
- 266 004c 9091 0000 lds r25,confnet+16+3
- 267 0050 0E94 0000 call inet_ntoa
- 268 0054 9F93 push r25
- 269 0056 8F93 push r24
- 270 0058 0F93 push r16
- 271 005a 1F93 push r17
- 272 005c 80E0 ldi r24,lo8(.LC5)
- 273 005e 90E0 ldi r25,hi8(.LC5)
- 274 0060 9F93 push r25
- 275 0062 8F93 push r24
- 276 0064 DF93 push r29
- 277 0066 CF93 push r28
- 278 0068 0E94 0000 call NutSmtpSendCommand
- 279 006c 2DB7 in r18,__SP_L__
- 280 006e 3EB7 in r19,__SP_H__
- GAS LISTING /tmp/ccJvOYjv.s page 6
- 281 0070 285F subi r18,-8
- 282 0072 3F4F sbci r19,-1
- 283 0074 0FB6 in __tmp_reg__,__SREG__
- 284 0076 F894 cli
- 285 0078 3EBF out __SP_H__,r19
- 286 007a 0FBE out __SREG__,__tmp_reg__
- 287 007c 2DBF out __SP_L__,r18
- 288 .L23:
- 289 /* epilogue start */
- 290 007e DF91 pop r29
- 291 0080 CF91 pop r28
- 292 0082 1F91 pop r17
- 293 0084 0F91 pop r16
- 294 0086 0895 ret
- 295 .size SayHello, .-SayHello
- 296 .section .rodata.str1.1
- 297 .LC6:
- 298 0023 5155 4954 .string "QUIT"
- 298 00
- 299 .section .text.NutSmtpDisconnect,"ax",@progbits
- 300 .global NutSmtpDisconnect
- 301 .type NutSmtpDisconnect, @function
- 302 NutSmtpDisconnect:
- 303 0000 CF93 push r28
- 304 0002 DF93 push r29
- 305 /* prologue: function */
- 306 /* frame size = 0 */
- 307 /* stack size = 2 */
- 308 .L__stack_usage = 2
- 309 0004 EC01 movw r28,r24
- 310 0006 8881 ld r24,Y
- 311 0008 9981 ldd r25,Y+1
- 312 000a 892B or r24,r25
- 313 000c 01F0 breq .L25
- 314 000e 8A81 ldd r24,Y+2
- 315 0010 9B81 ldd r25,Y+3
- 316 0012 892B or r24,r25
- 317 0014 01F0 breq .L26
- 318 0016 80E0 ldi r24,lo8(.LC6)
- 319 0018 90E0 ldi r25,hi8(.LC6)
- 320 001a 9F93 push r25
- 321 001c 8F93 push r24
- 322 001e DF93 push r29
- 323 0020 CF93 push r28
- 324 0022 0E94 0000 call NutSmtpSendCommand
- 325 0026 8A81 ldd r24,Y+2
- 326 0028 9B81 ldd r25,Y+3
- 327 002a 0E94 0000 call fclose
- 328 002e 0F90 pop __tmp_reg__
- 329 0030 0F90 pop __tmp_reg__
- 330 0032 0F90 pop __tmp_reg__
- 331 0034 0F90 pop __tmp_reg__
- 332 .L26:
- 333 0036 8881 ld r24,Y
- 334 0038 9981 ldd r25,Y+1
- 335 003a 0E94 0000 call NutTcpCloseSocket
- 336 .L25:
- GAS LISTING /tmp/ccJvOYjv.s page 7
- 337 003e CE01 movw r24,r28
- 338 /* epilogue start */
- 339 0040 DF91 pop r29
- 340 0042 CF91 pop r28
- 341 0044 0C94 0000 jmp free
- 342 .size NutSmtpDisconnect, .-NutSmtpDisconnect
- 343 .section .rodata.str1.1
- 344 .LC7:
- 345 0028 722B 6200 .string "r+b"
- 346 .section .text.NutSmtpConnect,"ax",@progbits
- 347 .global NutSmtpConnect
- 348 .type NutSmtpConnect, @function
- 349 NutSmtpConnect:
- 350 0000 AF92 push r10
- 351 0002 BF92 push r11
- 352 0004 CF92 push r12
- 353 0006 DF92 push r13
- 354 0008 EF92 push r14
- 355 000a FF92 push r15
- 356 000c 0F93 push r16
- 357 000e 1F93 push r17
- 358 0010 CF93 push r28
- 359 0012 DF93 push r29
- 360 0014 00D0 rcall .
- 361 0016 1F92 push __zero_reg__
- 362 0018 CDB7 in r28,__SP_L__
- 363 001a DEB7 in r29,__SP_H__
- 364 /* prologue: function */
- 365 /* frame size = 4 */
- 366 /* stack size = 14 */
- 367 .L__stack_usage = 14
- 368 001c 6B01 movw r12,r22
- 369 001e 7C01 movw r14,r24
- 370 0020 5A01 movw r10,r20
- 371 0022 68E0 ldi r22,lo8(8)
- 372 0024 71E0 ldi r23,lo8(1)
- 373 0026 81E0 ldi r24,lo8(1)
- 374 0028 90E0 ldi r25,0
- 375 002a 0E94 0000 call calloc
- 376 002e 8C01 movw r16,r24
- 377 0030 892B or r24,r25
- 378 0032 01F0 breq .L40
- 379 0034 0E94 0000 call NutTcpCreateSocket
- 380 0038 F801 movw r30,r16
- 381 003a 9183 std Z+1,r25
- 382 003c 8083 st Z,r24
- 383 003e 0097 sbiw r24,0
- 384 0040 01F0 breq .L36
- 385 0042 9501 movw r18,r10
- 386 0044 B701 movw r22,r14
- 387 0046 A601 movw r20,r12
- 388 0048 0E94 0000 call NutTcpConnect
- 389 004c 892B or r24,r25
- 390 004e 01F4 brne .L36
- 391 0050 80EC ldi r24,lo8(-64)
- 392 0052 97E2 ldi r25,lo8(39)
- 393 0054 A9E0 ldi r26,lo8(9)
- GAS LISTING /tmp/ccJvOYjv.s page 8
- 394 0056 B0E0 ldi r27,0
- 395 0058 8983 std Y+1,r24
- 396 005a 9A83 std Y+2,r25
- 397 005c AB83 std Y+3,r26
- 398 005e BC83 std Y+4,r27
- 399 0060 24E0 ldi r18,lo8(4)
- 400 0062 30E0 ldi r19,0
- 401 0064 AE01 movw r20,r28
- 402 0066 4F5F subi r20,-1
- 403 0068 5F4F sbci r21,-1
- 404 006a 66E0 ldi r22,lo8(6)
- 405 006c 70E1 ldi r23,lo8(16)
- 406 006e F801 movw r30,r16
- 407 0070 8081 ld r24,Z
- 408 0072 9181 ldd r25,Z+1
- 409 0074 0E94 0000 call NutTcpSetSockOpt
- 410 0078 60E0 ldi r22,lo8(.LC7)
- 411 007a 70E0 ldi r23,hi8(.LC7)
- 412 007c F801 movw r30,r16
- 413 007e 8081 ld r24,Z
- 414 0080 9181 ldd r25,Z+1
- 415 0082 0E94 0000 call _fdopen
- 416 0086 F801 movw r30,r16
- 417 0088 9383 std Z+3,r25
- 418 008a 8283 std Z+2,r24
- 419 008c 892B or r24,r25
- 420 008e 01F0 breq .L36
- 421 .L44:
- 422 0090 C801 movw r24,r16
- 423 0092 0E94 0000 call NutSmtpReceiveResponse
- 424 0096 FC01 movw r30,r24
- 425 0098 2081 ld r18,Z
- 426 009a 2233 cpi r18,lo8(50)
- 427 009c 01F4 brne .L36
- 428 009e 8381 ldd r24,Z+3
- 429 00a0 8D32 cpi r24,lo8(45)
- 430 00a2 01F0 breq .L44
- 431 00a4 C801 movw r24,r16
- 432 00a6 00C0 rjmp .L34
- 433 .L36:
- 434 00a8 C801 movw r24,r16
- 435 00aa 0E94 0000 call NutSmtpDisconnect
- 436 .L40:
- 437 00ae 80E0 ldi r24,0
- 438 00b0 90E0 ldi r25,0
- 439 .L34:
- 440 /* epilogue start */
- 441 00b2 0F90 pop __tmp_reg__
- 442 00b4 0F90 pop __tmp_reg__
- 443 00b6 0F90 pop __tmp_reg__
- 444 00b8 0F90 pop __tmp_reg__
- 445 00ba DF91 pop r29
- 446 00bc CF91 pop r28
- 447 00be 1F91 pop r17
- 448 00c0 0F91 pop r16
- 449 00c2 FF90 pop r15
- 450 00c4 EF90 pop r14
- GAS LISTING /tmp/ccJvOYjv.s page 9
- 451 00c6 DF90 pop r13
- 452 00c8 CF90 pop r12
- 453 00ca BF90 pop r11
- 454 00cc AF90 pop r10
- 455 00ce 0895 ret
- 456 .size NutSmtpConnect, .-NutSmtpConnect
- 457 .section .rodata.str1.1
- 458 .LC8:
- 459 002c 4548 4C4F .string "EHLO"
- 459 00
- 460 .LC9:
- 461 0031 4845 4C4F .string "HELO"
- 461 00
- 462 .LC10:
- 463 0036 4155 5448 .string "AUTH "
- 463 2000
- 464 .LC11:
- 465 003c 4C4F 4749 .string "LOGIN"
- 465 4E00
- 466 .LC12:
- 467 0042 504C 4149 .string "PLAIN"
- 467 4E00
- 468 .LC13:
- 469 0048 4155 5448 .string "AUTH PLAIN %s"
- 469 2050 4C41
- 469 494E 2025
- 469 7300
- 470 .section .text.NutSmtpLogin,"ax",@progbits
- 471 .global NutSmtpLogin
- 472 .type NutSmtpLogin, @function
- 473 NutSmtpLogin:
- 474 0000 4F92 push r4
- 475 0002 5F92 push r5
- 476 0004 6F92 push r6
- 477 0006 7F92 push r7
- 478 0008 8F92 push r8
- 479 000a 9F92 push r9
- 480 000c AF92 push r10
- 481 000e BF92 push r11
- 482 0010 CF92 push r12
- 483 0012 DF92 push r13
- 484 0014 EF92 push r14
- 485 0016 FF92 push r15
- 486 0018 0F93 push r16
- 487 001a 1F93 push r17
- 488 001c CF93 push r28
- 489 001e DF93 push r29
- 490 /* prologue: function */
- 491 /* frame size = 0 */
- 492 /* stack size = 16 */
- 493 .L__stack_usage = 16
- 494 0020 EC01 movw r28,r24
- 495 0022 7B01 movw r14,r22
- 496 0024 6A01 movw r12,r20
- 497 0026 5901 movw r10,r18
- 498 0028 AB01 movw r20,r22
- 499 002a 60E0 ldi r22,lo8(.LC8)
- GAS LISTING /tmp/ccJvOYjv.s page 10
- 500 002c 70E0 ldi r23,hi8(.LC8)
- 501 002e 0E94 0000 call SayHello
- 502 0032 8C01 movw r16,r24
- 503 0034 0097 sbiw r24,0
- 504 0036 01F4 brne .L48
- 505 .L51:
- 506 0038 8FEF ldi r24,lo8(-1)
- 507 003a 9FEF ldi r25,lo8(-1)
- 508 003c 00C0 rjmp .L49
- 509 .L48:
- 510 003e DC01 movw r26,r24
- 511 0040 8C91 ld r24,X
- 512 0042 8533 cpi r24,lo8(53)
- 513 0044 01F4 brne .L50
- 514 0046 8C81 ldd r24,Y+4
- 515 0048 9D81 ldd r25,Y+5
- 516 004a AE81 ldd r26,Y+6
- 517 004c BF81 ldd r27,Y+7
- 518 004e 8160 ori r24,1
- 519 0050 8C83 std Y+4,r24
- 520 0052 9D83 std Y+5,r25
- 521 0054 AE83 std Y+6,r26
- 522 0056 BF83 std Y+7,r27
- 523 0058 A701 movw r20,r14
- 524 005a 60E0 ldi r22,lo8(.LC9)
- 525 005c 70E0 ldi r23,hi8(.LC9)
- 526 005e CE01 movw r24,r28
- 527 0060 0E94 0000 call SayHello
- 528 0064 8C01 movw r16,r24
- 529 0066 892B or r24,r25
- 530 0068 01F0 breq .L51
- 531 .L50:
- 532 006a F801 movw r30,r16
- 533 006c 8081 ld r24,Z
- 534 006e 8233 cpi r24,lo8(50)
- 535 0070 01F4 brne .L51
- 536 0072 8C81 ldd r24,Y+4
- 537 0074 80FF sbrs r24,0
- 538 0076 00C0 rjmp .L59
- 539 .L58:
- 540 0078 C114 cp r12,__zero_reg__
- 541 007a D104 cpc r13,__zero_reg__
- 542 007c 01F4 brne .L92
- 543 007e 00C0 rjmp .L93
- 544 .L94:
- 545 0080 7801 movw r14,r16
- 546 0082 F9E0 ldi r31,9
- 547 0084 EF0E add r14,r31
- 548 0086 F11C adc r15,__zero_reg__
- 549 0088 60E0 ldi r22,lo8(.LC11)
- 550 008a 70E0 ldi r23,hi8(.LC11)
- 551 008c C701 movw r24,r14
- 552 008e 0E94 0000 call strstr
- 553 0092 892B or r24,r25
- 554 0094 01F0 breq .L56
- 555 0096 8C81 ldd r24,Y+4
- 556 0098 9D81 ldd r25,Y+5
- GAS LISTING /tmp/ccJvOYjv.s page 11
- 557 009a AE81 ldd r26,Y+6
- 558 009c BF81 ldd r27,Y+7
- 559 009e 8260 ori r24,2
- 560 00a0 8C83 std Y+4,r24
- 561 00a2 9D83 std Y+5,r25
- 562 00a4 AE83 std Y+6,r26
- 563 00a6 BF83 std Y+7,r27
- 564 .L56:
- 565 00a8 60E0 ldi r22,lo8(.LC12)
- 566 00aa 70E0 ldi r23,hi8(.LC12)
- 567 00ac C701 movw r24,r14
- 568 00ae 0E94 0000 call strstr
- 569 00b2 892B or r24,r25
- 570 00b4 01F0 breq .L55
- 571 00b6 8C81 ldd r24,Y+4
- 572 00b8 9D81 ldd r25,Y+5
- 573 00ba AE81 ldd r26,Y+6
- 574 00bc BF81 ldd r27,Y+7
- 575 00be 8460 ori r24,4
- 576 00c0 8C83 std Y+4,r24
- 577 00c2 9D83 std Y+5,r25
- 578 00c4 AE83 std Y+6,r26
- 579 00c6 BF83 std Y+7,r27
- 580 .L55:
- 581 00c8 D801 movw r26,r16
- 582 00ca 1396 adiw r26,3
- 583 00cc 8C91 ld r24,X
- 584 00ce 8D32 cpi r24,lo8(45)
- 585 00d0 01F4 brne .L58
- 586 00d2 CE01 movw r24,r28
- 587 00d4 0E94 0000 call NutSmtpReceiveResponse
- 588 00d8 8C01 movw r16,r24
- 589 00da 892B or r24,r25
- 590 00dc 01F0 breq .L58
- 591 .L59:
- 592 00de 45E0 ldi r20,lo8(5)
- 593 00e0 50E0 ldi r21,0
- 594 00e2 60E0 ldi r22,lo8(.LC10)
- 595 00e4 70E0 ldi r23,hi8(.LC10)
- 596 00e6 C801 movw r24,r16
- 597 00e8 0496 adiw r24,4
- 598 00ea 0E94 0000 call strncmp
- 599 00ee 892B or r24,r25
- 600 00f0 01F4 brne .L55
- 601 00f2 00C0 rjmp .L94
- 602 .L92:
- 603 00f4 8C81 ldd r24,Y+4
- 604 00f6 82FF sbrs r24,2
- 605 00f8 00C0 rjmp .L51
- 606 00fa F601 movw r30,r12
- 607 0:
- 608 00fc 0190 ld __tmp_reg__,Z+
- 609 00fe 0020 tst __tmp_reg__
- 610 0100 01F4 brne 0b
- 611 0102 3197 sbiw r30,1
- 612 0104 7F01 movw r14,r30
- 613 0106 EC18 sub r14,r12
- GAS LISTING /tmp/ccJvOYjv.s page 12
- 614 0108 FD08 sbc r15,r13
- 615 010a F501 movw r30,r10
- 616 0:
- 617 010c 0190 ld __tmp_reg__,Z+
- 618 010e 0020 tst __tmp_reg__
- 619 0110 01F4 brne 0b
- 620 0112 3197 sbiw r30,1
- 621 0114 3F01 movw r6,r30
- 622 0116 6A18 sub r6,r10
- 623 0118 7B08 sbc r7,r11
- 624 011a 4301 movw r8,r6
- 625 011c 8E0C add r8,r14
- 626 011e 9F1C adc r9,r15
- 627 0120 C401 movw r24,r8
- 628 0122 0396 adiw r24,3
- 629 0124 0E94 0000 call malloc
- 630 0128 8C01 movw r16,r24
- 631 012a FC01 movw r30,r24
- 632 012c 1192 st Z+,__zero_reg__
- 633 012e CF01 movw r24,r30
- 634 0130 A701 movw r20,r14
- 635 0132 4F5F subi r20,-1
- 636 0134 5F4F sbci r21,-1
- 637 0136 B601 movw r22,r12
- 638 0138 0E94 0000 call memcpy
- 639 013c C701 movw r24,r14
- 640 013e 0296 adiw r24,2
- 641 0140 A301 movw r20,r6
- 642 0142 B501 movw r22,r10
- 643 0144 800F add r24,r16
- 644 0146 911F adc r25,r17
- 645 0148 0E94 0000 call memcpy
- 646 014c AE01 movw r20,r28
- 647 014e 485F subi r20,-8
- 648 0150 5F4F sbci r21,-1
- 649 0152 9401 movw r18,r8
- 650 0154 2E5F subi r18,-2
- 651 0156 3F4F sbci r19,-1
- 652 0158 4A01 movw r8,r20
- 653 015a 60E0 ldi r22,0
- 654 015c F3E0 ldi r31,lo8(3)
- 655 015e BF2E mov r11,r31
- 656 0160 7DE3 ldi r23,lo8(61)
- 657 .L60:
- 658 0162 2115 cp r18,__zero_reg__
- 659 0164 3105 cpc r19,__zero_reg__
- 660 0166 01F4 brne .+2
- 661 0168 00C0 rjmp .L95
- 662 016a D801 movw r26,r16
- 663 016c 8C91 ld r24,X
- 664 016e 90E0 ldi r25,0
- 665 0170 A0E0 ldi r26,0
- 666 0172 B0E0 ldi r27,0
- 667 0174 DC01 movw r26,r24
- 668 0176 9927 clr r25
- 669 0178 8827 clr r24
- 670 017a 2230 cpi r18,2
- GAS LISTING /tmp/ccJvOYjv.s page 13
- 671 017c 3105 cpc r19,__zero_reg__
- 672 017e 00F4 brsh .L61
- 673 0180 0F5F subi r16,-1
- 674 0182 1F4F sbci r17,-1
- 675 0184 62E0 ldi r22,lo8(2)
- 676 0186 00C0 rjmp .L62
- 677 .L61:
- 678 0188 F801 movw r30,r16
- 679 018a F180 ldd r15,Z+1
- 680 018c 9F29 or r25,r15
- 681 018e 2230 cpi r18,2
- 682 0190 3105 cpc r19,__zero_reg__
- 683 0192 01F4 brne .L63
- 684 0194 0E5F subi r16,-2
- 685 0196 1F4F sbci r17,-1
- 686 0198 61E0 ldi r22,lo8(1)
- 687 019a 00C0 rjmp .L62
- 688 .L63:
- 689 019c F801 movw r30,r16
- 690 019e F280 ldd r15,Z+2
- 691 01a0 8F29 or r24,r15
- 692 01a2 0D5F subi r16,-3
- 693 01a4 1F4F sbci r17,-1
- 694 .L62:
- 695 01a6 6401 movw r12,r8
- 696 01a8 A62E mov r10,r22
- 697 .L64:
- 698 01aa 2C01 movw r4,r24
- 699 01ac 3D01 movw r6,r26
- 700 01ae E2E1 ldi r30,18
- 701 1:
- 702 01b0 7694 lsr r7
- 703 01b2 6794 ror r6
- 704 01b4 5794 ror r5
- 705 01b6 4794 ror r4
- 706 01b8 EA95 dec r30
- 707 01ba 01F4 brne 1b
- 708 01bc FFE3 ldi r31,63
- 709 01be 4F22 and r4,r31
- 710 01c0 5524 clr r5
- 711 01c2 6624 clr r6
- 712 01c4 7724 clr r7
- 713 01c6 F201 movw r30,r4
- 714 01c8 E050 subi r30,lo8(-(base64set.2931))
- 715 01ca F040 sbci r31,hi8(-(base64set.2931))
- 716 01cc F080 ld r15,Z
- 717 01ce F601 movw r30,r12
- 718 01d0 F192 st Z+,r15
- 719 01d2 6F01 movw r12,r30
- 720 01d4 F6E0 ldi r31,6
- 721 1:
- 722 01d6 880F lsl r24
- 723 01d8 991F rol r25
- 724 01da AA1F rol r26
- 725 01dc BB1F rol r27
- 726 01de FA95 dec r31
- 727 01e0 01F4 brne 1b
- GAS LISTING /tmp/ccJvOYjv.s page 14
- 728 01e2 A394 inc r10
- 729 01e4 F4E0 ldi r31,lo8(4)
- 730 01e6 AF12 cpse r10,r31
- 731 01e8 00C0 rjmp .L64
- 732 01ea 8B2D mov r24,r11
- 733 01ec 861B sub r24,r22
- 734 01ee 90E0 ldi r25,0
- 735 01f0 0196 adiw r24,1
- 736 01f2 F401 movw r30,r8
- 737 01f4 E80F add r30,r24
- 738 01f6 F91F adc r31,r25
- 739 01f8 6623 tst r22
- 740 01fa 01F0 breq .L65
- 741 01fc 7083 st Z,r23
- 742 01fe 6230 cpi r22,lo8(2)
- 743 0200 01F4 brne .L65
- 744 0202 7183 std Z+1,r23
- 745 .L65:
- 746 0204 862F mov r24,r22
- 747 0206 90E0 ldi r25,0
- 748 0208 4F01 movw r8,r30
- 749 020a 880E add r8,r24
- 750 020c 991E adc r9,r25
- 751 020e 0397 sbiw r24,3
- 752 0210 280F add r18,r24
- 753 0212 391F adc r19,r25
- 754 0214 00C0 rjmp .L60
- 755 .L95:
- 756 0216 D401 movw r26,r8
- 757 0218 1C92 st X,__zero_reg__
- 758 021a 5F93 push r21
- 759 021c 4F93 push r20
- 760 021e 80E0 ldi r24,lo8(.LC13)
- 761 0220 90E0 ldi r25,hi8(.LC13)
- 762 0222 9F93 push r25
- 763 0224 8F93 push r24
- 764 0226 DF93 push r29
- 765 0228 CF93 push r28
- 766 022a 0E94 0000 call NutSmtpSendCommand
- 767 022e 0F90 pop __tmp_reg__
- 768 0230 0F90 pop __tmp_reg__
- 769 0232 0F90 pop __tmp_reg__
- 770 0234 0F90 pop __tmp_reg__
- 771 0236 0F90 pop __tmp_reg__
- 772 0238 0F90 pop __tmp_reg__
- 773 023a 0097 sbiw r24,0
- 774 023c 01F4 brne .+2
- 775 023e 00C0 rjmp .L51
- 776 0240 21E0 ldi r18,lo8(1)
- 777 0242 30E0 ldi r19,0
- 778 0244 DC01 movw r26,r24
- 779 0246 8C91 ld r24,X
- 780 0248 8233 cpi r24,lo8(50)
- 781 024a 01F4 brne .L67
- 782 024c 20E0 ldi r18,0
- 783 024e 30E0 ldi r19,0
- 784 .L67:
- GAS LISTING /tmp/ccJvOYjv.s page 15
- 785 0250 8827 clr r24
- 786 0252 9927 clr r25
- 787 0254 821B sub r24,r18
- 788 0256 930B sbc r25,r19
- 789 0258 00C0 rjmp .L49
- 790 .L93:
- 791 025a 80E0 ldi r24,0
- 792 025c 90E0 ldi r25,0
- 793 .L49:
- 794 /* epilogue start */
- 795 025e DF91 pop r29
- 796 0260 CF91 pop r28
- 797 0262 1F91 pop r17
- 798 0264 0F91 pop r16
- 799 0266 FF90 pop r15
- 800 0268 EF90 pop r14
- 801 026a DF90 pop r13
- 802 026c CF90 pop r12
- 803 026e BF90 pop r11
- 804 0270 AF90 pop r10
- 805 0272 9F90 pop r9
- 806 0274 8F90 pop r8
- 807 0276 7F90 pop r7
- 808 0278 6F90 pop r6
- 809 027a 5F90 pop r5
- 810 027c 4F90 pop r4
- 811 027e 0895 ret
- 812 .size NutSmtpLogin, .-NutSmtpLogin
- 813 .section .rodata.str1.1
- 814 .LC14:
- 815 0056 4D41 494C .string "MAIL FROM:%s"
- 815 2046 524F
- 815 4D3A 2573
- 815 00
- 816 .LC15:
- 817 0063 5243 5054 .string "RCPT TO:%s"
- 817 2054 4F3A
- 817 2573 00
- 818 .section .text.NutSmtpSendMailRequest,"ax",@progbits
- 819 .global NutSmtpSendMailRequest
- 820 .type NutSmtpSendMailRequest, @function
- 821 NutSmtpSendMailRequest:
- 822 0000 8F92 push r8
- 823 0002 9F92 push r9
- 824 0004 AF92 push r10
- 825 0006 BF92 push r11
- 826 0008 CF92 push r12
- 827 000a DF92 push r13
- 828 000c EF92 push r14
- 829 000e FF92 push r15
- 830 0010 0F93 push r16
- 831 0012 1F93 push r17
- 832 0014 CF93 push r28
- 833 0016 DF93 push r29
- 834 /* prologue: function */
- 835 /* frame size = 0 */
- 836 /* stack size = 12 */
- GAS LISTING /tmp/ccJvOYjv.s page 16
- 837 .L__stack_usage = 12
- 838 0018 982E mov r9,r24
- 839 001a 892E mov r8,r25
- 840 001c 8B01 movw r16,r22
- 841 001e FB01 movw r30,r22
- 842 0020 8581 ldd r24,Z+5
- 843 0022 8F93 push r24
- 844 0024 8481 ldd r24,Z+4
- 845 0026 8F93 push r24
- 846 0028 80E0 ldi r24,lo8(.LC14)
- 847 002a 90E0 ldi r25,hi8(.LC14)
- 848 002c 9F93 push r25
- 849 002e 8F93 push r24
- 850 0030 8F92 push r8
- 851 0032 9F92 push r9
- 852 0034 0E94 0000 call NutSmtpSendCommand
- 853 0038 0F90 pop __tmp_reg__
- 854 003a 0F90 pop __tmp_reg__
- 855 003c 0F90 pop __tmp_reg__
- 856 003e 0F90 pop __tmp_reg__
- 857 0040 0F90 pop __tmp_reg__
- 858 0042 0F90 pop __tmp_reg__
- 859 0044 0097 sbiw r24,0
- 860 0046 01F4 brne .+2
- 861 0048 00C0 rjmp .L102
- 862 004a FC01 movw r30,r24
- 863 004c 8081 ld r24,Z
- 864 004e 8233 cpi r24,lo8(50)
- 865 0050 01F0 breq .+2
- 866 0052 00C0 rjmp .L102
- 867 0054 7801 movw r14,r16
- 868 0056 FCE0 ldi r31,12
- 869 0058 EF0E add r14,r31
- 870 005a F11C adc r15,__zero_reg__
- 871 005c E801 movw r28,r16
- 872 005e 6C96 adiw r28,28
- 873 0060 005E subi r16,-32
- 874 0062 1F4F sbci r17,-1
- 875 0064 A12C mov r10,__zero_reg__
- 876 0066 B12C mov r11,__zero_reg__
- 877 0068 80E0 ldi r24,lo8(.LC15)
- 878 006a C82E mov r12,r24
- 879 006c 80E0 ldi r24,hi8(.LC15)
- 880 006e D82E mov r13,r24
- 881 .L100:
- 882 0070 F701 movw r30,r14
- 883 0072 8191 ld r24,Z+
- 884 0074 9191 ld r25,Z+
- 885 0076 7F01 movw r14,r30
- 886 0078 0097 sbiw r24,0
- 887 007a 01F0 breq .L98
- 888 007c 2881 ld r18,Y
- 889 007e 207C andi r18,lo8(-64)
- 890 0080 01F4 brne .L98
- 891 0082 9F93 push r25
- 892 0084 8F93 push r24
- 893 0086 DF92 push r13
- GAS LISTING /tmp/ccJvOYjv.s page 17
- 894 0088 CF92 push r12
- 895 008a 8F92 push r8
- 896 008c 9F92 push r9
- 897 008e 0E94 0000 call NutSmtpSendCommand
- 898 0092 FC01 movw r30,r24
- 899 0094 0F90 pop __tmp_reg__
- 900 0096 0F90 pop __tmp_reg__
- 901 0098 0F90 pop __tmp_reg__
- 902 009a 0F90 pop __tmp_reg__
- 903 009c 0F90 pop __tmp_reg__
- 904 009e 0F90 pop __tmp_reg__
- 905 00a0 892B or r24,r25
- 906 00a2 01F0 breq .L98
- 907 00a4 8081 ld r24,Z
- 908 00a6 9881 ld r25,Y
- 909 00a8 8233 cpi r24,lo8(50)
- 910 00aa 01F4 brne .L99
- 911 00ac 9062 ori r25,lo8(32)
- 912 00ae 9883 st Y,r25
- 913 00b0 FFEF ldi r31,-1
- 914 00b2 AF1A sub r10,r31
- 915 00b4 BF0A sbc r11,r31
- 916 00b6 00C0 rjmp .L98
- 917 .L99:
- 918 00b8 9F7D andi r25,lo8(-33)
- 919 00ba 9883 st Y,r25
- 920 00bc 8081 ld r24,Z
- 921 00be 8533 cpi r24,lo8(53)
- 922 00c0 01F4 brne .L98
- 923 00c2 9068 ori r25,lo8(-128)
- 924 00c4 9883 st Y,r25
- 925 .L98:
- 926 00c6 2196 adiw r28,1
- 927 00c8 C017 cp r28,r16
- 928 00ca D107 cpc r29,r17
- 929 00cc 01F4 brne .L100
- 930 00ce 00C0 rjmp .L97
- 931 .L102:
- 932 00d0 A12C mov r10,__zero_reg__
- 933 00d2 B12C mov r11,__zero_reg__
- 934 .L97:
- 935 00d4 C501 movw r24,r10
- 936 /* epilogue start */
- 937 00d6 DF91 pop r29
- 938 00d8 CF91 pop r28
- 939 00da 1F91 pop r17
- 940 00dc 0F91 pop r16
- 941 00de FF90 pop r15
- 942 00e0 EF90 pop r14
- 943 00e2 DF90 pop r13
- 944 00e4 CF90 pop r12
- 945 00e6 BF90 pop r11
- 946 00e8 AF90 pop r10
- 947 00ea 9F90 pop r9
- 948 00ec 8F90 pop r8
- 949 00ee 0895 ret
- 950 .size NutSmtpSendMailRequest, .-NutSmtpSendMailRequest
- GAS LISTING /tmp/ccJvOYjv.s page 18
- 951 .section .rodata.str1.1
- 952 .LC16:
- 953 006e 4461 7465 .string "Date: %s\r\n"
- 953 3A20 2573
- 953 0D0A 00
- 954 .LC17:
- 955 0079 4672 6F6D .string "From: %s\r\n"
- 955 3A20 2573
- 955 0D0A 00
- 956 .LC18:
- 957 0084 5375 626A .string "Subject: %s\r\n"
- 957 6563 743A
- 957 2025 730D
- 957 0A00
- 958 .section .text.NutSmtpSendMailHeader,"ax",@progbits
- 959 .global NutSmtpSendMailHeader
- 960 .type NutSmtpSendMailHeader, @function
- 961 NutSmtpSendMailHeader:
- 962 0000 0F93 push r16
- 963 0002 1F93 push r17
- 964 0004 CF93 push r28
- 965 0006 DF93 push r29
- 966 /* prologue: function */
- 967 /* frame size = 0 */
- 968 /* stack size = 4 */
- 969 .L__stack_usage = 4
- 970 0008 EC01 movw r28,r24
- 971 000a 8B01 movw r16,r22
- 972 000c FB01 movw r30,r22
- 973 000e 8081 ld r24,Z
- 974 0010 9181 ldd r25,Z+1
- 975 0012 A281 ldd r26,Z+2
- 976 0014 B381 ldd r27,Z+3
- 977 0016 892B or r24,r25
- 978 0018 8A2B or r24,r26
- 979 001a 8B2B or r24,r27
- 980 001c 01F0 breq .L111
- 981 001e CB01 movw r24,r22
- 982 0020 0E94 0000 call gmtime
- 983 0024 0E94 0000 call Rfc1123TimeString
- 984 0028 9F93 push r25
- 985 002a 8F93 push r24
- 986 002c 80E0 ldi r24,lo8(.LC16)
- 987 002e 90E0 ldi r25,hi8(.LC16)
- 988 0030 9F93 push r25
- 989 0032 8F93 push r24
- 990 0034 8B81 ldd r24,Y+3
- 991 0036 8F93 push r24
- 992 0038 8A81 ldd r24,Y+2
- 993 003a 8F93 push r24
- 994 003c 0E94 0000 call fprintf
- 995 0040 0F90 pop __tmp_reg__
- 996 0042 0F90 pop __tmp_reg__
- 997 0044 0F90 pop __tmp_reg__
- 998 0046 0F90 pop __tmp_reg__
- 999 0048 0F90 pop __tmp_reg__
- 1000 004a 0F90 pop __tmp_reg__
- GAS LISTING /tmp/ccJvOYjv.s page 19
- 1001 .L111:
- 1002 004c F801 movw r30,r16
- 1003 004e 8781 ldd r24,Z+7
- 1004 0050 8F93 push r24
- 1005 0052 8681 ldd r24,Z+6
- 1006 0054 8F93 push r24
- 1007 0056 80E0 ldi r24,lo8(.LC17)
- 1008 0058 90E0 ldi r25,hi8(.LC17)
- 1009 005a 9F93 push r25
- 1010 005c 8F93 push r24
- 1011 005e 8B81 ldd r24,Y+3
- 1012 0060 8F93 push r24
- 1013 0062 8A81 ldd r24,Y+2
- 1014 0064 8F93 push r24
- 1015 0066 0E94 0000 call fprintf
- 1016 006a F801 movw r30,r16
- 1017 006c 8185 ldd r24,Z+9
- 1018 006e 8F93 push r24
- 1019 0070 8085 ldd r24,Z+8
- 1020 0072 8F93 push r24
- 1021 0074 80E0 ldi r24,lo8(.LC18)
- 1022 0076 90E0 ldi r25,hi8(.LC18)
- 1023 0078 9F93 push r25
- 1024 007a 8F93 push r24
- 1025 007c 8B81 ldd r24,Y+3
- 1026 007e 8F93 push r24
- 1027 0080 8A81 ldd r24,Y+2
- 1028 0082 8F93 push r24
- 1029 0084 0E94 0000 call fprintf
- 1030 0088 41E0 ldi r20,lo8(1)
- 1031 008a B801 movw r22,r16
- 1032 008c 8A81 ldd r24,Y+2
- 1033 008e 9B81 ldd r25,Y+3
- 1034 0090 0E94 0000 call SendMailHeaderRecipient
- 1035 0094 42E0 ldi r20,lo8(2)
- 1036 0096 B801 movw r22,r16
- 1037 0098 8A81 ldd r24,Y+2
- 1038 009a 9B81 ldd r25,Y+3
- 1039 009c 0E94 0000 call SendMailHeaderRecipient
- 1040 00a0 8DB7 in r24,__SP_L__
- 1041 00a2 9EB7 in r25,__SP_H__
- 1042 00a4 0C96 adiw r24,12
- 1043 00a6 0FB6 in __tmp_reg__,__SREG__
- 1044 00a8 F894 cli
- 1045 00aa 9EBF out __SP_H__,r25
- 1046 00ac 0FBE out __SREG__,__tmp_reg__
- 1047 00ae 8DBF out __SP_L__,r24
- 1048 00b0 80E0 ldi r24,0
- 1049 00b2 90E0 ldi r25,0
- 1050 /* epilogue start */
- 1051 00b4 DF91 pop r29
- 1052 00b6 CF91 pop r28
- 1053 00b8 1F91 pop r17
- 1054 00ba 0F91 pop r16
- 1055 00bc 0895 ret
- 1056 .size NutSmtpSendMailHeader, .-NutSmtpSendMailHeader
- 1057 .section .text.NutSmtpSendEncodedLines,"ax",@progbits
- GAS LISTING /tmp/ccJvOYjv.s page 20
- 1058 .global NutSmtpSendEncodedLines
- 1059 .type NutSmtpSendEncodedLines, @function
- 1060 NutSmtpSendEncodedLines:
- 1061 0000 EF92 push r14
- 1062 0002 FF92 push r15
- 1063 0004 0F93 push r16
- 1064 0006 1F93 push r17
- 1065 0008 CF93 push r28
- 1066 000a DF93 push r29
- 1067 /* prologue: function */
- 1068 /* frame size = 0 */
- 1069 /* stack size = 6 */
- 1070 .L__stack_usage = 6
- 1071 000c 8C01 movw r16,r24
- 1072 000e EB01 movw r28,r22
- 1073 0010 7C01 movw r14,r24
- 1074 0012 28E0 ldi r18,8
- 1075 0014 E20E add r14,r18
- 1076 0016 F11C adc r15,__zero_reg__
- 1077 .L116:
- 1078 0018 8881 ld r24,Y
- 1079 001a 8823 tst r24
- 1080 001c 01F0 breq .L137
- 1081 001e AE01 movw r20,r28
- 1082 0020 F701 movw r30,r14
- 1083 0022 80E0 ldi r24,0
- 1084 0024 90E0 ldi r25,0
- 1085 .L117:
- 1086 0026 EA01 movw r28,r20
- 1087 0028 2881 ld r18,Y
- 1088 002a 4F5F subi r20,-1
- 1089 002c 5F4F sbci r21,-1
- 1090 002e 2223 tst r18
- 1091 0030 01F0 breq .L121
- 1092 0032 8F3F cpi r24,-1
- 1093 0034 9105 cpc r25,__zero_reg__
- 1094 0036 01F0 breq .+2
- 1095 0038 04F4 brge .L127
- 1096 003a 2D30 cpi r18,lo8(13)
- 1097 003c 01F0 breq .L117
- 1098 003e 2A30 cpi r18,lo8(10)
- 1099 0040 01F4 brne .L119
- 1100 0042 EA01 movw r28,r20
- 1101 0044 00C0 rjmp .L127
- 1102 .L119:
- 1103 0046 2083 st Z,r18
- 1104 0048 0196 adiw r24,1
- 1105 004a 3196 adiw r30,1
- 1106 004c 00C0 rjmp .L117
- 1107 .L121:
- 1108 004e 892B or r24,r25
- 1109 0050 01F0 breq .L116
- 1110 .L127:
- 1111 0052 1082 st Z,__zero_reg__
- 1112 0054 F801 movw r30,r16
- 1113 0056 8085 ldd r24,Z+8
- 1114 0058 8E32 cpi r24,lo8(46)
- GAS LISTING /tmp/ccJvOYjv.s page 21
- 1115 005a 01F4 brne .L124
- 1116 005c 6281 ldd r22,Z+2
- 1117 005e 7381 ldd r23,Z+3
- 1118 0060 8EE2 ldi r24,lo8(46)
- 1119 0062 90E0 ldi r25,0
- 1120 0064 0E94 0000 call fputc
- 1121 .L124:
- 1122 0068 F801 movw r30,r16
- 1123 006a 6281 ldd r22,Z+2
- 1124 006c 7381 ldd r23,Z+3
- 1125 006e C701 movw r24,r14
- 1126 0070 0E94 0000 call fputs
- 1127 0074 F801 movw r30,r16
- 1128 0076 6281 ldd r22,Z+2
- 1129 0078 7381 ldd r23,Z+3
- 1130 007a 80E0 ldi r24,lo8(.LC3)
- 1131 007c 90E0 ldi r25,hi8(.LC3)
- 1132 007e 0E94 0000 call fputs
- 1133 0082 8F3F cpi r24,-1
- 1134 0084 FFEF ldi r31,-1
- 1135 0086 9F07 cpc r25,r31
- 1136 0088 01F4 brne .L116
- 1137 008a 00C0 rjmp .L125
- 1138 .L137:
- 1139 008c 80E0 ldi r24,0
- 1140 008e 90E0 ldi r25,0
- 1141 .L125:
- 1142 /* epilogue start */
- 1143 0090 DF91 pop r29
- 1144 0092 CF91 pop r28
- 1145 0094 1F91 pop r17
- 1146 0096 0F91 pop r16
- 1147 0098 FF90 pop r15
- 1148 009a EF90 pop r14
- 1149 009c 0895 ret
- 1150 .size NutSmtpSendEncodedLines, .-NutSmtpSendEncodedLines
- 1151 .section .rodata.str1.1
- 1152 .LC19:
- 1153 0092 4441 5441 .string "DATA"
- 1153 00
- 1154 .LC20:
- 1155 0097 2E0D 0A00 .string ".\r\n"
- 1156 .section .text.NutSmtpSendMail,"ax",@progbits
- 1157 .global NutSmtpSendMail
- 1158 .type NutSmtpSendMail, @function
- 1159 NutSmtpSendMail:
- 1160 0000 0F93 push r16
- 1161 0002 1F93 push r17
- 1162 0004 CF93 push r28
- 1163 0006 DF93 push r29
- 1164 /* prologue: function */
- 1165 /* frame size = 0 */
- 1166 /* stack size = 4 */
- 1167 .L__stack_usage = 4
- 1168 0008 EC01 movw r28,r24
- 1169 000a 8B01 movw r16,r22
- 1170 000c 0E94 0000 call NutSmtpSendMailRequest
- GAS LISTING /tmp/ccJvOYjv.s page 22
- 1171 0010 1816 cp __zero_reg__,r24
- 1172 0012 1906 cpc __zero_reg__,r25
- 1173 0014 04F0 brlt .L139
- 1174 .L141:
- 1175 0016 80E0 ldi r24,0
- 1176 0018 90E0 ldi r25,0
- 1177 001a 00C0 rjmp .L140
- 1178 .L139:
- 1179 001c 80E0 ldi r24,lo8(.LC19)
- 1180 001e 90E0 ldi r25,hi8(.LC19)
- 1181 0020 9F93 push r25
- 1182 0022 8F93 push r24
- 1183 0024 DF93 push r29
- 1184 0026 CF93 push r28
- 1185 0028 0E94 0000 call NutSmtpSendCommand
- 1186 002c 0F90 pop __tmp_reg__
- 1187 002e 0F90 pop __tmp_reg__
- 1188 0030 0F90 pop __tmp_reg__
- 1189 0032 0F90 pop __tmp_reg__
- 1190 0034 0097 sbiw r24,0
- 1191 0036 01F0 breq .L141
- 1192 0038 FC01 movw r30,r24
- 1193 003a 2081 ld r18,Z
- 1194 003c 2333 cpi r18,lo8(51)
- 1195 003e 01F4 brne .L140
- 1196 0040 B801 movw r22,r16
- 1197 0042 CE01 movw r24,r28
- 1198 0044 0E94 0000 call NutSmtpSendMailHeader
- 1199 0048 6A81 ldd r22,Y+2
- 1200 004a 7B81 ldd r23,Y+3
- 1201 004c 80E0 ldi r24,lo8(.LC3)
- 1202 004e 90E0 ldi r25,hi8(.LC3)
- 1203 0050 0E94 0000 call fputs
- 1204 0054 F801 movw r30,r16
- 1205 0056 6285 ldd r22,Z+10
- 1206 0058 7385 ldd r23,Z+11
- 1207 005a 6115 cp r22,__zero_reg__
- 1208 005c 7105 cpc r23,__zero_reg__
- 1209 005e 01F0 breq .L142
- 1210 0060 CE01 movw r24,r28
- 1211 0062 0E94 0000 call NutSmtpSendEncodedLines
- 1212 .L142:
- 1213 0066 6A81 ldd r22,Y+2
- 1214 0068 7B81 ldd r23,Y+3
- 1215 006a 80E0 ldi r24,lo8(.LC20)
- 1216 006c 90E0 ldi r25,hi8(.LC20)
- 1217 006e 0E94 0000 call fputs
- 1218 0072 8A81 ldd r24,Y+2
- 1219 0074 9B81 ldd r25,Y+3
- 1220 0076 0E94 0000 call fflush
- 1221 007a CE01 movw r24,r28
- 1222 007c 0E94 0000 call NutSmtpReceiveResponse
- 1223 0080 0097 sbiw r24,0
- 1224 0082 01F0 breq .L141
- 1225 0084 FC01 movw r30,r24
- 1226 0086 2081 ld r18,Z
- 1227 0088 2233 cpi r18,lo8(50)
- GAS LISTING /tmp/ccJvOYjv.s page 23
- 1228 008a 01F4 brne .L140
- 1229 008c D801 movw r26,r16
- 1230 008e 1C96 adiw r26,12
- 1231 0090 F801 movw r30,r16
- 1232 0092 7C96 adiw r30,28
- 1233 0094 005E subi r16,-32
- 1234 0096 1F4F sbci r17,-1
- 1235 .L144:
- 1236 0098 2D91 ld r18,X+
- 1237 009a 3D91 ld r19,X+
- 1238 009c 232B or r18,r19
- 1239 009e 01F0 breq .L143
- 1240 00a0 2081 ld r18,Z
- 1241 00a2 25FF sbrs r18,5
- 1242 00a4 00C0 rjmp .L143
- 1243 00a6 2064 ori r18,lo8(64)
- 1244 00a8 2083 st Z,r18
- 1245 .L143:
- 1246 00aa 3196 adiw r30,1
- 1247 00ac E017 cp r30,r16
- 1248 00ae F107 cpc r31,r17
- 1249 00b0 01F4 brne .L144
- 1250 .L140:
- 1251 /* epilogue start */
- 1252 00b2 DF91 pop r29
- 1253 00b4 CF91 pop r28
- 1254 00b6 1F91 pop r17
- 1255 00b8 0F91 pop r16
- 1256 00ba 0895 ret
- 1257 .size NutSmtpSendMail, .-NutSmtpSendMail
- 1258 .section .rodata
- 1259 .type base64set.2931, @object
- 1260 .size base64set.2931, 65
- 1261 base64set.2931:
- 1262 0000 4142 4344 .string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
- 1262 4546 4748
- 1262 494A 4B4C
- 1262 4D4E 4F50
- 1262 5152 5354
- 1263 .ident "GCC: (GNU) 5.3.0"
- 1264 .global __do_copy_data
- GAS LISTING /tmp/ccJvOYjv.s page 24
- DEFINED SYMBOLS
- *ABS*:0000000000000000 smtpc.c
- /tmp/ccJvOYjv.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccJvOYjv.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccJvOYjv.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccJvOYjv.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccJvOYjv.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccJvOYjv.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccJvOYjv.s:19 .text.SendMailHeaderRecipient:0000000000000000 SendMailHeaderRecipient
- /tmp/ccJvOYjv.s:131 .text.NutSmtpReceiveResponse:0000000000000000 NutSmtpReceiveResponse
- /tmp/ccJvOYjv.s:178 .text.NutSmtpSendCommand:0000000000000000 NutSmtpSendCommand
- /tmp/ccJvOYjv.s:226 .text.SayHello:0000000000000000 SayHello
- /tmp/ccJvOYjv.s:302 .text.NutSmtpDisconnect:0000000000000000 NutSmtpDisconnect
- /tmp/ccJvOYjv.s:349 .text.NutSmtpConnect:0000000000000000 NutSmtpConnect
- /tmp/ccJvOYjv.s:473 .text.NutSmtpLogin:0000000000000000 NutSmtpLogin
- /tmp/ccJvOYjv.s:1261 .rodata:0000000000000000 base64set.2931
- /tmp/ccJvOYjv.s:821 .text.NutSmtpSendMailRequest:0000000000000000 NutSmtpSendMailRequest
- /tmp/ccJvOYjv.s:961 .text.NutSmtpSendMailHeader:0000000000000000 NutSmtpSendMailHeader
- /tmp/ccJvOYjv.s:1060 .text.NutSmtpSendEncodedLines:0000000000000000 NutSmtpSendEncodedLines
- /tmp/ccJvOYjv.s:1159 .text.NutSmtpSendMail:0000000000000000 NutSmtpSendMail
- UNDEFINED SYMBOLS
- fputs
- fgets
- strchr
- vfprintf
- fflush
- confnet
- inet_ntoa
- fclose
- NutTcpCloseSocket
- free
- calloc
- NutTcpCreateSocket
- NutTcpConnect
- NutTcpSetSockOpt
- _fdopen
- strstr
- strncmp
- malloc
- memcpy
- gmtime
- Rfc1123TimeString
- fprintf
- fputc
- __do_copy_data
|