GAS LISTING /tmp/ccWQ6CQw.s page 1 1 .file "ppp.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.NutPppClose,"ax",@progbits 9 .type NutPppClose, @function 10 NutPppClose: 11 0000 0F93 push r16 12 0002 1F93 push r17 13 0004 CF93 push r28 14 0006 DF93 push r29 15 /* prologue: function */ 16 /* frame size = 0 */ 17 /* stack size = 4 */ 18 .L__stack_usage = 4 19 0008 8C01 movw r16,r24 20 000a FC01 movw r30,r24 21 000c 8081 ld r24,Z 22 000e 9181 ldd r25,Z+1 23 0010 FC01 movw r30,r24 24 0012 C189 ldd r28,Z+17 25 0014 D289 ldd r29,Z+18 26 0016 0E94 0000 call IpcpClose 27 001a FE01 movw r30,r28 28 001c FF96 adiw r30,63 29 001e 8081 ld r24,Z 30 0020 9181 ldd r25,Z+1 31 0022 0E94 0000 call _close 32 0026 6D8D ldd r22,Y+29 33 0028 7E8D ldd r23,Y+30 34 002a 6115 cp r22,__zero_reg__ 35 002c 7105 cpc r23,__zero_reg__ 36 002e 01F0 breq .L2 37 0030 80E0 ldi r24,lo8(heapFreeList) 38 0032 90E0 ldi r25,hi8(heapFreeList) 39 0034 0E94 0000 call NutHeapRootFree 40 .L2: 41 0038 6F8D ldd r22,Y+31 42 003a 78A1 ldd r23,Y+32 43 003c 6115 cp r22,__zero_reg__ 44 003e 7105 cpc r23,__zero_reg__ 45 0040 01F0 breq .L3 46 0042 80E0 ldi r24,lo8(heapFreeList) 47 0044 90E0 ldi r25,hi8(heapFreeList) 48 0046 0E94 0000 call NutHeapRootFree 49 .L3: 50 004a B801 movw r22,r16 51 004c 80E0 ldi r24,lo8(heapFreeList) 52 004e 90E0 ldi r25,hi8(heapFreeList) 53 0050 0E94 0000 call NutHeapRootFree 54 0054 80E0 ldi r24,0 55 0056 90E0 ldi r25,0 56 /* epilogue start */ 57 0058 DF91 pop r29 GAS LISTING /tmp/ccWQ6CQw.s page 2 58 005a CF91 pop r28 59 005c 1F91 pop r17 60 005e 0F91 pop r16 61 0060 0895 ret 62 .size NutPppClose, .-NutPppClose 63 .section .text.NutPppOpen,"ax",@progbits 64 .type NutPppOpen, @function 65 NutPppOpen: 66 0000 AF92 push r10 67 0002 BF92 push r11 68 0004 CF92 push r12 69 0006 DF92 push r13 70 0008 EF92 push r14 71 000a FF92 push r15 72 000c 0F93 push r16 73 000e 1F93 push r17 74 0010 CF93 push r28 75 0012 DF93 push r29 76 0014 CDB7 in r28,__SP_L__ 77 0016 DEB7 in r29,__SP_H__ 78 0018 2997 sbiw r28,9 79 001a 0FB6 in __tmp_reg__,__SREG__ 80 001c F894 cli 81 001e DEBF out __SP_H__,r29 82 0020 0FBE out __SREG__,__tmp_reg__ 83 0022 CDBF out __SP_L__,r28 84 /* prologue: function */ 85 /* frame size = 9 */ 86 /* stack size = 19 */ 87 .L__stack_usage = 19 88 0024 6C01 movw r12,r24 89 0026 DC01 movw r26,r24 90 0028 5196 adiw r26,17 91 002a 0D91 ld r16,X+ 92 002c 1C91 ld r17,X 93 002e 5297 sbiw r26,17+1 94 0030 81E4 ldi r24,lo8(65) 95 0032 F801 movw r30,r16 96 0: 97 0034 1192 st Z+,__zero_reg__ 98 0036 8A95 dec r24 99 0038 01F4 brne 0b 100 003a FB01 movw r30,r22 101 003c DE01 movw r26,r28 102 003e 1196 adiw r26,1 103 0040 90E0 ldi r25,0 104 0042 AD01 movw r20,r26 105 .L12: 106 0044 5F01 movw r10,r30 107 0046 2191 ld r18,Z+ 108 0048 2223 tst r18 109 004a 01F0 breq .L13 110 004c 2F32 cpi r18,lo8(47) 111 004e 01F0 breq .L13 112 0050 9830 cpi r25,lo8(8) 113 0052 01F0 breq .L13 114 0054 2D93 st X+,r18 GAS LISTING /tmp/ccWQ6CQw.s page 3 115 0056 9F5F subi r25,lo8(-(1)) 116 0058 00C0 rjmp .L12 117 .L13: 118 005a FA01 movw r30,r20 119 005c E90F add r30,r25 120 005e F11D adc r31,__zero_reg__ 121 0060 1082 st Z,__zero_reg__ 122 0062 62E0 ldi r22,lo8(2) 123 0064 70E8 ldi r23,lo8(-128) 124 0066 CA01 movw r24,r20 125 0068 0E94 0000 call _open 126 006c F801 movw r30,r16 127 006e FF96 adiw r30,63 128 0070 9183 std Z+1,r25 129 0072 8083 st Z,r24 130 0074 0196 adiw r24,1 131 0076 01F4 brne .L15 132 .L17: 133 0078 8FEF ldi r24,lo8(-1) 134 007a 9FEF ldi r25,lo8(-1) 135 007c 00C0 rjmp .L16 136 .L15: 137 007e 64E0 ldi r22,lo8(4) 138 0080 70E0 ldi r23,0 139 0082 80E0 ldi r24,lo8(heapFreeList) 140 0084 90E0 ldi r25,hi8(heapFreeList) 141 0086 0E94 0000 call NutHeapRootAlloc 142 008a 7C01 movw r14,r24 143 008c 0097 sbiw r24,0 144 008e 01F0 breq .L17 145 0090 DC01 movw r26,r24 146 0092 1196 adiw r26,1 147 0094 DC92 st X,r13 148 0096 CE92 st -X,r12 149 0098 1396 adiw r26,2+1 150 009a 1C92 st X,__zero_reg__ 151 009c 1E92 st -X,__zero_reg__ 152 009e 1297 sbiw r26,2 153 00a0 F501 movw r30,r10 154 00a2 8081 ld r24,Z 155 00a4 8F32 cpi r24,lo8(47) 156 00a6 01F0 breq .+2 157 00a8 00C0 rjmp .L19 158 00aa 3196 adiw r30,1 159 00ac 5F01 movw r10,r30 160 00ae DF01 movw r26,r30 161 00b0 60E0 ldi r22,0 162 .L20: 163 00b2 8D91 ld r24,X+ 164 00b4 8111 cpse r24,__zero_reg__ 165 00b6 00C0 rjmp .L21 166 .L25: 167 00b8 6623 tst r22 168 00ba 01F0 breq .L23 169 00bc 70E0 ldi r23,0 170 00be 6F5F subi r22,-1 171 00c0 7F4F sbci r23,-1 GAS LISTING /tmp/ccWQ6CQw.s page 4 172 00c2 80E0 ldi r24,lo8(heapFreeList) 173 00c4 90E0 ldi r25,hi8(heapFreeList) 174 00c6 0E94 0000 call NutHeapRootAlloc 175 00ca D801 movw r26,r16 176 00cc 5D96 adiw r26,29 177 00ce 8C93 st X,r24 178 00d0 5D97 sbiw r26,29 179 00d2 5E96 adiw r26,30 180 00d4 9C93 st X,r25 181 00d6 9C01 movw r18,r24 182 00d8 00C0 rjmp .L26 183 .L21: 184 00da 8F32 cpi r24,lo8(47) 185 00dc 01F0 breq .L25 186 00de 6F5F subi r22,lo8(-(1)) 187 00e0 00C0 rjmp .L20 188 .L27: 189 00e2 8F32 cpi r24,lo8(47) 190 00e4 01F0 breq .L29 191 00e6 F901 movw r30,r18 192 00e8 8193 st Z+,r24 193 00ea 9F01 movw r18,r30 194 .L26: 195 00ec F501 movw r30,r10 196 00ee D501 movw r26,r10 197 00f0 8D91 ld r24,X+ 198 00f2 5D01 movw r10,r26 199 00f4 8111 cpse r24,__zero_reg__ 200 00f6 00C0 rjmp .L27 201 .L29: 202 00f8 D901 movw r26,r18 203 00fa 1C92 st X,__zero_reg__ 204 .L23: 205 00fc 8081 ld r24,Z 206 00fe 8F32 cpi r24,lo8(47) 207 0100 01F4 brne .L19 208 0102 5F01 movw r10,r30 209 0104 BFEF ldi r27,-1 210 0106 AB1A sub r10,r27 211 0108 BB0A sbc r11,r27 212 010a F501 movw r30,r10 213 010c 60E0 ldi r22,0 214 .L31: 215 010e 8191 ld r24,Z+ 216 0110 8111 cpse r24,__zero_reg__ 217 0112 00C0 rjmp .L32 218 .L35: 219 0114 6623 tst r22 220 0116 01F0 breq .L19 221 0118 70E0 ldi r23,0 222 011a 6F5F subi r22,-1 223 011c 7F4F sbci r23,-1 224 011e 80E0 ldi r24,lo8(heapFreeList) 225 0120 90E0 ldi r25,hi8(heapFreeList) 226 0122 0E94 0000 call NutHeapRootAlloc 227 0126 F801 movw r30,r16 228 0128 878F std Z+31,r24 GAS LISTING /tmp/ccWQ6CQw.s page 5 229 012a 90A3 std Z+32,r25 230 012c FC01 movw r30,r24 231 012e 00C0 rjmp .L36 232 .L32: 233 0130 8F32 cpi r24,lo8(47) 234 0132 01F0 breq .L35 235 0134 6F5F subi r22,lo8(-(1)) 236 0136 00C0 rjmp .L31 237 .L37: 238 0138 8F32 cpi r24,lo8(47) 239 013a 01F0 breq .L39 240 013c 8193 st Z+,r24 241 .L36: 242 013e D501 movw r26,r10 243 0140 8D91 ld r24,X+ 244 0142 5D01 movw r10,r26 245 0144 8111 cpse r24,__zero_reg__ 246 0146 00C0 rjmp .L37 247 .L39: 248 0148 1082 st Z,__zero_reg__ 249 .L19: 250 014a C601 movw r24,r12 251 014c 0E94 0000 call IpcpOpen 252 0150 C701 movw r24,r14 253 .L16: 254 /* epilogue start */ 255 0152 2996 adiw r28,9 256 0154 0FB6 in __tmp_reg__,__SREG__ 257 0156 F894 cli 258 0158 DEBF out __SP_H__,r29 259 015a 0FBE out __SREG__,__tmp_reg__ 260 015c CDBF out __SP_L__,r28 261 015e DF91 pop r29 262 0160 CF91 pop r28 263 0162 1F91 pop r17 264 0164 0F91 pop r16 265 0166 FF90 pop r15 266 0168 EF90 pop r14 267 016a DF90 pop r13 268 016c CF90 pop r12 269 016e BF90 pop r11 270 0170 AF90 pop r10 271 0172 0895 ret 272 .size NutPppOpen, .-NutPppOpen 273 .section .text.NutPppWrite_P,"ax",@progbits 274 .type NutPppWrite_P, @function 275 NutPppWrite_P: 276 /* prologue: function */ 277 /* frame size = 0 */ 278 /* stack size = 0 */ 279 .L__stack_usage = 0 280 0000 DC01 movw r26,r24 281 0002 ED91 ld r30,X+ 282 0004 FC91 ld r31,X 283 0006 0188 ldd __tmp_reg__,Z+17 284 0008 F289 ldd r31,Z+18 285 000a E02D mov r30,__tmp_reg__ GAS LISTING /tmp/ccWQ6CQw.s page 6 286 000c FF96 adiw r30,63 287 000e 8081 ld r24,Z 288 0010 9181 ldd r25,Z+1 289 0012 0C94 0000 jmp _write_P 290 .size NutPppWrite_P, .-NutPppWrite_P 291 .section .text.NutPppWrite,"ax",@progbits 292 .type NutPppWrite, @function 293 NutPppWrite: 294 /* prologue: function */ 295 /* frame size = 0 */ 296 /* stack size = 0 */ 297 .L__stack_usage = 0 298 0000 DC01 movw r26,r24 299 0002 ED91 ld r30,X+ 300 0004 FC91 ld r31,X 301 0006 0188 ldd __tmp_reg__,Z+17 302 0008 F289 ldd r31,Z+18 303 000a E02D mov r30,__tmp_reg__ 304 000c FF96 adiw r30,63 305 000e 8081 ld r24,Z 306 0010 9181 ldd r25,Z+1 307 0012 0C94 0000 jmp _write 308 .size NutPppWrite, .-NutPppWrite 309 .section .text.NutPppRead,"ax",@progbits 310 .type NutPppRead, @function 311 NutPppRead: 312 /* prologue: function */ 313 /* frame size = 0 */ 314 /* stack size = 0 */ 315 .L__stack_usage = 0 316 0000 DC01 movw r26,r24 317 0002 ED91 ld r30,X+ 318 0004 FC91 ld r31,X 319 0006 0188 ldd __tmp_reg__,Z+17 320 0008 F289 ldd r31,Z+18 321 000a E02D mov r30,__tmp_reg__ 322 000c FF96 adiw r30,63 323 000e 8081 ld r24,Z 324 0010 9181 ldd r25,Z+1 325 0012 0C94 0000 jmp _read 326 .size NutPppRead, .-NutPppRead 327 .section .text.NutPppInit,"ax",@progbits 328 .type NutPppInit, @function 329 NutPppInit: 330 /* prologue: function */ 331 /* frame size = 0 */ 332 /* stack size = 0 */ 333 .L__stack_usage = 0 334 0000 0C94 0000 jmp NutPppInitStateMachine 335 .size NutPppInit, .-NutPppInit 336 .section .text.NutPppIOCtl,"ax",@progbits 337 .type NutPppIOCtl, @function 338 NutPppIOCtl: 339 /* prologue: function */ 340 /* frame size = 0 */ 341 /* stack size = 0 */ 342 .L__stack_usage = 0 GAS LISTING /tmp/ccWQ6CQw.s page 7 343 0000 6230 cpi r22,2 344 0002 7105 cpc r23,__zero_reg__ 345 0004 01F0 breq .L55 346 0006 04F4 brge .L56 347 0008 6130 cpi r22,1 348 000a 7105 cpc r23,__zero_reg__ 349 000c 01F4 brne .L54 350 000e 0E94 0000 call LcpOpen 351 0012 00C0 rjmp .L60 352 .L56: 353 0014 6330 cpi r22,3 354 0016 7105 cpc r23,__zero_reg__ 355 0018 01F0 breq .L58 356 001a 6430 cpi r22,4 357 001c 7105 cpc r23,__zero_reg__ 358 001e 01F4 brne .L54 359 0020 0E94 0000 call LcpLowerDown 360 0024 00C0 rjmp .L60 361 .L55: 362 0026 0E94 0000 call LcpClose 363 002a 00C0 rjmp .L60 364 .L58: 365 002c 0E94 0000 call LcpLowerUp 366 0030 00C0 rjmp .L60 367 .L54: 368 0032 DC01 movw r26,r24 369 0034 5196 adiw r26,17 370 0036 ED91 ld r30,X+ 371 0038 FC91 ld r31,X 372 003a 5297 sbiw r26,17+1 373 003c FF96 adiw r30,63 374 003e 8081 ld r24,Z 375 0040 9181 ldd r25,Z+1 376 0042 0C94 0000 jmp _ioctl 377 .L60: 378 0046 80E0 ldi r24,0 379 0048 90E0 ldi r25,0 380 004a 0895 ret 381 .size NutPppIOCtl, .-NutPppIOCtl 382 .global devPpp 383 .data 384 .type devPpp, @object 385 .size devPpp, 37 386 devPpp: 387 0000 0000 .word 0 388 0002 70 .byte 112 389 0003 70 .byte 112 390 0004 70 .byte 112 391 0005 00 .byte 0 392 0006 00 .byte 0 393 0007 00 .byte 0 394 0008 00 .byte 0 395 0009 00 .byte 0 396 000a 00 .byte 0 397 000b 03 .byte 3 398 000c 0000 .word 0 399 000e 00 .byte 0 GAS LISTING /tmp/ccWQ6CQw.s page 8 400 000f 0000 .word ifn_ppp 401 0011 0000 .word dcb_ppp 402 0013 0000 .word gs(NutPppInit) 403 0015 0000 .word gs(NutPppIOCtl) 404 0017 0000 .word gs(NutPppRead) 405 0019 0000 .word gs(NutPppWrite) 406 001b 0000 .word gs(NutPppWrite_P) 407 001d 0000 .word gs(NutPppOpen) 408 001f 0000 .word gs(NutPppClose) 409 0021 0000 .word 0 410 0023 0000 .word 0 411 .global ifn_ppp 412 .type ifn_ppp, @object 413 .size ifn_ppp, 39 414 ifn_ppp: 415 0025 17 .byte 23 416 0026 00 .byte 0 417 0027 00 .byte 0 418 0028 00 .byte 0 419 0029 00 .byte 0 420 002a 00 .byte 0 421 002b 00 .byte 0 422 002c 00 .byte 0 423 002d 00 .byte 0 424 002e 00 .byte 0 425 002f 00 .byte 0 426 0030 00 .byte 0 427 0031 00 .byte 0 428 0032 00 .byte 0 429 0033 00 .byte 0 430 0034 00 .byte 0 431 0035 00 .byte 0 432 0036 00 .byte 0 433 0037 00 .byte 0 434 0038 00 .byte 0 435 0039 00 .byte 0 436 003a 00 .byte 0 437 003b 00 .byte 0 438 003c DC05 .word 1500 439 003e 0000 .word 0 440 0040 0000 .word 0 441 0042 0000 .word 0 442 0044 0000 .word gs(NutPppInput) 443 0046 0000 .word 0 444 0048 0000 .word gs(NutPppOutput) 445 004a 0000 .word 0 446 .local dcb_ppp 447 .comm dcb_ppp,65,1 448 .ident "GCC: (GNU) 5.3.0" 449 .global __do_copy_data 450 .global __do_clear_bss GAS LISTING /tmp/ccWQ6CQw.s page 9 DEFINED SYMBOLS *ABS*:0000000000000000 ppp.c /tmp/ccWQ6CQw.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccWQ6CQw.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccWQ6CQw.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccWQ6CQw.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccWQ6CQw.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccWQ6CQw.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccWQ6CQw.s:10 .text.NutPppClose:0000000000000000 NutPppClose /tmp/ccWQ6CQw.s:65 .text.NutPppOpen:0000000000000000 NutPppOpen /tmp/ccWQ6CQw.s:275 .text.NutPppWrite_P:0000000000000000 NutPppWrite_P /tmp/ccWQ6CQw.s:293 .text.NutPppWrite:0000000000000000 NutPppWrite /tmp/ccWQ6CQw.s:311 .text.NutPppRead:0000000000000000 NutPppRead /tmp/ccWQ6CQw.s:329 .text.NutPppInit:0000000000000000 NutPppInit /tmp/ccWQ6CQw.s:338 .text.NutPppIOCtl:0000000000000000 NutPppIOCtl /tmp/ccWQ6CQw.s:386 .data:0000000000000000 devPpp /tmp/ccWQ6CQw.s:414 .data:0000000000000025 ifn_ppp .bss:0000000000000000 dcb_ppp UNDEFINED SYMBOLS IpcpClose _close heapFreeList NutHeapRootFree _open NutHeapRootAlloc IpcpOpen _write_P _write _read NutPppInitStateMachine LcpOpen LcpLowerDown LcpClose LcpLowerUp _ioctl NutPppInput NutPppOutput __do_copy_data __do_clear_bss