| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- 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
|