GAS LISTING /tmp/ccLDSf6l.s page 1 1 .file "snmp_session.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 .text.SnmpSessionOpen,"ax",@progbits 9 .global SnmpSessionOpen 10 .type SnmpSessionOpen, @function 11 SnmpSessionOpen: 12 0000 8F92 push r8 13 0002 9F92 push r9 14 0004 AF92 push r10 15 0006 BF92 push r11 16 0008 CF92 push r12 17 000a DF92 push r13 18 000c EF92 push r14 19 000e FF92 push r15 20 0010 0F93 push r16 21 0012 1F93 push r17 22 0014 CF93 push r28 23 0016 DF93 push r29 24 /* prologue: function */ 25 /* frame size = 0 */ 26 /* stack size = 12 */ 27 .L__stack_usage = 12 28 0018 4B01 movw r8,r22 29 001a 5C01 movw r10,r24 30 001c 6A01 movw r12,r20 31 001e 7901 movw r14,r18 32 0020 63E3 ldi r22,lo8(51) 33 0022 70E0 ldi r23,0 34 0024 81E0 ldi r24,lo8(1) 35 0026 90E0 ldi r25,0 36 0028 0E94 0000 call calloc 37 002c EC01 movw r28,r24 38 002e 892B or r24,r25 39 0030 01F0 breq .L2 40 0032 80E0 ldi r24,0 41 0034 90E0 ldi r25,0 42 0036 0E94 0000 call NutUdpCreateSocket 43 003a 9CA7 std Y+44,r25 44 003c 8BA7 std Y+43,r24 45 003e 892B or r24,r25 46 0040 01F4 brne .L3 47 0042 CE01 movw r24,r28 48 0044 0E94 0000 call free 49 0048 C0E0 ldi r28,0 50 004a D0E0 ldi r29,0 51 004c 00C0 rjmp .L2 52 .L3: 53 004e 8DA6 std Y+45,r8 54 0050 9EA6 std Y+46,r9 55 0052 AFA6 std Y+47,r10 56 0054 B8AA std Y+48,r11 57 0056 DAAA std Y+50,r13 GAS LISTING /tmp/ccLDSf6l.s page 2 58 0058 C9AA std Y+49,r12 59 005a A801 movw r20,r16 60 005c B701 movw r22,r14 61 005e CE01 movw r24,r28 62 0060 0696 adiw r24,6 63 0062 0E94 0000 call memcpy 64 0066 1D83 std Y+5,r17 65 0068 0C83 std Y+4,r16 66 .L2: 67 006a CE01 movw r24,r28 68 /* epilogue start */ 69 006c DF91 pop r29 70 006e CF91 pop r28 71 0070 1F91 pop r17 72 0072 0F91 pop r16 73 0074 FF90 pop r15 74 0076 EF90 pop r14 75 0078 DF90 pop r13 76 007a CF90 pop r12 77 007c BF90 pop r11 78 007e AF90 pop r10 79 0080 9F90 pop r9 80 0082 8F90 pop r8 81 0084 0895 ret 82 .size SnmpSessionOpen, .-SnmpSessionOpen 83 .section .text.SnmpSessionClose,"ax",@progbits 84 .global SnmpSessionClose 85 .type SnmpSessionClose, @function 86 SnmpSessionClose: 87 0000 CF93 push r28 88 0002 DF93 push r29 89 /* prologue: function */ 90 /* frame size = 0 */ 91 /* stack size = 2 */ 92 .L__stack_usage = 2 93 0004 EC01 movw r28,r24 94 0006 8BA5 ldd r24,Y+43 95 0008 9CA5 ldd r25,Y+44 96 000a 0097 sbiw r24,0 97 000c 01F0 breq .L9 98 000e 0E94 0000 call NutUdpDestroySocket 99 .L9: 100 0012 CE01 movw r24,r28 101 /* epilogue start */ 102 0014 DF91 pop r29 103 0016 CF91 pop r28 104 0018 0C94 0000 jmp free 105 .size SnmpSessionClose, .-SnmpSessionClose 106 .section .text.SnmpSessionSendPdu,"ax",@progbits 107 .global SnmpSessionSendPdu 108 .type SnmpSessionSendPdu, @function 109 SnmpSessionSendPdu: 110 0000 2F92 push r2 111 0002 3F92 push r3 112 0004 4F92 push r4 113 0006 5F92 push r5 114 0008 6F92 push r6 GAS LISTING /tmp/ccLDSf6l.s page 3 115 000a 7F92 push r7 116 000c 8F92 push r8 117 000e 9F92 push r9 118 0010 AF92 push r10 119 0012 BF92 push r11 120 0014 CF92 push r12 121 0016 DF92 push r13 122 0018 EF92 push r14 123 001a FF92 push r15 124 001c 0F93 push r16 125 001e 1F93 push r17 126 0020 CF93 push r28 127 0022 DF93 push r29 128 0024 00D0 rcall . 129 0026 00D0 rcall . 130 0028 CDB7 in r28,__SP_L__ 131 002a DEB7 in r29,__SP_H__ 132 /* prologue: function */ 133 /* frame size = 6 */ 134 /* stack size = 24 */ 135 .L__stack_usage = 24 136 002c 3C01 movw r6,r24 137 002e 5B01 movw r10,r22 138 0030 FB01 movw r30,r22 139 0032 8081 ld r24,Z 140 0034 9181 ldd r25,Z+1 141 0036 843A cpi r24,-92 142 0038 9105 cpc r25,__zero_reg__ 143 003a 01F4 brne .L14 144 003c 81E0 ldi r24,lo8(1) 145 003e 90E0 ldi r25,0 146 0040 A0E0 ldi r26,0 147 0042 B0E0 ldi r27,0 148 0044 00C0 rjmp .L60 149 .L14: 150 0046 FB01 movw r30,r22 151 0048 8281 ldd r24,Z+2 152 004a 9381 ldd r25,Z+3 153 004c A481 ldd r26,Z+4 154 004e B581 ldd r27,Z+5 155 0050 892B or r24,r25 156 0052 8A2B or r24,r26 157 0054 8B2B or r24,r27 158 0056 01F4 brne .L15 159 0058 8091 0000 lds r24,snmp_reqid 160 005c 9091 0000 lds r25,snmp_reqid+1 161 0060 A091 0000 lds r26,snmp_reqid+2 162 0064 B091 0000 lds r27,snmp_reqid+3 163 0068 0196 adiw r24,1 164 006a A11D adc r26,__zero_reg__ 165 006c B11D adc r27,__zero_reg__ 166 006e 8093 0000 sts snmp_reqid,r24 167 0072 9093 0000 sts snmp_reqid+1,r25 168 0076 A093 0000 sts snmp_reqid+2,r26 169 007a B093 0000 sts snmp_reqid+3,r27 170 .L60: 171 007e 8283 std Z+2,r24 GAS LISTING /tmp/ccLDSf6l.s page 4 172 0080 9383 std Z+3,r25 173 0082 A483 std Z+4,r26 174 0084 B583 std Z+5,r27 175 .L15: 176 0086 84EF ldi r24,lo8(-12) 177 0088 91E0 ldi r25,lo8(1) 178 008a 0E94 0000 call malloc 179 008e 4C01 movw r8,r24 180 0090 892B or r24,r25 181 0092 01F4 brne .+2 182 0094 00C0 rjmp .L25 183 0096 84EF ldi r24,lo8(-12) 184 0098 91E0 ldi r25,lo8(1) 185 009a 9E83 std Y+6,r25 186 009c 8D83 std Y+5,r24 187 009e F501 movw r30,r10 188 00a0 268C ldd r2,Z+30 189 00a2 378C ldd r3,Z+31 190 00a4 C401 movw r24,r8 191 .L17: 192 00a6 2114 cp r2,__zero_reg__ 193 00a8 3104 cpc r3,__zero_reg__ 194 00aa 01F0 breq .L63 195 00ac F101 movw r30,r2 196 00ae C584 ldd r12,Z+13 197 00b0 D684 ldd r13,Z+14 198 00b2 E384 ldd r14,Z+11 199 00b4 F484 ldd r15,Z+12 200 00b6 2481 ldd r18,Z+4 201 00b8 3581 ldd r19,Z+5 202 00ba 4281 ldd r20,Z+2 203 00bc 5381 ldd r21,Z+3 204 00be 0681 ldd r16,Z+6 205 00c0 BE01 movw r22,r28 206 00c2 6B5F subi r22,-5 207 00c4 7F4F sbci r23,-1 208 00c6 0E94 0000 call SnmpVarBuild 209 00ca 0097 sbiw r24,0 210 00cc 01F4 brne .L18 211 .L21: 212 00ce 84EF ldi r24,lo8(-12) 213 00d0 E82E mov r14,r24 214 00d2 FF24 clr r15 215 00d4 F394 inc r15 216 00d6 8FEF ldi r24,lo8(-1) 217 00d8 9FEF ldi r25,lo8(-1) 218 00da 00C0 rjmp .L19 219 .L18: 220 00dc F101 movw r30,r2 221 00de 2080 ld r2,Z 222 00e0 3180 ldd r3,Z+1 223 00e2 00C0 rjmp .L17 224 .L63: 225 00e4 2C01 movw r4,r24 226 00e6 4818 sub r4,r8 227 00e8 5908 sbc r5,r9 228 00ea 04EF ldi r16,lo8(-12) GAS LISTING /tmp/ccLDSf6l.s page 5 229 00ec 11E0 ldi r17,lo8(1) 230 00ee 1E83 std Y+6,r17 231 00f0 0D83 std Y+5,r16 232 00f2 9201 movw r18,r4 233 00f4 40E3 ldi r20,lo8(48) 234 00f6 BE01 movw r22,r28 235 00f8 6B5F subi r22,-5 236 00fa 7F4F sbci r23,-1 237 00fc 80E0 ldi r24,lo8(temp_buffer) 238 00fe 90E0 ldi r25,hi8(temp_buffer) 239 0100 0E94 0000 call AsnHeaderBuild 240 0104 6C01 movw r12,r24 241 0106 0097 sbiw r24,0 242 0108 01F0 breq .L21 243 010a A201 movw r20,r4 244 010c B401 movw r22,r8 245 010e 0E94 0000 call memcpy 246 0112 C601 movw r24,r12 247 0114 8050 subi r24,lo8(temp_buffer) 248 0116 9040 sbci r25,hi8(temp_buffer) 249 0118 6C01 movw r12,r24 250 011a C40C add r12,r4 251 011c D51C adc r13,r5 252 011e 1E83 std Y+6,r17 253 0120 0D83 std Y+5,r16 254 0122 F501 movw r30,r10 255 0124 8081 ld r24,Z 256 0126 9181 ldd r25,Z+1 257 0128 843A cpi r24,-92 258 012a 9105 cpc r25,__zero_reg__ 259 012c 01F0 breq .+2 260 012e 00C0 rjmp .L22 261 0130 0089 ldd r16,Z+16 262 0132 1189 ldd r17,Z+17 263 0134 2685 ldd r18,Z+14 264 0136 3785 ldd r19,Z+15 265 0138 46E0 ldi r20,lo8(6) 266 013a BE01 movw r22,r28 267 013c 6B5F subi r22,-5 268 013e 7F4F sbci r23,-1 269 0140 C401 movw r24,r8 270 0142 0E94 0000 call AsnOidBuild 271 0146 0097 sbiw r24,0 272 0148 01F0 breq .L21 273 014a 04E0 ldi r16,lo8(4) 274 014c 10E0 ldi r17,0 275 014e 20E0 ldi r18,lo8(confnet+16) 276 0150 30E0 ldi r19,hi8(confnet+16) 277 0152 40E4 ldi r20,lo8(64) 278 0154 BE01 movw r22,r28 279 0156 6B5F subi r22,-5 280 0158 7F4F sbci r23,-1 281 015a 0E94 0000 call AsnOctetStringBuild 282 015e 0097 sbiw r24,0 283 0160 01F4 brne .+2 284 0162 00C0 rjmp .L21 285 0164 F501 movw r30,r10 GAS LISTING /tmp/ccLDSf6l.s page 6 286 0166 4689 ldd r20,Z+22 287 0168 5789 ldd r21,Z+23 288 016a 052E mov __tmp_reg__,r21 289 016c 000C lsl r0 290 016e 660B sbc r22,r22 291 0170 770B sbc r23,r23 292 0172 4983 std Y+1,r20 293 0174 5A83 std Y+2,r21 294 0176 6B83 std Y+3,r22 295 0178 7C83 std Y+4,r23 296 017a 9E01 movw r18,r28 297 017c 2F5F subi r18,-1 298 017e 3F4F sbci r19,-1 299 0180 42E0 ldi r20,lo8(2) 300 0182 BE01 movw r22,r28 301 0184 6B5F subi r22,-5 302 0186 7F4F sbci r23,-1 303 0188 0E94 0000 call AsnIntegerBuild 304 018c 0097 sbiw r24,0 305 018e 01F4 brne .+2 306 0190 00C0 rjmp .L21 307 0192 F501 movw r30,r10 308 0194 408D ldd r20,Z+24 309 0196 518D ldd r21,Z+25 310 0198 052E mov __tmp_reg__,r21 311 019a 000C lsl r0 312 019c 660B sbc r22,r22 313 019e 770B sbc r23,r23 314 01a0 4983 std Y+1,r20 315 01a2 5A83 std Y+2,r21 316 01a4 6B83 std Y+3,r22 317 01a6 7C83 std Y+4,r23 318 01a8 9E01 movw r18,r28 319 01aa 2F5F subi r18,-1 320 01ac 3F4F sbci r19,-1 321 01ae 42E0 ldi r20,lo8(2) 322 01b0 BE01 movw r22,r28 323 01b2 6B5F subi r22,-5 324 01b4 7F4F sbci r23,-1 325 01b6 0E94 0000 call AsnIntegerBuild 326 01ba 0097 sbiw r24,0 327 01bc 01F4 brne .+2 328 01be 00C0 rjmp .L21 329 01c0 9501 movw r18,r10 330 01c2 265E subi r18,-26 331 01c4 3F4F sbci r19,-1 332 01c6 43E4 ldi r20,lo8(67) 333 01c8 00C0 rjmp .L62 334 .L22: 335 01ca 9501 movw r18,r10 336 01cc 2E5F subi r18,-2 337 01ce 3F4F sbci r19,-1 338 01d0 42E0 ldi r20,lo8(2) 339 01d2 BE01 movw r22,r28 340 01d4 6B5F subi r22,-5 341 01d6 7F4F sbci r23,-1 342 01d8 C401 movw r24,r8 GAS LISTING /tmp/ccLDSf6l.s page 7 343 01da 0E94 0000 call AsnIntegerBuild 344 01de 0097 sbiw r24,0 345 01e0 01F4 brne .+2 346 01e2 00C0 rjmp .L21 347 01e4 9501 movw r18,r10 348 01e6 2A5F subi r18,-6 349 01e8 3F4F sbci r19,-1 350 01ea 42E0 ldi r20,lo8(2) 351 01ec BE01 movw r22,r28 352 01ee 6B5F subi r22,-5 353 01f0 7F4F sbci r23,-1 354 01f2 0E94 0000 call AsnIntegerBuild 355 01f6 0097 sbiw r24,0 356 01f8 01F4 brne .+2 357 01fa 00C0 rjmp .L21 358 01fc 9501 movw r18,r10 359 01fe 265F subi r18,-10 360 0200 3F4F sbci r19,-1 361 0202 42E0 ldi r20,lo8(2) 362 .L62: 363 0204 BE01 movw r22,r28 364 0206 6B5F subi r22,-5 365 0208 7F4F sbci r23,-1 366 020a 0E94 0000 call AsnIntegerBuild 367 020e 7C01 movw r14,r24 368 0210 892B or r24,r25 369 0212 01F4 brne .+2 370 0214 00C0 rjmp .L21 371 0216 8D81 ldd r24,Y+5 372 0218 9E81 ldd r25,Y+6 373 021a 8C15 cp r24,r12 374 021c 9D05 cpc r25,r13 375 021e 00F4 brsh .+2 376 0220 00C0 rjmp .L21 377 0222 A601 movw r20,r12 378 0224 60E0 ldi r22,lo8(temp_buffer) 379 0226 70E0 ldi r23,hi8(temp_buffer) 380 0228 C701 movw r24,r14 381 022a 0E94 0000 call memcpy 382 022e E818 sub r14,r8 383 0230 F908 sbc r15,r9 384 0232 CE0C add r12,r14 385 0234 DF1C adc r13,r15 386 0236 04EF ldi r16,lo8(-12) 387 0238 11E0 ldi r17,lo8(1) 388 023a 1E83 std Y+6,r17 389 023c 0D83 std Y+5,r16 390 023e 9601 movw r18,r12 391 0240 F501 movw r30,r10 392 0242 4081 ld r20,Z 393 0244 BE01 movw r22,r28 394 0246 6B5F subi r22,-5 395 0248 7F4F sbci r23,-1 396 024a 80E0 ldi r24,lo8(temp_buffer) 397 024c 90E0 ldi r25,hi8(temp_buffer) 398 024e 0E94 0000 call AsnHeaderBuild 399 0252 7C01 movw r14,r24 GAS LISTING /tmp/ccLDSf6l.s page 8 400 0254 892B or r24,r25 401 0256 01F4 brne .+2 402 0258 00C0 rjmp .L21 403 025a 8D81 ldd r24,Y+5 404 025c 9E81 ldd r25,Y+6 405 025e 8C15 cp r24,r12 406 0260 9D05 cpc r25,r13 407 0262 00F4 brsh .+2 408 0264 00C0 rjmp .L21 409 0266 A601 movw r20,r12 410 0268 B401 movw r22,r8 411 026a C701 movw r24,r14 412 026c 0E94 0000 call memcpy 413 0270 C701 movw r24,r14 414 0272 8050 subi r24,lo8(temp_buffer) 415 0274 9040 sbci r25,hi8(temp_buffer) 416 0276 C80E add r12,r24 417 0278 D91E adc r13,r25 418 027a 1E83 std Y+6,r17 419 027c 0D83 std Y+5,r16 420 027e 9601 movw r18,r12 421 0280 AE01 movw r20,r28 422 0282 4B5F subi r20,-5 423 0284 5F4F sbci r21,-1 424 0286 B401 movw r22,r8 425 0288 C301 movw r24,r6 426 028a 0E94 0000 call SnmpAuthBuild 427 028e 0097 sbiw r24,0 428 0290 01F4 brne .+2 429 0292 00C0 rjmp .L21 430 0294 7C01 movw r14,r24 431 0296 E818 sub r14,r8 432 0298 F908 sbc r15,r9 433 029a 0E19 sub r16,r14 434 029c 1F09 sbc r17,r15 435 029e 0C15 cp r16,r12 436 02a0 1D05 cpc r17,r13 437 02a2 00F4 brsh .+2 438 02a4 00C0 rjmp .L21 439 02a6 A601 movw r20,r12 440 02a8 60E0 ldi r22,lo8(temp_buffer) 441 02aa 70E0 ldi r23,hi8(temp_buffer) 442 02ac 0E94 0000 call memcpy 443 02b0 EC0C add r14,r12 444 02b2 FD1C adc r15,r13 445 02b4 80E0 ldi r24,0 446 02b6 90E0 ldi r25,0 447 .L19: 448 02b8 892B or r24,r25 449 02ba 01F4 brne .L26 450 02bc F301 movw r30,r6 451 02be 21A9 ldd r18,Z+49 452 02c0 32A9 ldd r19,Z+50 453 02c2 45A5 ldd r20,Z+45 454 02c4 56A5 ldd r21,Z+46 455 02c6 67A5 ldd r22,Z+47 456 02c8 70A9 ldd r23,Z+48 GAS LISTING /tmp/ccLDSf6l.s page 9 457 02ca 8401 movw r16,r8 458 02cc 83A5 ldd r24,Z+43 459 02ce 94A5 ldd r25,Z+44 460 02d0 0E94 0000 call NutUdpSendTo 461 02d4 8C01 movw r16,r24 462 02d6 00C0 rjmp .L24 463 .L26: 464 02d8 0FEF ldi r16,lo8(-1) 465 02da 1FEF ldi r17,lo8(-1) 466 .L24: 467 02dc C401 movw r24,r8 468 02de 0E94 0000 call free 469 02e2 00C0 rjmp .L16 470 .L25: 471 02e4 0FEF ldi r16,lo8(-1) 472 02e6 1FEF ldi r17,lo8(-1) 473 .L16: 474 02e8 C801 movw r24,r16 475 /* epilogue start */ 476 02ea 2696 adiw r28,6 477 02ec 0FB6 in __tmp_reg__,__SREG__ 478 02ee F894 cli 479 02f0 DEBF out __SP_H__,r29 480 02f2 0FBE out __SREG__,__tmp_reg__ 481 02f4 CDBF out __SP_L__,r28 482 02f6 DF91 pop r29 483 02f8 CF91 pop r28 484 02fa 1F91 pop r17 485 02fc 0F91 pop r16 486 02fe FF90 pop r15 487 0300 EF90 pop r14 488 0302 DF90 pop r13 489 0304 CF90 pop r12 490 0306 BF90 pop r11 491 0308 AF90 pop r10 492 030a 9F90 pop r9 493 030c 8F90 pop r8 494 030e 7F90 pop r7 495 0310 6F90 pop r6 496 0312 5F90 pop r5 497 0314 4F90 pop r4 498 0316 3F90 pop r3 499 0318 2F90 pop r2 500 031a 0895 ret 501 .size SnmpSessionSendPdu, .-SnmpSessionSendPdu 502 .local temp_buffer 503 .comm temp_buffer,500,1 504 .local snmp_reqid 505 .comm snmp_reqid,4,1 506 .ident "GCC: (GNU) 5.3.0" 507 .global __do_clear_bss GAS LISTING /tmp/ccLDSf6l.s page 10 DEFINED SYMBOLS *ABS*:0000000000000000 snmp_session.c /tmp/ccLDSf6l.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccLDSf6l.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccLDSf6l.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccLDSf6l.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccLDSf6l.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccLDSf6l.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccLDSf6l.s:11 .text.SnmpSessionOpen:0000000000000000 SnmpSessionOpen /tmp/ccLDSf6l.s:86 .text.SnmpSessionClose:0000000000000000 SnmpSessionClose /tmp/ccLDSf6l.s:109 .text.SnmpSessionSendPdu:0000000000000000 SnmpSessionSendPdu /tmp/ccLDSf6l.s:503 .bss:00000000000001f4 snmp_reqid .bss:0000000000000000 temp_buffer UNDEFINED SYMBOLS calloc NutUdpCreateSocket free memcpy NutUdpDestroySocket malloc SnmpVarBuild AsnHeaderBuild AsnOidBuild confnet AsnOctetStringBuild AsnIntegerBuild SnmpAuthBuild NutUdpSendTo __do_clear_bss