ether_addr.lst 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. GAS LISTING /tmp/ccF4g2BZ.s page 1
  2. 1 .file "ether_addr.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.ether_aton,"ax",@progbits
  10. 9 .global ether_aton
  11. 10 .type ether_aton, @function
  12. 11 ether_aton:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 /* prologue: function */
  16. 15 /* frame size = 0 */
  17. 16 /* stack size = 2 */
  18. 17 .L__stack_usage = 2
  19. 18 0004 FC01 movw r30,r24
  20. 19 0006 86E0 ldi r24,lo8(6)
  21. 20 0008 A0E0 ldi r26,lo8(mac.2518)
  22. 21 000a B0E0 ldi r27,hi8(mac.2518)
  23. 22 000c ED01 movw r28,r26
  24. 23 0:
  25. 24 000e 1992 st Y+,__zero_reg__
  26. 25 0010 8A95 dec r24
  27. 26 0012 01F4 brne 0b
  28. 27 0014 40E0 ldi r20,0
  29. 28 0016 50E0 ldi r21,0
  30. 29 .L2:
  31. 30 0018 8081 ld r24,Z
  32. 31 001a 8823 tst r24
  33. 32 001c 01F4 brne .+2
  34. 33 001e 00C0 rjmp .L14
  35. 34 0020 8033 cpi r24,lo8(48)
  36. 35 0022 04F4 brge .L3
  37. 36 .L5:
  38. 37 0024 80E0 ldi r24,0
  39. 38 0026 90E0 ldi r25,0
  40. 39 0028 00C0 rjmp .L4
  41. 40 .L3:
  42. 41 002a 96EC ldi r25,lo8(-58)
  43. 42 002c 980F add r25,r24
  44. 43 002e 9730 cpi r25,lo8(7)
  45. 44 0030 00F0 brlo .L5
  46. 45 0032 99EB ldi r25,lo8(-71)
  47. 46 0034 980F add r25,r24
  48. 47 0036 9A31 cpi r25,lo8(26)
  49. 48 0038 00F0 brlo .L5
  50. 49 003a 8736 cpi r24,lo8(103)
  51. 50 003c 04F4 brge .L5
  52. 51 003e DA01 movw r26,r20
  53. 52 0040 A050 subi r26,lo8(-(mac.2518))
  54. 53 0042 B040 sbci r27,hi8(-(mac.2518))
  55. 54 0044 2C91 ld r18,X
  56. 55 0046 2031 cpi r18,lo8(16)
  57. 56 0048 00F4 brsh .L5
  58. 57 004a 822F mov r24,r18
  59. GAS LISTING /tmp/ccF4g2BZ.s page 2
  60. 58 004c 8295 swap r24
  61. 59 004e 807F andi r24,lo8(-16)
  62. 60 0050 8C93 st X,r24
  63. 61 0052 2081 ld r18,Z
  64. 62 0054 90ED ldi r25,lo8(-48)
  65. 63 0056 920F add r25,r18
  66. 64 0058 9A30 cpi r25,lo8(10)
  67. 65 005a 00F4 brsh .L6
  68. 66 005c 022E mov __tmp_reg__,r18
  69. 67 005e 000C lsl r0
  70. 68 0060 330B sbc r19,r19
  71. 69 0062 2053 subi r18,48
  72. 70 0064 3109 sbc r19,__zero_reg__
  73. 71 0066 00C0 rjmp .L7
  74. 72 .L6:
  75. 73 0068 9FE9 ldi r25,lo8(-97)
  76. 74 006a 920F add r25,r18
  77. 75 006c 9630 cpi r25,lo8(6)
  78. 76 006e 00F4 brsh .L8
  79. 77 0070 022E mov __tmp_reg__,r18
  80. 78 0072 000C lsl r0
  81. 79 0074 330B sbc r19,r19
  82. 80 0076 2755 subi r18,87
  83. 81 0078 3109 sbc r19,__zero_reg__
  84. 82 007a 00C0 rjmp .L7
  85. 83 .L8:
  86. 84 007c 9FEB ldi r25,lo8(-65)
  87. 85 007e 920F add r25,r18
  88. 86 0080 9630 cpi r25,lo8(6)
  89. 87 0082 00F4 brsh .L12
  90. 88 0084 022E mov __tmp_reg__,r18
  91. 89 0086 000C lsl r0
  92. 90 0088 330B sbc r19,r19
  93. 91 008a 2753 subi r18,55
  94. 92 008c 3109 sbc r19,__zero_reg__
  95. 93 008e 00C0 rjmp .L7
  96. 94 .L12:
  97. 95 0090 20E0 ldi r18,0
  98. 96 0092 30E0 ldi r19,0
  99. 97 .L7:
  100. 98 0094 282B or r18,r24
  101. 99 0096 2C93 st X,r18
  102. 100 0098 8181 ldd r24,Z+1
  103. 101 009a 8A33 cpi r24,lo8(58)
  104. 102 009c 01F0 breq .L9
  105. 103 009e 3196 adiw r30,1
  106. 104 00a0 00C0 rjmp .L2
  107. 105 .L9:
  108. 106 00a2 4F5F subi r20,-1
  109. 107 00a4 5F4F sbci r21,-1
  110. 108 00a6 4630 cpi r20,6
  111. 109 00a8 5105 cpc r21,__zero_reg__
  112. 110 00aa 04F0 brlt .+2
  113. 111 00ac 00C0 rjmp .L5
  114. 112 00ae 3296 adiw r30,2
  115. 113 00b0 00C0 rjmp .L2
  116. 114 .L14:
  117. GAS LISTING /tmp/ccF4g2BZ.s page 3
  118. 115 00b2 80E0 ldi r24,lo8(mac.2518)
  119. 116 00b4 90E0 ldi r25,hi8(mac.2518)
  120. 117 .L4:
  121. 118 /* epilogue start */
  122. 119 00b6 DF91 pop r29
  123. 120 00b8 CF91 pop r28
  124. 121 00ba 0895 ret
  125. 122 .size ether_aton, .-ether_aton
  126. 123 .section .text.ether_ntoa,"ax",@progbits
  127. 124 .global ether_ntoa
  128. 125 .type ether_ntoa, @function
  129. 126 ether_ntoa:
  130. 127 0000 CF93 push r28
  131. 128 0002 DF93 push r29
  132. 129 /* prologue: function */
  133. 130 /* frame size = 0 */
  134. 131 /* stack size = 2 */
  135. 132 .L__stack_usage = 2
  136. 133 0004 A0E0 ldi r26,lo8(str.2527)
  137. 134 0006 B0E0 ldi r27,hi8(str.2527)
  138. 135 0008 2AE3 ldi r18,lo8(58)
  139. 136 .L16:
  140. 137 000a EC01 movw r28,r24
  141. 138 000c FC01 movw r30,r24
  142. 139 000e 3191 ld r19,Z+
  143. 140 0010 CF01 movw r24,r30
  144. 141 0012 E32F mov r30,r19
  145. 142 0014 E295 swap r30
  146. 143 0016 EF70 andi r30,lo8(15)
  147. 144 0018 F0E0 ldi r31,0
  148. 145 001a E050 subi r30,lo8(-(hexdigit))
  149. 146 001c F040 sbci r31,hi8(-(hexdigit))
  150. 147 001e 3081 ld r19,Z
  151. 148 0020 3C93 st X,r19
  152. 149 0022 E881 ld r30,Y
  153. 150 0024 EF70 andi r30,lo8(15)
  154. 151 0026 F0E0 ldi r31,0
  155. 152 0028 E050 subi r30,lo8(-(hexdigit))
  156. 153 002a F040 sbci r31,hi8(-(hexdigit))
  157. 154 002c 3081 ld r19,Z
  158. 155 002e 1196 adiw r26,1
  159. 156 0030 3C93 st X,r19
  160. 157 0032 1197 sbiw r26,1
  161. 158 0034 1396 adiw r26,3
  162. 159 0036 FD01 movw r30,r26
  163. 160 0038 3197 sbiw r30,1
  164. 161 003a 2083 st Z,r18
  165. 162 003c F0E0 ldi r31,hi8(str.2527+18)
  166. 163 003e A030 cpi r26,lo8(str.2527+18)
  167. 164 0040 BF07 cpc r27,r31
  168. 165 0042 01F4 brne .L16
  169. 166 0044 1092 0000 sts str.2527+17,__zero_reg__
  170. 167 0048 80E0 ldi r24,lo8(str.2527)
  171. 168 004a 90E0 ldi r25,hi8(str.2527)
  172. 169 /* epilogue start */
  173. 170 004c DF91 pop r29
  174. 171 004e CF91 pop r28
  175. GAS LISTING /tmp/ccF4g2BZ.s page 4
  176. 172 0050 0895 ret
  177. 173 .size ether_ntoa, .-ether_ntoa
  178. 174 .local str.2527
  179. 175 .comm str.2527,18,1
  180. 176 .local mac.2518
  181. 177 .comm mac.2518,6,1
  182. 178 .section .rodata
  183. 179 .type hexdigit, @object
  184. 180 .size hexdigit, 17
  185. 181 hexdigit:
  186. 182 0000 3031 3233 .string "0123456789ABCDEF"
  187. 182 3435 3637
  188. 182 3839 4142
  189. 182 4344 4546
  190. 182 00
  191. 183 .ident "GCC: (GNU) 5.3.0"
  192. 184 .global __do_copy_data
  193. 185 .global __do_clear_bss
  194. GAS LISTING /tmp/ccF4g2BZ.s page 5
  195. DEFINED SYMBOLS
  196. *ABS*:0000000000000000 ether_addr.c
  197. /tmp/ccF4g2BZ.s:2 *ABS*:000000000000003e __SP_H__
  198. /tmp/ccF4g2BZ.s:3 *ABS*:000000000000003d __SP_L__
  199. /tmp/ccF4g2BZ.s:4 *ABS*:000000000000003f __SREG__
  200. /tmp/ccF4g2BZ.s:5 *ABS*:000000000000003b __RAMPZ__
  201. /tmp/ccF4g2BZ.s:6 *ABS*:0000000000000000 __tmp_reg__
  202. /tmp/ccF4g2BZ.s:7 *ABS*:0000000000000001 __zero_reg__
  203. /tmp/ccF4g2BZ.s:11 .text.ether_aton:0000000000000000 ether_aton
  204. /tmp/ccF4g2BZ.s:175 .bss:0000000000000012 mac.2518
  205. /tmp/ccF4g2BZ.s:126 .text.ether_ntoa:0000000000000000 ether_ntoa
  206. .bss:0000000000000000 str.2527
  207. /tmp/ccF4g2BZ.s:181 .rodata:0000000000000000 hexdigit
  208. UNDEFINED SYMBOLS
  209. __do_copy_data
  210. __do_clear_bss