ifconfig.lst 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  1. GAS LISTING /tmp/ccQaIAkB.s page 1
  2. 1 .file "ifconfig.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.NutNetIfSetup,"ax",@progbits
  10. 9 .global NutNetIfSetup
  11. 10 .type NutNetIfSetup, @function
  12. 11 NutNetIfSetup:
  13. 12 0000 2F92 push r2
  14. 13 0002 3F92 push r3
  15. 14 0004 4F92 push r4
  16. 15 0006 5F92 push r5
  17. 16 0008 6F92 push r6
  18. 17 000a 7F92 push r7
  19. 18 000c 8F92 push r8
  20. 19 000e 9F92 push r9
  21. 20 0010 AF92 push r10
  22. 21 0012 BF92 push r11
  23. 22 0014 CF92 push r12
  24. 23 0016 DF92 push r13
  25. 24 0018 EF92 push r14
  26. 25 001a FF92 push r15
  27. 26 001c 0F93 push r16
  28. 27 001e 1F93 push r17
  29. 28 0020 CF93 push r28
  30. 29 0022 DF93 push r29
  31. 30 0024 00D0 rcall .
  32. 31 0026 00D0 rcall .
  33. 32 0028 CDB7 in r28,__SP_L__
  34. 33 002a DEB7 in r29,__SP_H__
  35. 34 /* prologue: function */
  36. 35 /* frame size = 6 */
  37. 36 /* stack size = 24 */
  38. 37 .L__stack_usage = 24
  39. 38 002c 1C01 movw r2,r24
  40. 39 002e 2A01 movw r4,r20
  41. 40 0030 3B01 movw r6,r22
  42. 41 0032 4801 movw r8,r16
  43. 42 0034 5901 movw r10,r18
  44. 43 0036 C982 std Y+1,r12
  45. 44 0038 DA82 std Y+2,r13
  46. 45 003a EB82 std Y+3,r14
  47. 46 003c FC82 std Y+4,r15
  48. 47 003e DC01 movw r26,r24
  49. 48 0040 1F96 adiw r26,15
  50. 49 0042 0D90 ld __tmp_reg__,X+
  51. 50 0044 BC91 ld r27,X
  52. 51 0046 A02D mov r26,__tmp_reg__
  53. 52 0048 BE83 std Y+6,r27
  54. 53 004a AD83 std Y+5,r26
  55. 54 004c 452B or r20,r21
  56. 55 004e 462B or r20,r22
  57. 56 0050 472B or r20,r23
  58. 57 0052 01F4 brne .L2
  59. GAS LISTING /tmp/ccQaIAkB.s page 2
  60. 58 0054 4090 0000 lds r4,confnet+16
  61. 59 0058 5090 0000 lds r5,confnet+16+1
  62. 60 005c 6090 0000 lds r6,confnet+16+2
  63. 61 0060 7090 0000 lds r7,confnet+16+3
  64. 62 0064 4114 cp r4,__zero_reg__
  65. 63 0066 5104 cpc r5,__zero_reg__
  66. 64 0068 6104 cpc r6,__zero_reg__
  67. 65 006a 7104 cpc r7,__zero_reg__
  68. 66 006c 01F4 brne .+2
  69. 67 006e 00C0 rjmp .L3
  70. 68 .L2:
  71. 69 0070 ED81 ldd r30,Y+5
  72. 70 0072 FE81 ldd r31,Y+6
  73. 71 0074 4386 std Z+11,r4
  74. 72 0076 5486 std Z+12,r5
  75. 73 0078 6586 std Z+13,r6
  76. 74 007a 7686 std Z+14,r7
  77. 75 007c 8114 cp r8,__zero_reg__
  78. 76 007e 9104 cpc r9,__zero_reg__
  79. 77 0080 A104 cpc r10,__zero_reg__
  80. 78 0082 B104 cpc r11,__zero_reg__
  81. 79 0084 01F4 brne .L4
  82. 80 0086 8824 clr r8
  83. 81 0088 8A94 dec r8
  84. 82 008a 982C mov r9,r8
  85. 83 008c A82C mov r10,r8
  86. 84 008e B12C mov r11,__zero_reg__
  87. 85 .L4:
  88. 86 0090 AD81 ldd r26,Y+5
  89. 87 0092 BE81 ldd r27,Y+6
  90. 88 0094 5396 adiw r26,19
  91. 89 0096 8D92 st X+,r8
  92. 90 0098 9D92 st X+,r9
  93. 91 009a AD92 st X+,r10
  94. 92 009c BC92 st X,r11
  95. 93 009e 5697 sbiw r26,19+3
  96. 94 00a0 6101 movw r12,r2
  97. 95 00a2 E12C mov r14,__zero_reg__
  98. 96 00a4 F12C mov r15,__zero_reg__
  99. 97 00a6 8701 movw r16,r14
  100. 98 00a8 A501 movw r20,r10
  101. 99 00aa 9401 movw r18,r8
  102. 100 00ac C301 movw r24,r6
  103. 101 00ae B201 movw r22,r4
  104. 102 00b0 6821 and r22,r8
  105. 103 00b2 7921 and r23,r9
  106. 104 00b4 8A21 and r24,r10
  107. 105 00b6 9B21 and r25,r11
  108. 106 00b8 0E94 0000 call NutIpRouteAdd
  109. 107 00bc 8981 ldd r24,Y+1
  110. 108 00be 9A81 ldd r25,Y+2
  111. 109 00c0 AB81 ldd r26,Y+3
  112. 110 00c2 BC81 ldd r27,Y+4
  113. 111 00c4 0097 sbiw r24,0
  114. 112 00c6 A105 cpc r26,__zero_reg__
  115. 113 00c8 B105 cpc r27,__zero_reg__
  116. 114 00ca 01F0 breq .L5
  117. GAS LISTING /tmp/ccQaIAkB.s page 3
  118. 115 00cc 7C01 movw r14,r24
  119. 116 00ce 8D01 movw r16,r26
  120. 117 00d0 20E0 ldi r18,0
  121. 118 00d2 30E0 ldi r19,0
  122. 119 00d4 A901 movw r20,r18
  123. 120 00d6 60E0 ldi r22,0
  124. 121 00d8 70E0 ldi r23,0
  125. 122 00da CB01 movw r24,r22
  126. 123 00dc 0E94 0000 call NutIpRouteAdd
  127. 124 .L5:
  128. 125 00e0 89E0 ldi r24,lo8(9)
  129. 126 00e2 F101 movw r30,r2
  130. 127 00e4 3296 adiw r30,2
  131. 128 00e6 A0E0 ldi r26,lo8(confnet+1)
  132. 129 00e8 B0E0 ldi r27,hi8(confnet+1)
  133. 130 0:
  134. 131 00ea 0190 ld r0,Z+
  135. 132 00ec 0D92 st X+,r0
  136. 133 00ee 8A95 dec r24
  137. 134 00f0 01F4 brne 0b
  138. 135 00f2 AD81 ldd r26,Y+5
  139. 136 00f4 BE81 ldd r27,Y+6
  140. 137 00f6 1596 adiw r26,5
  141. 138 00f8 6C91 ld r22,X
  142. 139 00fa 1597 sbiw r26,5
  143. 140 00fc 1696 adiw r26,6
  144. 141 00fe 5C91 ld r21,X
  145. 142 0100 1697 sbiw r26,6
  146. 143 0102 1796 adiw r26,7
  147. 144 0104 4C91 ld r20,X
  148. 145 0106 1797 sbiw r26,7
  149. 146 0108 1896 adiw r26,8
  150. 147 010a 3C91 ld r19,X
  151. 148 010c 1897 sbiw r26,8
  152. 149 010e 1996 adiw r26,9
  153. 150 0110 2C91 ld r18,X
  154. 151 0112 1997 sbiw r26,9
  155. 152 0114 1A96 adiw r26,10
  156. 153 0116 9C91 ld r25,X
  157. 154 0118 1A97 sbiw r26,10
  158. 155 011a 862F mov r24,r22
  159. 156 011c 8523 and r24,r21
  160. 157 011e 8423 and r24,r20
  161. 158 0120 8323 and r24,r19
  162. 159 0122 8223 and r24,r18
  163. 160 0124 8923 and r24,r25
  164. 161 0126 8F3F cpi r24,lo8(-1)
  165. 162 0128 01F0 breq .L6
  166. 163 012a 562B or r21,r22
  167. 164 012c 452B or r20,r21
  168. 165 012e 342B or r19,r20
  169. 166 0130 232B or r18,r19
  170. 167 0132 922B or r25,r18
  171. 168 0134 01F0 breq .L6
  172. 169 0136 86E0 ldi r24,lo8(6)
  173. 170 0138 FD01 movw r30,r26
  174. 171 013a 3596 adiw r30,5
  175. GAS LISTING /tmp/ccQaIAkB.s page 4
  176. 172 013c A0E0 ldi r26,lo8(confnet+10)
  177. 173 013e B0E0 ldi r27,hi8(confnet+10)
  178. 174 0:
  179. 175 0140 0190 ld r0,Z+
  180. 176 0142 0D92 st X+,r0
  181. 177 0144 8A95 dec r24
  182. 178 0146 01F4 brne 0b
  183. 179 .L6:
  184. 180 0148 4092 0000 sts confnet+16,r4
  185. 181 014c 5092 0000 sts confnet+16+1,r5
  186. 182 0150 6092 0000 sts confnet+16+2,r6
  187. 183 0154 7092 0000 sts confnet+16+3,r7
  188. 184 0158 8092 0000 sts confnet+20,r8
  189. 185 015c 9092 0000 sts confnet+20+1,r9
  190. 186 0160 A092 0000 sts confnet+20+2,r10
  191. 187 0164 B092 0000 sts confnet+20+3,r11
  192. 188 0168 8981 ldd r24,Y+1
  193. 189 016a 9A81 ldd r25,Y+2
  194. 190 016c AB81 ldd r26,Y+3
  195. 191 016e BC81 ldd r27,Y+4
  196. 192 0170 892B or r24,r25
  197. 193 0172 8A2B or r24,r26
  198. 194 0174 8B2B or r24,r27
  199. 195 0176 01F4 brne .L7
  200. 196 0178 8091 0000 lds r24,confnet+24
  201. 197 017c 9091 0000 lds r25,confnet+24+1
  202. 198 0180 A091 0000 lds r26,confnet+24+2
  203. 199 0184 B091 0000 lds r27,confnet+24+3
  204. 200 0188 4826 eor r4,r24
  205. 201 018a 5926 eor r5,r25
  206. 202 018c 6A26 eor r6,r26
  207. 203 018e 7B26 eor r7,r27
  208. 204 0190 8420 and r8,r4
  209. 205 0192 9520 and r9,r5
  210. 206 0194 A620 and r10,r6
  211. 207 0196 B720 and r11,r7
  212. 208 0198 8928 or r8,r9
  213. 209 019a 8A28 or r8,r10
  214. 210 019c 8B28 or r8,r11
  215. 211 019e 01F0 breq .L8
  216. 212 .L7:
  217. 213 01a0 8981 ldd r24,Y+1
  218. 214 01a2 9A81 ldd r25,Y+2
  219. 215 01a4 AB81 ldd r26,Y+3
  220. 216 01a6 BC81 ldd r27,Y+4
  221. 217 01a8 8093 0000 sts confnet+24,r24
  222. 218 01ac 9093 0000 sts confnet+24+1,r25
  223. 219 01b0 A093 0000 sts confnet+24+2,r26
  224. 220 01b4 B093 0000 sts confnet+24+3,r27
  225. 221 .L8:
  226. 222 /* epilogue start */
  227. 223 01b8 2696 adiw r28,6
  228. 224 01ba 0FB6 in __tmp_reg__,__SREG__
  229. 225 01bc F894 cli
  230. 226 01be DEBF out __SP_H__,r29
  231. 227 01c0 0FBE out __SREG__,__tmp_reg__
  232. 228 01c2 CDBF out __SP_L__,r28
  233. GAS LISTING /tmp/ccQaIAkB.s page 5
  234. 229 01c4 DF91 pop r29
  235. 230 01c6 CF91 pop r28
  236. 231 01c8 1F91 pop r17
  237. 232 01ca 0F91 pop r16
  238. 233 01cc FF90 pop r15
  239. 234 01ce EF90 pop r14
  240. 235 01d0 DF90 pop r13
  241. 236 01d2 CF90 pop r12
  242. 237 01d4 BF90 pop r11
  243. 238 01d6 AF90 pop r10
  244. 239 01d8 9F90 pop r9
  245. 240 01da 8F90 pop r8
  246. 241 01dc 7F90 pop r7
  247. 242 01de 6F90 pop r6
  248. 243 01e0 5F90 pop r5
  249. 244 01e2 4F90 pop r4
  250. 245 01e4 3F90 pop r3
  251. 246 01e6 2F90 pop r2
  252. 247 01e8 0C94 0000 jmp NutNetSaveConfig
  253. 248 .L3:
  254. 249 01ec 8FEF ldi r24,lo8(-1)
  255. 250 01ee 9FEF ldi r25,lo8(-1)
  256. 251 /* epilogue start */
  257. 252 01f0 2696 adiw r28,6
  258. 253 01f2 0FB6 in __tmp_reg__,__SREG__
  259. 254 01f4 F894 cli
  260. 255 01f6 DEBF out __SP_H__,r29
  261. 256 01f8 0FBE out __SREG__,__tmp_reg__
  262. 257 01fa CDBF out __SP_L__,r28
  263. 258 01fc DF91 pop r29
  264. 259 01fe CF91 pop r28
  265. 260 0200 1F91 pop r17
  266. 261 0202 0F91 pop r16
  267. 262 0204 FF90 pop r15
  268. 263 0206 EF90 pop r14
  269. 264 0208 DF90 pop r13
  270. 265 020a CF90 pop r12
  271. 266 020c BF90 pop r11
  272. 267 020e AF90 pop r10
  273. 268 0210 9F90 pop r9
  274. 269 0212 8F90 pop r8
  275. 270 0214 7F90 pop r7
  276. 271 0216 6F90 pop r6
  277. 272 0218 5F90 pop r5
  278. 273 021a 4F90 pop r4
  279. 274 021c 3F90 pop r3
  280. 275 021e 2F90 pop r2
  281. 276 0220 0895 ret
  282. 277 .size NutNetIfSetup, .-NutNetIfSetup
  283. 278 .section .text.NutNetIfConfig2,"ax",@progbits
  284. 279 .global NutNetIfConfig2
  285. 280 .type NutNetIfConfig2, @function
  286. 281 NutNetIfConfig2:
  287. 282 0000 4F92 push r4
  288. 283 0002 5F92 push r5
  289. 284 0004 6F92 push r6
  290. 285 0006 7F92 push r7
  291. GAS LISTING /tmp/ccQaIAkB.s page 6
  292. 286 0008 8F92 push r8
  293. 287 000a 9F92 push r9
  294. 288 000c AF92 push r10
  295. 289 000e BF92 push r11
  296. 290 0010 CF92 push r12
  297. 291 0012 DF92 push r13
  298. 292 0014 EF92 push r14
  299. 293 0016 FF92 push r15
  300. 294 0018 0F93 push r16
  301. 295 001a 1F93 push r17
  302. 296 001c CF93 push r28
  303. 297 001e DF93 push r29
  304. 298 0020 CDB7 in r28,__SP_L__
  305. 299 0022 DEB7 in r29,__SP_H__
  306. 300 0024 2A97 sbiw r28,10
  307. 301 0026 0FB6 in __tmp_reg__,__SREG__
  308. 302 0028 F894 cli
  309. 303 002a DEBF out __SP_H__,r29
  310. 304 002c 0FBE out __SREG__,__tmp_reg__
  311. 305 002e CDBF out __SP_L__,r28
  312. 306 /* prologue: function */
  313. 307 /* frame size = 10 */
  314. 308 /* stack size = 26 */
  315. 309 .L__stack_usage = 26
  316. 310 0030 4B01 movw r8,r22
  317. 311 0032 2F83 std Y+7,r18
  318. 312 0034 3887 std Y+8,r19
  319. 313 0036 4987 std Y+9,r20
  320. 314 0038 5A87 std Y+10,r21
  321. 315 003a 2701 movw r4,r14
  322. 316 003c 3801 movw r6,r16
  323. 317 003e 7601 movw r14,r12
  324. 318 0040 6501 movw r12,r10
  325. 319 0042 0E94 0000 call NutDeviceLookup
  326. 320 0046 9E83 std Y+6,r25
  327. 321 0048 8D83 std Y+5,r24
  328. 322 004a 0097 sbiw r24,0
  329. 323 004c 01F4 brne .L23
  330. 324 .L25:
  331. 325 004e 8FEF ldi r24,lo8(-1)
  332. 326 0050 9FEF ldi r25,lo8(-1)
  333. 327 0052 00C0 rjmp .L24
  334. 328 .L23:
  335. 329 0054 DC01 movw r26,r24
  336. 330 0056 1B96 adiw r26,11
  337. 331 0058 2C91 ld r18,X
  338. 332 005a 1B97 sbiw r26,11
  339. 333 005c 2330 cpi r18,lo8(3)
  340. 334 005e 01F4 brne .L25
  341. 335 0060 1F96 adiw r26,15
  342. 336 0062 0D90 ld __tmp_reg__,X+
  343. 337 0064 BC91 ld r27,X
  344. 338 0066 A02D mov r26,__tmp_reg__
  345. 339 0068 2C91 ld r18,X
  346. 340 006a 2630 cpi r18,lo8(6)
  347. 341 006c 01F4 brne .L26
  348. 342 006e FC01 movw r30,r24
  349. GAS LISTING /tmp/ccQaIAkB.s page 7
  350. 343 0070 2589 ldd r18,Z+21
  351. 344 0072 3689 ldd r19,Z+22
  352. 345 0074 2115 cp r18,__zero_reg__
  353. 346 0076 3105 cpc r19,__zero_reg__
  354. 347 0078 01F0 breq .L27
  355. 348 007a AE01 movw r20,r28
  356. 349 007c 4F5F subi r20,-1
  357. 350 007e 5F4F sbci r21,-1
  358. 351 0080 64E0 ldi r22,lo8(4)
  359. 352 0082 70E1 ldi r23,lo8(16)
  360. 353 0084 F901 movw r30,r18
  361. 354 0086 1995 eicall
  362. 355 0088 8D81 ldd r24,Y+5
  363. 356 008a 9E81 ldd r25,Y+6
  364. 357 008c DC01 movw r26,r24
  365. 358 008e 5596 adiw r26,21
  366. 359 0090 ED91 ld r30,X+
  367. 360 0092 FC91 ld r31,X
  368. 361 0094 5697 sbiw r26,21+1
  369. 362 0096 A401 movw r20,r8
  370. 363 0098 65E0 ldi r22,lo8(5)
  371. 364 009a 70E1 ldi r23,lo8(16)
  372. 365 009c 1995 eicall
  373. 366 009e 8981 ldd r24,Y+1
  374. 367 00a0 9A81 ldd r25,Y+2
  375. 368 00a2 AB81 ldd r26,Y+3
  376. 369 00a4 BC81 ldd r27,Y+4
  377. 370 00a6 8160 ori r24,1
  378. 371 00a8 8983 std Y+1,r24
  379. 372 00aa 9A83 std Y+2,r25
  380. 373 00ac AB83 std Y+3,r26
  381. 374 00ae BC83 std Y+4,r27
  382. 375 00b0 8D81 ldd r24,Y+5
  383. 376 00b2 9E81 ldd r25,Y+6
  384. 377 00b4 DC01 movw r26,r24
  385. 378 00b6 5596 adiw r26,21
  386. 379 00b8 ED91 ld r30,X+
  387. 380 00ba FC91 ld r31,X
  388. 381 00bc 5697 sbiw r26,21+1
  389. 382 00be AE01 movw r20,r28
  390. 383 00c0 4F5F subi r20,-1
  391. 384 00c2 5F4F sbci r21,-1
  392. 385 00c4 63E0 ldi r22,lo8(3)
  393. 386 00c6 70E1 ldi r23,lo8(16)
  394. 387 00c8 1995 eicall
  395. 388 00ca 00C0 rjmp .L28
  396. 389 .L27:
  397. 390 00cc 1596 adiw r26,5
  398. 391 00ce 86E0 ldi r24,lo8(6)
  399. 392 00d0 F401 movw r30,r8
  400. 393 0:
  401. 394 00d2 0190 ld r0,Z+
  402. 395 00d4 0D92 st X+,r0
  403. 396 00d6 8A95 dec r24
  404. 397 00d8 01F4 brne 0b
  405. 398 .L28:
  406. 399 00da 9301 movw r18,r6
  407. GAS LISTING /tmp/ccQaIAkB.s page 8
  408. 400 00dc 8201 movw r16,r4
  409. 401 00de 4F81 ldd r20,Y+7
  410. 402 00e0 5885 ldd r21,Y+8
  411. 403 00e2 6985 ldd r22,Y+9
  412. 404 00e4 7A85 ldd r23,Y+10
  413. 405 00e6 00C0 rjmp .L35
  414. 406 .L26:
  415. 407 00e8 2731 cpi r18,lo8(23)
  416. 408 00ea 01F0 breq .+2
  417. 409 00ec 00C0 rjmp .L25
  418. 410 00ee FC01 movw r30,r24
  419. 411 00f0 A188 ldd r10,Z+17
  420. 412 00f2 B288 ldd r11,Z+18
  421. 413 00f4 8F81 ldd r24,Y+7
  422. 414 00f6 9885 ldd r25,Y+8
  423. 415 00f8 A985 ldd r26,Y+9
  424. 416 00fa BA85 ldd r27,Y+10
  425. 417 00fc F501 movw r30,r10
  426. 418 00fe 81A3 std Z+33,r24
  427. 419 0100 92A3 std Z+34,r25
  428. 420 0102 A3A3 std Z+35,r26
  429. 421 0104 B4A3 std Z+36,r27
  430. 422 0106 4114 cp r4,__zero_reg__
  431. 423 0108 5104 cpc r5,__zero_reg__
  432. 424 010a 6104 cpc r6,__zero_reg__
  433. 425 010c 7104 cpc r7,__zero_reg__
  434. 426 010e 01F0 breq .L31
  435. 427 0110 342D mov r19,r4
  436. 428 0112 252D mov r18,r5
  437. 429 0114 962D mov r25,r6
  438. 430 0116 872D mov r24,r7
  439. 431 0118 00C0 rjmp .L29
  440. 432 .L31:
  441. 433 011a 3FEF ldi r19,lo8(-1)
  442. 434 011c 2FEF ldi r18,lo8(-1)
  443. 435 011e 9FEF ldi r25,lo8(-1)
  444. 436 0120 8FEF ldi r24,lo8(-1)
  445. 437 .L29:
  446. 438 0122 D501 movw r26,r10
  447. 439 0124 9996 adiw r26,41
  448. 440 0126 3C93 st X,r19
  449. 441 0128 9997 sbiw r26,41
  450. 442 012a 9A96 adiw r26,42
  451. 443 012c 2C93 st X,r18
  452. 444 012e 9A97 sbiw r26,42
  453. 445 0130 9B96 adiw r26,43
  454. 446 0132 9C93 st X,r25
  455. 447 0134 9B97 sbiw r26,43
  456. 448 0136 9C96 adiw r26,44
  457. 449 0138 8C93 st X,r24
  458. 450 013a 8114 cp r8,__zero_reg__
  459. 451 013c 9104 cpc r9,__zero_reg__
  460. 452 013e 01F0 breq .L30
  461. 453 0140 F401 movw r30,r8
  462. 454 0142 8081 ld r24,Z
  463. 455 0144 9181 ldd r25,Z+1
  464. 456 0146 A281 ldd r26,Z+2
  465. GAS LISTING /tmp/ccQaIAkB.s page 9
  466. 457 0148 B381 ldd r27,Z+3
  467. 458 014a F501 movw r30,r10
  468. 459 014c 85A3 std Z+37,r24
  469. 460 014e 96A3 std Z+38,r25
  470. 461 0150 A7A3 std Z+39,r26
  471. 462 0152 B0A7 std Z+40,r27
  472. 463 .L30:
  473. 464 0154 C501 movw r24,r10
  474. 465 0156 0E94 0000 call NutEventBroadcast
  475. 466 015a AE01 movw r20,r28
  476. 467 015c 4B5F subi r20,-5
  477. 468 015e 5F4F sbci r21,-1
  478. 469 0160 67E1 ldi r22,lo8(23)
  479. 470 0162 71E0 ldi r23,lo8(1)
  480. 471 0164 F501 movw r30,r10
  481. 472 0166 FF96 adiw r30,63
  482. 473 0168 8081 ld r24,Z
  483. 474 016a 9181 ldd r25,Z+1
  484. 475 016c 0E94 0000 call _ioctl
  485. 476 0170 40E6 ldi r20,lo8(96)
  486. 477 0172 5AEE ldi r21,lo8(-22)
  487. 478 0174 60E0 ldi r22,0
  488. 479 0176 70E0 ldi r23,0
  489. 480 0178 C501 movw r24,r10
  490. 481 017a 0E94 0000 call NutEventWait
  491. 482 017e 892B or r24,r25
  492. 483 0180 01F0 breq .+2
  493. 484 0182 00C0 rjmp .L25
  494. 485 0184 D501 movw r26,r10
  495. 486 0186 DC96 adiw r26,60
  496. 487 0188 8C91 ld r24,X
  497. 488 018a DC97 sbiw r26,60
  498. 489 018c 8930 cpi r24,lo8(9)
  499. 490 018e 01F0 breq .+2
  500. 491 0190 00C0 rjmp .L25
  501. 492 0192 9596 adiw r26,37
  502. 493 0194 CD90 ld r12,X+
  503. 494 0196 DD90 ld r13,X+
  504. 495 0198 ED90 ld r14,X+
  505. 496 019a FC90 ld r15,X
  506. 497 019c 9897 sbiw r26,37+3
  507. 498 019e 9996 adiw r26,41
  508. 499 01a0 0D91 ld r16,X+
  509. 500 01a2 1D91 ld r17,X+
  510. 501 01a4 2D91 ld r18,X+
  511. 502 01a6 3C91 ld r19,X
  512. 503 01a8 9C97 sbiw r26,41+3
  513. 504 01aa 9196 adiw r26,33
  514. 505 01ac 4D91 ld r20,X+
  515. 506 01ae 5D91 ld r21,X+
  516. 507 01b0 6D91 ld r22,X+
  517. 508 01b2 7C91 ld r23,X
  518. 509 01b4 9497 sbiw r26,33+3
  519. 510 .L35:
  520. 511 01b6 8D81 ldd r24,Y+5
  521. 512 01b8 9E81 ldd r25,Y+6
  522. 513 01ba 0E94 0000 call NutNetIfSetup
  523. GAS LISTING /tmp/ccQaIAkB.s page 10
  524. 514 .L24:
  525. 515 /* epilogue start */
  526. 516 01be 2A96 adiw r28,10
  527. 517 01c0 0FB6 in __tmp_reg__,__SREG__
  528. 518 01c2 F894 cli
  529. 519 01c4 DEBF out __SP_H__,r29
  530. 520 01c6 0FBE out __SREG__,__tmp_reg__
  531. 521 01c8 CDBF out __SP_L__,r28
  532. 522 01ca DF91 pop r29
  533. 523 01cc CF91 pop r28
  534. 524 01ce 1F91 pop r17
  535. 525 01d0 0F91 pop r16
  536. 526 01d2 FF90 pop r15
  537. 527 01d4 EF90 pop r14
  538. 528 01d6 DF90 pop r13
  539. 529 01d8 CF90 pop r12
  540. 530 01da BF90 pop r11
  541. 531 01dc AF90 pop r10
  542. 532 01de 9F90 pop r9
  543. 533 01e0 8F90 pop r8
  544. 534 01e2 7F90 pop r7
  545. 535 01e4 6F90 pop r6
  546. 536 01e6 5F90 pop r5
  547. 537 01e8 4F90 pop r4
  548. 538 01ea 0895 ret
  549. 539 .size NutNetIfConfig2, .-NutNetIfConfig2
  550. 540 .section .text.NutNetIfConfig,"ax",@progbits
  551. 541 .global NutNetIfConfig
  552. 542 .type NutNetIfConfig, @function
  553. 543 NutNetIfConfig:
  554. 544 0000 AF92 push r10
  555. 545 0002 BF92 push r11
  556. 546 0004 CF92 push r12
  557. 547 0006 DF92 push r13
  558. 548 0008 EF92 push r14
  559. 549 000a FF92 push r15
  560. 550 000c 0F93 push r16
  561. 551 000e 1F93 push r17
  562. 552 /* prologue: function */
  563. 553 /* frame size = 0 */
  564. 554 /* stack size = 8 */
  565. 555 .L__stack_usage = 8
  566. 556 0010 A12C mov r10,__zero_reg__
  567. 557 0012 B12C mov r11,__zero_reg__
  568. 558 0014 6501 movw r12,r10
  569. 559 0016 0E94 0000 call NutNetIfConfig2
  570. 560 /* epilogue start */
  571. 561 001a 1F91 pop r17
  572. 562 001c 0F91 pop r16
  573. 563 001e FF90 pop r15
  574. 564 0020 EF90 pop r14
  575. 565 0022 DF90 pop r13
  576. 566 0024 CF90 pop r12
  577. 567 0026 BF90 pop r11
  578. 568 0028 AF90 pop r10
  579. 569 002a 0895 ret
  580. 570 .size NutNetIfConfig, .-NutNetIfConfig
  581. GAS LISTING /tmp/ccQaIAkB.s page 11
  582. 571 .section .text.NutNetIfAddMcastAddr,"ax",@progbits
  583. 572 .global NutNetIfAddMcastAddr
  584. 573 .type NutNetIfAddMcastAddr, @function
  585. 574 NutNetIfAddMcastAddr:
  586. 575 0000 0F93 push r16
  587. 576 0002 1F93 push r17
  588. 577 0004 CF93 push r28
  589. 578 0006 DF93 push r29
  590. 579 0008 00D0 rcall .
  591. 580 000a 1F92 push __zero_reg__
  592. 581 000c CDB7 in r28,__SP_L__
  593. 582 000e DEB7 in r29,__SP_H__
  594. 583 /* prologue: function */
  595. 584 /* frame size = 4 */
  596. 585 /* stack size = 8 */
  597. 586 .L__stack_usage = 8
  598. 587 0010 4983 std Y+1,r20
  599. 588 0012 5A83 std Y+2,r21
  600. 589 0014 6B83 std Y+3,r22
  601. 590 0016 7C83 std Y+4,r23
  602. 591 0018 0E94 0000 call NutDeviceLookup
  603. 592 001c 8C01 movw r16,r24
  604. 593 001e 0097 sbiw r24,0
  605. 594 0020 01F0 breq .L42
  606. 595 0022 DC01 movw r26,r24
  607. 596 0024 1B96 adiw r26,11
  608. 597 0026 8C91 ld r24,X
  609. 598 0028 1B97 sbiw r26,11
  610. 599 002a 8330 cpi r24,lo8(3)
  611. 600 002c 01F4 brne .L42
  612. 601 002e 1F96 adiw r26,15
  613. 602 0030 ED91 ld r30,X+
  614. 603 0032 FC91 ld r31,X
  615. 604 0034 5097 sbiw r26,15+1
  616. 605 0036 8081 ld r24,Z
  617. 606 0038 8630 cpi r24,lo8(6)
  618. 607 003a 01F4 brne .L42
  619. 608 003c 5596 adiw r26,21
  620. 609 003e ED91 ld r30,X+
  621. 610 0040 FC91 ld r31,X
  622. 611 0042 5697 sbiw r26,21+1
  623. 612 0044 3097 sbiw r30,0
  624. 613 0046 01F0 breq .L42
  625. 614 0048 AE01 movw r20,r28
  626. 615 004a 4F5F subi r20,-1
  627. 616 004c 5F4F sbci r21,-1
  628. 617 004e 67E0 ldi r22,lo8(7)
  629. 618 0050 70E1 ldi r23,lo8(16)
  630. 619 0052 C801 movw r24,r16
  631. 620 0054 1995 eicall
  632. 621 0056 0097 sbiw r24,0
  633. 622 0058 01F4 brne .L38
  634. 623 005a 4981 ldd r20,Y+1
  635. 624 005c 5A81 ldd r21,Y+2
  636. 625 005e 6B81 ldd r22,Y+3
  637. 626 0060 7C81 ldd r23,Y+4
  638. 627 0062 403E cpi r20,-32
  639. GAS LISTING /tmp/ccQaIAkB.s page 12
  640. 628 0064 5105 cpc r21,__zero_reg__
  641. 629 0066 6105 cpc r22,__zero_reg__
  642. 630 0068 B1E0 ldi r27,1
  643. 631 006a 7B07 cpc r23,r27
  644. 632 006c 01F0 breq .L44
  645. 633 006e C801 movw r24,r16
  646. 634 0070 0E94 0000 call NutIgmpJoinGroup
  647. 635 0074 00C0 rjmp .L44
  648. 636 .L42:
  649. 637 0076 8FEF ldi r24,lo8(-1)
  650. 638 0078 9FEF ldi r25,lo8(-1)
  651. 639 007a 00C0 rjmp .L38
  652. 640 .L44:
  653. 641 007c 80E0 ldi r24,0
  654. 642 007e 90E0 ldi r25,0
  655. 643 .L38:
  656. 644 /* epilogue start */
  657. 645 0080 0F90 pop __tmp_reg__
  658. 646 0082 0F90 pop __tmp_reg__
  659. 647 0084 0F90 pop __tmp_reg__
  660. 648 0086 0F90 pop __tmp_reg__
  661. 649 0088 DF91 pop r29
  662. 650 008a CF91 pop r28
  663. 651 008c 1F91 pop r17
  664. 652 008e 0F91 pop r16
  665. 653 0090 0895 ret
  666. 654 .size NutNetIfAddMcastAddr, .-NutNetIfAddMcastAddr
  667. 655 .section .text.NutNetIfDelMcastAddr,"ax",@progbits
  668. 656 .global NutNetIfDelMcastAddr
  669. 657 .type NutNetIfDelMcastAddr, @function
  670. 658 NutNetIfDelMcastAddr:
  671. 659 0000 0F93 push r16
  672. 660 0002 1F93 push r17
  673. 661 0004 CF93 push r28
  674. 662 0006 DF93 push r29
  675. 663 0008 00D0 rcall .
  676. 664 000a 1F92 push __zero_reg__
  677. 665 000c CDB7 in r28,__SP_L__
  678. 666 000e DEB7 in r29,__SP_H__
  679. 667 /* prologue: function */
  680. 668 /* frame size = 4 */
  681. 669 /* stack size = 8 */
  682. 670 .L__stack_usage = 8
  683. 671 0010 4983 std Y+1,r20
  684. 672 0012 5A83 std Y+2,r21
  685. 673 0014 6B83 std Y+3,r22
  686. 674 0016 7C83 std Y+4,r23
  687. 675 0018 0E94 0000 call NutDeviceLookup
  688. 676 001c 8C01 movw r16,r24
  689. 677 001e 0097 sbiw r24,0
  690. 678 0020 01F0 breq .L50
  691. 679 0022 DC01 movw r26,r24
  692. 680 0024 1B96 adiw r26,11
  693. 681 0026 8C91 ld r24,X
  694. 682 0028 1B97 sbiw r26,11
  695. 683 002a 8330 cpi r24,lo8(3)
  696. 684 002c 01F4 brne .L50
  697. GAS LISTING /tmp/ccQaIAkB.s page 13
  698. 685 002e 1F96 adiw r26,15
  699. 686 0030 ED91 ld r30,X+
  700. 687 0032 FC91 ld r31,X
  701. 688 0034 5097 sbiw r26,15+1
  702. 689 0036 8081 ld r24,Z
  703. 690 0038 8630 cpi r24,lo8(6)
  704. 691 003a 01F4 brne .L50
  705. 692 003c 5596 adiw r26,21
  706. 693 003e ED91 ld r30,X+
  707. 694 0040 FC91 ld r31,X
  708. 695 0042 5697 sbiw r26,21+1
  709. 696 0044 3097 sbiw r30,0
  710. 697 0046 01F0 breq .L50
  711. 698 0048 AE01 movw r20,r28
  712. 699 004a 4F5F subi r20,-1
  713. 700 004c 5F4F sbci r21,-1
  714. 701 004e 68E0 ldi r22,lo8(8)
  715. 702 0050 70E1 ldi r23,lo8(16)
  716. 703 0052 C801 movw r24,r16
  717. 704 0054 1995 eicall
  718. 705 0056 0097 sbiw r24,0
  719. 706 0058 01F4 brne .L46
  720. 707 005a 4981 ldd r20,Y+1
  721. 708 005c 5A81 ldd r21,Y+2
  722. 709 005e 6B81 ldd r22,Y+3
  723. 710 0060 7C81 ldd r23,Y+4
  724. 711 0062 403E cpi r20,-32
  725. 712 0064 5105 cpc r21,__zero_reg__
  726. 713 0066 6105 cpc r22,__zero_reg__
  727. 714 0068 B1E0 ldi r27,1
  728. 715 006a 7B07 cpc r23,r27
  729. 716 006c 01F0 breq .L52
  730. 717 006e C801 movw r24,r16
  731. 718 0070 0E94 0000 call NutIgmpLeaveGroup
  732. 719 0074 00C0 rjmp .L52
  733. 720 .L50:
  734. 721 0076 8FEF ldi r24,lo8(-1)
  735. 722 0078 9FEF ldi r25,lo8(-1)
  736. 723 007a 00C0 rjmp .L46
  737. 724 .L52:
  738. 725 007c 80E0 ldi r24,0
  739. 726 007e 90E0 ldi r25,0
  740. 727 .L46:
  741. 728 /* epilogue start */
  742. 729 0080 0F90 pop __tmp_reg__
  743. 730 0082 0F90 pop __tmp_reg__
  744. 731 0084 0F90 pop __tmp_reg__
  745. 732 0086 0F90 pop __tmp_reg__
  746. 733 0088 DF91 pop r29
  747. 734 008a CF91 pop r28
  748. 735 008c 1F91 pop r17
  749. 736 008e 0F91 pop r16
  750. 737 0090 0895 ret
  751. 738 .size NutNetIfDelMcastAddr, .-NutNetIfDelMcastAddr
  752. 739 .ident "GCC: (GNU) 5.3.0"
  753. GAS LISTING /tmp/ccQaIAkB.s page 14
  754. DEFINED SYMBOLS
  755. *ABS*:0000000000000000 ifconfig.c
  756. /tmp/ccQaIAkB.s:2 *ABS*:000000000000003e __SP_H__
  757. /tmp/ccQaIAkB.s:3 *ABS*:000000000000003d __SP_L__
  758. /tmp/ccQaIAkB.s:4 *ABS*:000000000000003f __SREG__
  759. /tmp/ccQaIAkB.s:5 *ABS*:000000000000003b __RAMPZ__
  760. /tmp/ccQaIAkB.s:6 *ABS*:0000000000000000 __tmp_reg__
  761. /tmp/ccQaIAkB.s:7 *ABS*:0000000000000001 __zero_reg__
  762. /tmp/ccQaIAkB.s:11 .text.NutNetIfSetup:0000000000000000 NutNetIfSetup
  763. /tmp/ccQaIAkB.s:281 .text.NutNetIfConfig2:0000000000000000 NutNetIfConfig2
  764. /tmp/ccQaIAkB.s:543 .text.NutNetIfConfig:0000000000000000 NutNetIfConfig
  765. /tmp/ccQaIAkB.s:574 .text.NutNetIfAddMcastAddr:0000000000000000 NutNetIfAddMcastAddr
  766. /tmp/ccQaIAkB.s:658 .text.NutNetIfDelMcastAddr:0000000000000000 NutNetIfDelMcastAddr
  767. UNDEFINED SYMBOLS
  768. confnet
  769. NutIpRouteAdd
  770. NutNetSaveConfig
  771. NutDeviceLookup
  772. NutEventBroadcast
  773. _ioctl
  774. NutEventWait
  775. NutIgmpJoinGroup
  776. NutIgmpLeaveGroup