GAS LISTING /tmp/ccr1Sv4y.s page 1 1 .file "vsnprintf.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._snputb,"ax",@progbits 9 .type _snputb, @function 10 _snputb: 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 DC01 movw r26,r24 21 000c 1296 adiw r26,2 22 000e CD91 ld r28,X+ 23 0010 DC91 ld r29,X 24 0012 1397 sbiw r26,2+1 25 0014 2097 sbiw r28,0 26 0016 01F0 breq .L4 27 0018 4C17 cp r20,r28 28 001a 5D07 cpc r21,r29 29 001c 00F4 brsh .L3 30 001e EA01 movw r28,r20 31 .L3: 32 0020 D801 movw r26,r16 33 0022 ED91 ld r30,X+ 34 0024 FC91 ld r31,X 35 0026 AE01 movw r20,r28 36 0028 8081 ld r24,Z 37 002a 9181 ldd r25,Z+1 38 002c 0E94 0000 call memcpy 39 0030 D801 movw r26,r16 40 0032 ED91 ld r30,X+ 41 0034 FC91 ld r31,X 42 0036 1197 sbiw r26,1 43 0038 8081 ld r24,Z 44 003a 9181 ldd r25,Z+1 45 003c 8C0F add r24,r28 46 003e 9D1F adc r25,r29 47 0040 9183 std Z+1,r25 48 0042 8083 st Z,r24 49 0044 1296 adiw r26,2 50 0046 8D91 ld r24,X+ 51 0048 9C91 ld r25,X 52 004a 1397 sbiw r26,2+1 53 004c 8C1B sub r24,r28 54 004e 9D0B sbc r25,r29 55 0050 1396 adiw r26,2+1 56 0052 9C93 st X,r25 57 0054 8E93 st -X,r24 GAS LISTING /tmp/ccr1Sv4y.s page 2 58 0056 1297 sbiw r26,2 59 0058 00C0 rjmp .L2 60 .L4: 61 005a C0E0 ldi r28,0 62 005c D0E0 ldi r29,0 63 .L2: 64 005e CE01 movw r24,r28 65 /* epilogue start */ 66 0060 DF91 pop r29 67 0062 CF91 pop r28 68 0064 1F91 pop r17 69 0066 0F91 pop r16 70 0068 0895 ret 71 .size _snputb, .-_snputb 72 .section .text.vsnprintf,"ax",@progbits 73 .global vsnprintf 74 .type vsnprintf, @function 75 vsnprintf: 76 0000 EF92 push r14 77 0002 FF92 push r15 78 0004 0F93 push r16 79 0006 1F93 push r17 80 0008 CF93 push r28 81 000a DF93 push r29 82 000c 00D0 rcall . 83 000e 00D0 rcall . 84 0010 CDB7 in r28,__SP_L__ 85 0012 DEB7 in r29,__SP_H__ 86 /* prologue: function */ 87 /* frame size = 6 */ 88 /* stack size = 12 */ 89 .L__stack_usage = 12 90 0014 9E83 std Y+6,r25 91 0016 8D83 std Y+5,r24 92 0018 7B01 movw r14,r22 93 001a 6115 cp r22,__zero_reg__ 94 001c 7105 cpc r23,__zero_reg__ 95 001e 01F0 breq .L9 96 0020 CE01 movw r24,r28 97 0022 0596 adiw r24,5 98 0024 9A83 std Y+2,r25 99 0026 8983 std Y+1,r24 100 0028 CB01 movw r24,r22 101 002a 0197 sbiw r24,1 102 002c 9C83 std Y+4,r25 103 002e 8B83 std Y+3,r24 104 0030 8901 movw r16,r18 105 0032 9A01 movw r18,r20 106 0034 AE01 movw r20,r28 107 0036 4F5F subi r20,-1 108 0038 5F4F sbci r21,-1 109 003a 60E0 ldi r22,lo8(gs(_snputb_P)) 110 003c 70E0 ldi r23,hi8(gs(_snputb_P)) 111 003e 80E0 ldi r24,lo8(gs(_snputb)) 112 0040 90E0 ldi r25,hi8(gs(_snputb)) 113 0042 0E94 0000 call _putf 114 0046 E816 cp r14,r24 GAS LISTING /tmp/ccr1Sv4y.s page 3 115 0048 F906 cpc r15,r25 116 004a 00F4 brsh .L8 117 004c C701 movw r24,r14 118 .L8: 119 004e ED81 ldd r30,Y+5 120 0050 FE81 ldd r31,Y+6 121 0052 1082 st Z,__zero_reg__ 122 0054 00C0 rjmp .L7 123 .L9: 124 0056 80E0 ldi r24,0 125 0058 90E0 ldi r25,0 126 .L7: 127 /* epilogue start */ 128 005a 2696 adiw r28,6 129 005c 0FB6 in __tmp_reg__,__SREG__ 130 005e F894 cli 131 0060 DEBF out __SP_H__,r29 132 0062 0FBE out __SREG__,__tmp_reg__ 133 0064 CDBF out __SP_L__,r28 134 0066 DF91 pop r29 135 0068 CF91 pop r28 136 006a 1F91 pop r17 137 006c 0F91 pop r16 138 006e FF90 pop r15 139 0070 EF90 pop r14 140 0072 0895 ret 141 .size vsnprintf, .-vsnprintf 142 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccr1Sv4y.s page 4 DEFINED SYMBOLS *ABS*:0000000000000000 vsnprintf.c /tmp/ccr1Sv4y.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccr1Sv4y.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccr1Sv4y.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccr1Sv4y.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccr1Sv4y.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccr1Sv4y.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccr1Sv4y.s:10 .text._snputb:0000000000000000 _snputb /tmp/ccr1Sv4y.s:75 .text.vsnprintf:0000000000000000 vsnprintf UNDEFINED SYMBOLS memcpy _snputb_P _putf