GAS LISTING /tmp/cc7VeJlK.s page 1 1 .file "vsprintf_p.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._sputb_P,"ax",@progbits 9 .global _sputb_P 10 .type _sputb_P, @function 11 _sputb_P: 12 0000 0F93 push r16 13 0002 1F93 push r17 14 0004 CF93 push r28 15 0006 DF93 push r29 16 /* prologue: function */ 17 /* frame size = 0 */ 18 /* stack size = 4 */ 19 .L__stack_usage = 4 20 0008 8C01 movw r16,r24 21 000a EA01 movw r28,r20 22 000c FC01 movw r30,r24 23 000e 8081 ld r24,Z 24 0010 9181 ldd r25,Z+1 25 0012 0E94 0000 call memcpy_P 26 0016 F801 movw r30,r16 27 0018 8081 ld r24,Z 28 001a 9181 ldd r25,Z+1 29 001c 8C0F add r24,r28 30 001e 9D1F adc r25,r29 31 0020 9183 std Z+1,r25 32 0022 8083 st Z,r24 33 0024 CE01 movw r24,r28 34 /* epilogue start */ 35 0026 DF91 pop r29 36 0028 CF91 pop r28 37 002a 1F91 pop r17 38 002c 0F91 pop r16 39 002e 0895 ret 40 .size _sputb_P, .-_sputb_P 41 .section .text._sputb,"ax",@progbits 42 .type _sputb, @function 43 _sputb: 44 0000 0F93 push r16 45 0002 1F93 push r17 46 0004 CF93 push r28 47 0006 DF93 push r29 48 /* prologue: function */ 49 /* frame size = 0 */ 50 /* stack size = 4 */ 51 .L__stack_usage = 4 52 0008 8C01 movw r16,r24 53 000a EA01 movw r28,r20 54 000c FC01 movw r30,r24 55 000e 8081 ld r24,Z 56 0010 9181 ldd r25,Z+1 57 0012 0E94 0000 call memcpy GAS LISTING /tmp/cc7VeJlK.s page 2 58 0016 F801 movw r30,r16 59 0018 8081 ld r24,Z 60 001a 9181 ldd r25,Z+1 61 001c 8C0F add r24,r28 62 001e 9D1F adc r25,r29 63 0020 9183 std Z+1,r25 64 0022 8083 st Z,r24 65 0024 CE01 movw r24,r28 66 /* epilogue start */ 67 0026 DF91 pop r29 68 0028 CF91 pop r28 69 002a 1F91 pop r17 70 002c 0F91 pop r16 71 002e 0895 ret 72 .size _sputb, .-_sputb 73 .section .text.vsprintf_P,"ax",@progbits 74 .global vsprintf_P 75 .type vsprintf_P, @function 76 vsprintf_P: 77 0000 AF92 push r10 78 0002 BF92 push r11 79 0004 CF92 push r12 80 0006 DF92 push r13 81 0008 EF92 push r14 82 000a FF92 push r15 83 000c 0F93 push r16 84 000e 1F93 push r17 85 0010 CF93 push r28 86 0012 DF93 push r29 87 0014 1F92 push __zero_reg__ 88 0016 1F92 push __zero_reg__ 89 0018 CDB7 in r28,__SP_L__ 90 001a DEB7 in r29,__SP_H__ 91 /* prologue: function */ 92 /* frame size = 2 */ 93 /* stack size = 12 */ 94 .L__stack_usage = 12 95 001c 9A83 std Y+2,r25 96 001e 8983 std Y+1,r24 97 0020 6B01 movw r12,r22 98 0022 8A01 movw r16,r20 99 0024 CB01 movw r24,r22 100 0026 0E94 0000 call __strlen_P 101 002a 0196 adiw r24,1 102 002c 5C01 movw r10,r24 103 002e BC01 movw r22,r24 104 0030 80E0 ldi r24,lo8(heapFreeList) 105 0032 90E0 ldi r25,hi8(heapFreeList) 106 0034 0E94 0000 call NutHeapRootAlloc 107 0038 7C01 movw r14,r24 108 003a 0097 sbiw r24,0 109 003c 01F0 breq .L5 110 003e A501 movw r20,r10 111 0040 B601 movw r22,r12 112 0042 0E94 0000 call memcpy_P 113 0046 9701 movw r18,r14 114 0048 AE01 movw r20,r28 GAS LISTING /tmp/cc7VeJlK.s page 3 115 004a 4F5F subi r20,-1 116 004c 5F4F sbci r21,-1 117 004e 60E0 ldi r22,lo8(gs(_sputb_P)) 118 0050 70E0 ldi r23,hi8(gs(_sputb_P)) 119 0052 80E0 ldi r24,lo8(gs(_sputb)) 120 0054 90E0 ldi r25,hi8(gs(_sputb)) 121 0056 0E94 0000 call _putf 122 005a 8C01 movw r16,r24 123 005c B701 movw r22,r14 124 005e 80E0 ldi r24,lo8(heapFreeList) 125 0060 90E0 ldi r25,hi8(heapFreeList) 126 0062 0E94 0000 call NutHeapRootFree 127 0066 E981 ldd r30,Y+1 128 0068 FA81 ldd r31,Y+2 129 006a 1082 st Z,__zero_reg__ 130 006c C801 movw r24,r16 131 006e 00C0 rjmp .L4 132 .L5: 133 0070 8FEF ldi r24,lo8(-1) 134 0072 9FEF ldi r25,lo8(-1) 135 .L4: 136 /* epilogue start */ 137 0074 0F90 pop __tmp_reg__ 138 0076 0F90 pop __tmp_reg__ 139 0078 DF91 pop r29 140 007a CF91 pop r28 141 007c 1F91 pop r17 142 007e 0F91 pop r16 143 0080 FF90 pop r15 144 0082 EF90 pop r14 145 0084 DF90 pop r13 146 0086 CF90 pop r12 147 0088 BF90 pop r11 148 008a AF90 pop r10 149 008c 0895 ret 150 .size vsprintf_P, .-vsprintf_P 151 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/cc7VeJlK.s page 4 DEFINED SYMBOLS *ABS*:0000000000000000 vsprintf_p.c /tmp/cc7VeJlK.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cc7VeJlK.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cc7VeJlK.s:4 *ABS*:000000000000003f __SREG__ /tmp/cc7VeJlK.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cc7VeJlK.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cc7VeJlK.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cc7VeJlK.s:11 .text._sputb_P:0000000000000000 _sputb_P /tmp/cc7VeJlK.s:43 .text._sputb:0000000000000000 _sputb /tmp/cc7VeJlK.s:76 .text.vsprintf_P:0000000000000000 vsprintf_P UNDEFINED SYMBOLS memcpy_P memcpy __strlen_P heapFreeList NutHeapRootAlloc _putf NutHeapRootFree