arpcache.lst 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. GAS LISTING /tmp/cc0RJeUx.s page 1
  2. 1 .file "arpcache.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.ArpCacheFlush,"ax",@progbits
  10. 9 .type ArpCacheFlush, @function
  11. 10 ArpCacheFlush:
  12. 11 0000 0F93 push r16
  13. 12 0002 1F93 push r17
  14. 13 0004 CF93 push r28
  15. 14 0006 DF93 push r29
  16. 15 /* prologue: function */
  17. 16 /* frame size = 0 */
  18. 17 /* stack size = 4 */
  19. 18 .L__stack_usage = 4
  20. 19 0008 FC01 movw r30,r24
  21. 20 000a C38D ldd r28,Z+27
  22. 21 000c D48D ldd r29,Z+28
  23. 22 000e 8C01 movw r16,r24
  24. 23 0010 055E subi r16,-27
  25. 24 0012 1F4F sbci r17,-1
  26. 25 .L2:
  27. 26 0014 2097 sbiw r28,0
  28. 27 0016 01F0 breq .L7
  29. 28 0018 8C85 ldd r24,Y+12
  30. 29 001a 80FF sbrs r24,0
  31. 30 001c 00C0 rjmp .L3
  32. 31 001e CE01 movw r24,r28
  33. 32 0020 0E96 adiw r24,14
  34. 33 0022 0E94 0000 call NutEventBroadcastAsync
  35. 34 0026 8881 ld r24,Y
  36. 35 0028 9981 ldd r25,Y+1
  37. 36 002a F801 movw r30,r16
  38. 37 002c 9183 std Z+1,r25
  39. 38 002e 8083 st Z,r24
  40. 39 0030 CE01 movw r24,r28
  41. 40 0032 0E94 0000 call free
  42. 41 0036 F801 movw r30,r16
  43. 42 0038 C081 ld r28,Z
  44. 43 003a D181 ldd r29,Z+1
  45. 44 003c 00C0 rjmp .L2
  46. 45 .L3:
  47. 46 003e 8E01 movw r16,r28
  48. 47 0040 0990 ld __tmp_reg__,Y+
  49. 48 0042 D881 ld r29,Y
  50. 49 0044 C02D mov r28,__tmp_reg__
  51. 50 0046 00C0 rjmp .L2
  52. 51 .L7:
  53. 52 /* epilogue start */
  54. 53 0048 DF91 pop r29
  55. 54 004a CF91 pop r28
  56. 55 004c 1F91 pop r17
  57. 56 004e 0F91 pop r16
  58. 57 0050 0895 ret
  59. GAS LISTING /tmp/cc0RJeUx.s page 2
  60. 58 .size ArpCacheFlush, .-ArpCacheFlush
  61. 59 .section .text.ArpCacheAging,"ax",@progbits
  62. 60 .type ArpCacheAging, @function
  63. 61 ArpCacheAging:
  64. 62 0000 0F93 push r16
  65. 63 0002 1F93 push r17
  66. 64 0004 CF93 push r28
  67. 65 0006 DF93 push r29
  68. 66 /* prologue: function */
  69. 67 /* frame size = 0 */
  70. 68 /* stack size = 4 */
  71. 69 .L__stack_usage = 4
  72. 70 0008 0E94 0000 call NutGetSeconds
  73. 71 000c 0091 0000 lds r16,last_update.2690
  74. 72 0010 1091 0000 lds r17,last_update.2690+1
  75. 73 0014 2091 0000 lds r18,last_update.2690+2
  76. 74 0018 3091 0000 lds r19,last_update.2690+3
  77. 75 001c DC01 movw r26,r24
  78. 76 001e CB01 movw r24,r22
  79. 77 0020 801B sub r24,r16
  80. 78 0022 910B sbc r25,r17
  81. 79 0024 A20B sbc r26,r18
  82. 80 0026 B30B sbc r27,r19
  83. 81 0028 CC97 sbiw r24,60
  84. 82 002a A105 cpc r26,__zero_reg__
  85. 83 002c B105 cpc r27,__zero_reg__
  86. 84 002e 00F0 brlo .L8
  87. 85 0030 0E94 0000 call NutGetSeconds
  88. 86 0034 6093 0000 sts last_update.2690,r22
  89. 87 0038 7093 0000 sts last_update.2690+1,r23
  90. 88 003c 8093 0000 sts last_update.2690+2,r24
  91. 89 0040 9093 0000 sts last_update.2690+3,r25
  92. 90 0044 C091 0000 lds r28,nutDeviceList
  93. 91 0048 D091 0000 lds r29,nutDeviceList+1
  94. 92 .L10:
  95. 93 004c 2097 sbiw r28,0
  96. 94 004e 01F0 breq .L8
  97. 95 0050 8B85 ldd r24,Y+11
  98. 96 0052 8330 cpi r24,lo8(3)
  99. 97 0054 01F4 brne .L12
  100. 98 0056 8F85 ldd r24,Y+15
  101. 99 0058 9889 ldd r25,Y+16
  102. 100 005a 0097 sbiw r24,0
  103. 101 005c 01F0 breq .L12
  104. 102 005e DC01 movw r26,r24
  105. 103 0060 2C91 ld r18,X
  106. 104 0062 2630 cpi r18,lo8(6)
  107. 105 0064 01F4 brne .L12
  108. 106 0066 5B96 adiw r26,27
  109. 107 0068 ED91 ld r30,X+
  110. 108 006a FC91 ld r31,X
  111. 109 006c 5C97 sbiw r26,27+1
  112. 110 006e 30E0 ldi r19,0
  113. 111 .L14:
  114. 112 0070 3097 sbiw r30,0
  115. 113 0072 01F0 breq .L27
  116. 114 0074 2485 ldd r18,Z+12
  117. GAS LISTING /tmp/cc0RJeUx.s page 3
  118. 115 0076 22FD sbrc r18,2
  119. 116 0078 00C0 rjmp .L16
  120. 117 007a 4585 ldd r20,Z+13
  121. 118 007c 51E0 ldi r21,lo8(1)
  122. 119 007e 540F add r21,r20
  123. 120 0080 5587 std Z+13,r21
  124. 121 0082 4930 cpi r20,lo8(9)
  125. 122 0084 00F0 brlo .L16
  126. 123 0086 2160 ori r18,lo8(1)
  127. 124 0088 2487 std Z+12,r18
  128. 125 .L16:
  129. 126 008a 2485 ldd r18,Z+12
  130. 127 008c 322B or r19,r18
  131. 128 008e 0190 ld __tmp_reg__,Z+
  132. 129 0090 F081 ld r31,Z
  133. 130 0092 E02D mov r30,__tmp_reg__
  134. 131 0094 00C0 rjmp .L14
  135. 132 .L27:
  136. 133 0096 30FD sbrc r19,0
  137. 134 0098 0E94 0000 call ArpCacheFlush
  138. 135 .L12:
  139. 136 009c 0990 ld __tmp_reg__,Y+
  140. 137 009e D881 ld r29,Y
  141. 138 00a0 C02D mov r28,__tmp_reg__
  142. 139 00a2 00C0 rjmp .L10
  143. 140 .L8:
  144. 141 /* epilogue start */
  145. 142 00a4 DF91 pop r29
  146. 143 00a6 CF91 pop r28
  147. 144 00a8 1F91 pop r17
  148. 145 00aa 0F91 pop r16
  149. 146 00ac 0895 ret
  150. 147 .size ArpCacheAging, .-ArpCacheAging
  151. 148 .section .text.NutArpCacheUpdate,"ax",@progbits
  152. 149 .global NutArpCacheUpdate
  153. 150 .type NutArpCacheUpdate, @function
  154. 151 NutArpCacheUpdate:
  155. 152 0000 EF92 push r14
  156. 153 0002 FF92 push r15
  157. 154 0004 0F93 push r16
  158. 155 0006 1F93 push r17
  159. 156 0008 CF93 push r28
  160. 157 000a DF93 push r29
  161. 158 000c 00D0 rcall .
  162. 159 000e 1F92 push __zero_reg__
  163. 160 0010 CDB7 in r28,__SP_L__
  164. 161 0012 DEB7 in r29,__SP_H__
  165. 162 /* prologue: function */
  166. 163 /* frame size = 4 */
  167. 164 /* stack size = 10 */
  168. 165 .L__stack_usage = 10
  169. 166 0014 7901 movw r14,r18
  170. 167 0016 FC01 movw r30,r24
  171. 168 0018 0785 ldd r16,Z+15
  172. 169 001a 1089 ldd r17,Z+16
  173. 170 001c F801 movw r30,r16
  174. 171 001e 238D ldd r18,Z+27
  175. GAS LISTING /tmp/cc0RJeUx.s page 4
  176. 172 0020 348D ldd r19,Z+28
  177. 173 .L29:
  178. 174 0022 2115 cp r18,__zero_reg__
  179. 175 0024 3105 cpc r19,__zero_reg__
  180. 176 0026 01F0 breq .L42
  181. 177 0028 F901 movw r30,r18
  182. 178 002a 8281 ldd r24,Z+2
  183. 179 002c 9381 ldd r25,Z+3
  184. 180 002e A481 ldd r26,Z+4
  185. 181 0030 B581 ldd r27,Z+5
  186. 182 0032 4817 cp r20,r24
  187. 183 0034 5907 cpc r21,r25
  188. 184 0036 6A07 cpc r22,r26
  189. 185 0038 7B07 cpc r23,r27
  190. 186 003a 01F0 breq .L30
  191. 187 003c 2081 ld r18,Z
  192. 188 003e 3181 ldd r19,Z+1
  193. 189 0040 00C0 rjmp .L29
  194. 190 .L30:
  195. 191 0042 F901 movw r30,r18
  196. 192 0044 8485 ldd r24,Z+12
  197. 193 0046 82FD sbrc r24,2
  198. 194 0048 00C0 rjmp .L35
  199. 195 004a F901 movw r30,r18
  200. 196 004c 1586 std Z+13,__zero_reg__
  201. 197 004e 96E0 ldi r25,lo8(6)
  202. 198 0050 F701 movw r30,r14
  203. 199 0052 D901 movw r26,r18
  204. 200 0054 1696 adiw r26,6
  205. 201 0:
  206. 202 0056 0190 ld r0,Z+
  207. 203 0058 0D92 st X+,r0
  208. 204 005a 9A95 dec r25
  209. 205 005c 01F4 brne 0b
  210. 206 005e 8260 ori r24,lo8(2)
  211. 207 0060 F901 movw r30,r18
  212. 208 0062 8487 std Z+12,r24
  213. 209 .L35:
  214. 210 0064 C901 movw r24,r18
  215. 211 0066 0E96 adiw r24,14
  216. 212 /* epilogue start */
  217. 213 0068 0F90 pop __tmp_reg__
  218. 214 006a 0F90 pop __tmp_reg__
  219. 215 006c 0F90 pop __tmp_reg__
  220. 216 006e 0F90 pop __tmp_reg__
  221. 217 0070 DF91 pop r29
  222. 218 0072 CF91 pop r28
  223. 219 0074 1F91 pop r17
  224. 220 0076 0F91 pop r16
  225. 221 0078 FF90 pop r15
  226. 222 007a EF90 pop r14
  227. 223 007c 0C94 0000 jmp NutEventBroadcast
  228. 224 .L42:
  229. 225 0080 4983 std Y+1,r20
  230. 226 0082 5A83 std Y+2,r21
  231. 227 0084 6B83 std Y+3,r22
  232. 228 0086 7C83 std Y+4,r23
  233. GAS LISTING /tmp/cc0RJeUx.s page 5
  234. 229 0088 0E94 0000 call ArpCacheAging
  235. 230 008c 80E1 ldi r24,lo8(16)
  236. 231 008e 90E0 ldi r25,0
  237. 232 0090 0E94 0000 call malloc
  238. 233 0094 9C01 movw r18,r24
  239. 234 0096 4981 ldd r20,Y+1
  240. 235 0098 5A81 ldd r21,Y+2
  241. 236 009a 6B81 ldd r22,Y+3
  242. 237 009c 7C81 ldd r23,Y+4
  243. 238 009e 892B or r24,r25
  244. 239 00a0 01F0 breq .L28
  245. 240 00a2 80E1 ldi r24,lo8(16)
  246. 241 00a4 F901 movw r30,r18
  247. 242 0:
  248. 243 00a6 1192 st Z+,__zero_reg__
  249. 244 00a8 8A95 dec r24
  250. 245 00aa 01F4 brne 0b
  251. 246 00ac F901 movw r30,r18
  252. 247 00ae 4283 std Z+2,r20
  253. 248 00b0 5383 std Z+3,r21
  254. 249 00b2 6483 std Z+4,r22
  255. 250 00b4 7583 std Z+5,r23
  256. 251 00b6 E114 cp r14,__zero_reg__
  257. 252 00b8 F104 cpc r15,__zero_reg__
  258. 253 00ba 01F0 breq .L33
  259. 254 00bc 86E0 ldi r24,lo8(6)
  260. 255 00be F701 movw r30,r14
  261. 256 00c0 D901 movw r26,r18
  262. 257 00c2 1696 adiw r26,6
  263. 258 0:
  264. 259 00c4 0190 ld r0,Z+
  265. 260 00c6 0D92 st X+,r0
  266. 261 00c8 8A95 dec r24
  267. 262 00ca 01F4 brne 0b
  268. 263 00cc 82E0 ldi r24,lo8(2)
  269. 264 00ce F901 movw r30,r18
  270. 265 00d0 8487 std Z+12,r24
  271. 266 .L33:
  272. 267 00d2 F801 movw r30,r16
  273. 268 00d4 838D ldd r24,Z+27
  274. 269 00d6 948D ldd r25,Z+28
  275. 270 00d8 F901 movw r30,r18
  276. 271 00da 9183 std Z+1,r25
  277. 272 00dc 8083 st Z,r24
  278. 273 00de F801 movw r30,r16
  279. 274 00e0 348F std Z+28,r19
  280. 275 00e2 238F std Z+27,r18
  281. 276 .L28:
  282. 277 /* epilogue start */
  283. 278 00e4 0F90 pop __tmp_reg__
  284. 279 00e6 0F90 pop __tmp_reg__
  285. 280 00e8 0F90 pop __tmp_reg__
  286. 281 00ea 0F90 pop __tmp_reg__
  287. 282 00ec DF91 pop r29
  288. 283 00ee CF91 pop r28
  289. 284 00f0 1F91 pop r17
  290. 285 00f2 0F91 pop r16
  291. GAS LISTING /tmp/cc0RJeUx.s page 6
  292. 286 00f4 FF90 pop r15
  293. 287 00f6 EF90 pop r14
  294. 288 00f8 0895 ret
  295. 289 .size NutArpCacheUpdate, .-NutArpCacheUpdate
  296. 290 .section .text.NutArpCacheQuery,"ax",@progbits
  297. 291 .global NutArpCacheQuery
  298. 292 .type NutArpCacheQuery, @function
  299. 293 NutArpCacheQuery:
  300. 294 0000 4F92 push r4
  301. 295 0002 5F92 push r5
  302. 296 0004 6F92 push r6
  303. 297 0006 7F92 push r7
  304. 298 0008 AF92 push r10
  305. 299 000a BF92 push r11
  306. 300 000c CF92 push r12
  307. 301 000e DF92 push r13
  308. 302 0010 EF92 push r14
  309. 303 0012 FF92 push r15
  310. 304 0014 0F93 push r16
  311. 305 0016 1F93 push r17
  312. 306 0018 CF93 push r28
  313. 307 001a DF93 push r29
  314. 308 /* prologue: function */
  315. 309 /* frame size = 0 */
  316. 310 /* stack size = 14 */
  317. 311 .L__stack_usage = 14
  318. 312 001c 5C01 movw r10,r24
  319. 313 001e 2A01 movw r4,r20
  320. 314 0020 3B01 movw r6,r22
  321. 315 0022 6901 movw r12,r18
  322. 316 0024 DC01 movw r26,r24
  323. 317 0026 1F96 adiw r26,15
  324. 318 0028 ED90 ld r14,X+
  325. 319 002a FC90 ld r15,X
  326. 320 002c 5097 sbiw r26,15+1
  327. 321 002e 0E94 0000 call ArpCacheAging
  328. 322 0032 F701 movw r30,r14
  329. 323 0034 C38D ldd r28,Z+27
  330. 324 0036 D48D ldd r29,Z+28
  331. 325 .L44:
  332. 326 0038 2097 sbiw r28,0
  333. 327 003a 01F4 brne .+2
  334. 328 003c 00C0 rjmp .L78
  335. 329 003e 8A81 ldd r24,Y+2
  336. 330 0040 9B81 ldd r25,Y+3
  337. 331 0042 AC81 ldd r26,Y+4
  338. 332 0044 BD81 ldd r27,Y+5
  339. 333 0046 4816 cp r4,r24
  340. 334 0048 5906 cpc r5,r25
  341. 335 004a 6A06 cpc r6,r26
  342. 336 004c 7B06 cpc r7,r27
  343. 337 004e 01F0 breq .L68
  344. 338 0050 0990 ld __tmp_reg__,Y+
  345. 339 0052 D881 ld r29,Y
  346. 340 0054 C02D mov r28,__tmp_reg__
  347. 341 0056 00C0 rjmp .L44
  348. 342 .L68:
  349. GAS LISTING /tmp/cc0RJeUx.s page 7
  350. 343 0058 00E0 ldi r16,0
  351. 344 005a 10E0 ldi r17,0
  352. 345 .L45:
  353. 346 005c 8C85 ldd r24,Y+12
  354. 347 005e 81FD sbrc r24,1
  355. 348 0060 00C0 rjmp .L49
  356. 349 0062 0115 cp r16,__zero_reg__
  357. 350 0064 1105 cpc r17,__zero_reg__
  358. 351 0066 01F4 brne .L50
  359. 352 .L53:
  360. 353 0068 44EF ldi r20,lo8(-12)
  361. 354 006a 51E0 ldi r21,lo8(1)
  362. 355 006c 60E0 ldi r22,0
  363. 356 006e 70E0 ldi r23,0
  364. 357 0070 CE01 movw r24,r28
  365. 358 0072 0E96 adiw r24,14
  366. 359 0074 0E94 0000 call NutEventWait
  367. 360 0078 D701 movw r26,r14
  368. 361 007a 5B96 adiw r26,27
  369. 362 007c CD91 ld r28,X+
  370. 363 007e DC91 ld r29,X
  371. 364 0080 5C97 sbiw r26,27+1
  372. 365 0082 00C0 rjmp .L51
  373. 366 .L50:
  374. 367 0084 B801 movw r22,r16
  375. 368 0086 C501 movw r24,r10
  376. 369 0088 0E94 0000 call NutArpOutput
  377. 370 008c 892B or r24,r25
  378. 371 008e 01F0 breq .L53
  379. 372 0090 D701 movw r26,r14
  380. 373 0092 5B96 adiw r26,27
  381. 374 0094 ED91 ld r30,X+
  382. 375 0096 FC91 ld r31,X
  383. 376 0098 5C97 sbiw r26,27+1
  384. 377 009a 00C0 rjmp .L58
  385. 378 .L79:
  386. 379 009c 8A81 ldd r24,Y+2
  387. 380 009e 9B81 ldd r25,Y+3
  388. 381 00a0 AC81 ldd r26,Y+4
  389. 382 00a2 BD81 ldd r27,Y+5
  390. 383 00a4 4816 cp r4,r24
  391. 384 00a6 5906 cpc r5,r25
  392. 385 00a8 6A06 cpc r6,r26
  393. 386 00aa 7B06 cpc r7,r27
  394. 387 00ac 01F0 breq .L55
  395. 388 00ae 0990 ld __tmp_reg__,Y+
  396. 389 00b0 D881 ld r29,Y
  397. 390 00b2 C02D mov r28,__tmp_reg__
  398. 391 .L51:
  399. 392 00b4 2097 sbiw r28,0
  400. 393 00b6 01F4 brne .L79
  401. 394 00b8 00C0 rjmp .L54
  402. 395 .L55:
  403. 396 00ba 8C85 ldd r24,Y+12
  404. 397 00bc 81FF sbrs r24,1
  405. 398 00be 00C0 rjmp .L73
  406. 399 .L49:
  407. GAS LISTING /tmp/cc0RJeUx.s page 8
  408. 400 00c0 2C96 adiw r28,12
  409. 401 00c2 F601 movw r30,r12
  410. 402 00c4 3696 adiw r30,6
  411. 403 .L56:
  412. 404 00c6 8A91 ld r24,-Y
  413. 405 00c8 8293 st -Z,r24
  414. 406 00ca CE16 cp r12,r30
  415. 407 00cc DF06 cpc r13,r31
  416. 408 00ce 01F4 brne .L56
  417. 409 00d0 00C0 rjmp .L80
  418. 410 .L60:
  419. 411 00d2 8281 ldd r24,Z+2
  420. 412 00d4 9381 ldd r25,Z+3
  421. 413 00d6 A481 ldd r26,Z+4
  422. 414 00d8 B581 ldd r27,Z+5
  423. 415 00da 4816 cp r4,r24
  424. 416 00dc 5906 cpc r5,r25
  425. 417 00de 6A06 cpc r6,r26
  426. 418 00e0 7B06 cpc r7,r27
  427. 419 00e2 01F0 breq .L59
  428. 420 00e4 0190 ld __tmp_reg__,Z+
  429. 421 00e6 F081 ld r31,Z
  430. 422 00e8 E02D mov r30,__tmp_reg__
  431. 423 .L58:
  432. 424 00ea 3097 sbiw r30,0
  433. 425 00ec 01F4 brne .L60
  434. 426 00ee 00C0 rjmp .L74
  435. 427 .L78:
  436. 428 00f0 0E94 0000 call ArpCacheAging
  437. 429 00f4 80E1 ldi r24,lo8(16)
  438. 430 00f6 90E0 ldi r25,0
  439. 431 00f8 0E94 0000 call malloc
  440. 432 00fc EC01 movw r28,r24
  441. 433 00fe 892B or r24,r25
  442. 434 0100 01F4 brne .+2
  443. 435 0102 00C0 rjmp .L74
  444. 436 0104 80E1 ldi r24,lo8(16)
  445. 437 0106 DE01 movw r26,r28
  446. 438 0:
  447. 439 0108 1D92 st X+,__zero_reg__
  448. 440 010a 8A95 dec r24
  449. 441 010c 01F4 brne 0b
  450. 442 010e 4A82 std Y+2,r4
  451. 443 0110 5B82 std Y+3,r5
  452. 444 0112 6C82 std Y+4,r6
  453. 445 0114 7D82 std Y+5,r7
  454. 446 0116 F701 movw r30,r14
  455. 447 0118 838D ldd r24,Z+27
  456. 448 011a 948D ldd r25,Z+28
  457. 449 011c 9983 std Y+1,r25
  458. 450 011e 8883 st Y,r24
  459. 451 0120 D48F std Z+28,r29
  460. 452 0122 C38F std Z+27,r28
  461. 453 0124 20E0 ldi r18,0
  462. 454 0126 30E0 ldi r19,0
  463. 455 0128 B301 movw r22,r6
  464. 456 012a A201 movw r20,r4
  465. GAS LISTING /tmp/cc0RJeUx.s page 9
  466. 457 012c 81E0 ldi r24,lo8(1)
  467. 458 012e 90E0 ldi r25,0
  468. 459 0130 0E94 0000 call NutArpAllocNetBuf
  469. 460 0134 8C01 movw r16,r24
  470. 461 0136 892B or r24,r25
  471. 462 0138 01F0 breq .+2
  472. 463 013a 00C0 rjmp .L45
  473. 464 013c 00C0 rjmp .L75
  474. 465 .L59:
  475. 466 013e 8485 ldd r24,Z+12
  476. 467 0140 81FD sbrc r24,1
  477. 468 0142 00C0 rjmp .L74
  478. 469 0144 8160 ori r24,lo8(1)
  479. 470 0146 8487 std Z+12,r24
  480. 471 0148 00C0 rjmp .L77
  481. 472 .L80:
  482. 473 014a 0115 cp r16,__zero_reg__
  483. 474 014c 1105 cpc r17,__zero_reg__
  484. 475 014e 01F0 breq .L76
  485. 476 0150 C801 movw r24,r16
  486. 477 0152 0E94 0000 call NutNetBufFree
  487. 478 .L76:
  488. 479 0156 80E0 ldi r24,0
  489. 480 0158 90E0 ldi r25,0
  490. 481 015a 00C0 rjmp .L71
  491. 482 .L54:
  492. 483 015c 0115 cp r16,__zero_reg__
  493. 484 015e 1105 cpc r17,__zero_reg__
  494. 485 0160 01F0 breq .L74
  495. 486 0162 C801 movw r24,r16
  496. 487 0164 0E94 0000 call NutNetBufFree
  497. 488 0168 00C0 rjmp .L74
  498. 489 .L73:
  499. 490 016a 0115 cp r16,__zero_reg__
  500. 491 016c 1105 cpc r17,__zero_reg__
  501. 492 016e 01F0 breq .L74
  502. 493 0170 C801 movw r24,r16
  503. 494 0172 0E94 0000 call NutNetBufFree
  504. 495 .L75:
  505. 496 0176 8C85 ldd r24,Y+12
  506. 497 0178 8160 ori r24,lo8(1)
  507. 498 017a 8C87 std Y+12,r24
  508. 499 .L77:
  509. 500 017c C701 movw r24,r14
  510. 501 017e 0E94 0000 call ArpCacheFlush
  511. 502 .L74:
  512. 503 0182 8FEF ldi r24,lo8(-1)
  513. 504 0184 9FEF ldi r25,lo8(-1)
  514. 505 .L71:
  515. 506 /* epilogue start */
  516. 507 0186 DF91 pop r29
  517. 508 0188 CF91 pop r28
  518. 509 018a 1F91 pop r17
  519. 510 018c 0F91 pop r16
  520. 511 018e FF90 pop r15
  521. 512 0190 EF90 pop r14
  522. 513 0192 DF90 pop r13
  523. GAS LISTING /tmp/cc0RJeUx.s page 10
  524. 514 0194 CF90 pop r12
  525. 515 0196 BF90 pop r11
  526. 516 0198 AF90 pop r10
  527. 517 019a 7F90 pop r7
  528. 518 019c 6F90 pop r6
  529. 519 019e 5F90 pop r5
  530. 520 01a0 4F90 pop r4
  531. 521 01a2 0895 ret
  532. 522 .size NutArpCacheQuery, .-NutArpCacheQuery
  533. 523 .local last_update.2690
  534. 524 .comm last_update.2690,4,1
  535. 525 .ident "GCC: (GNU) 5.3.0"
  536. 526 .global __do_clear_bss
  537. GAS LISTING /tmp/cc0RJeUx.s page 11
  538. DEFINED SYMBOLS
  539. *ABS*:0000000000000000 arpcache.c
  540. /tmp/cc0RJeUx.s:2 *ABS*:000000000000003e __SP_H__
  541. /tmp/cc0RJeUx.s:3 *ABS*:000000000000003d __SP_L__
  542. /tmp/cc0RJeUx.s:4 *ABS*:000000000000003f __SREG__
  543. /tmp/cc0RJeUx.s:5 *ABS*:000000000000003b __RAMPZ__
  544. /tmp/cc0RJeUx.s:6 *ABS*:0000000000000000 __tmp_reg__
  545. /tmp/cc0RJeUx.s:7 *ABS*:0000000000000001 __zero_reg__
  546. /tmp/cc0RJeUx.s:10 .text.ArpCacheFlush:0000000000000000 ArpCacheFlush
  547. /tmp/cc0RJeUx.s:61 .text.ArpCacheAging:0000000000000000 ArpCacheAging
  548. .bss:0000000000000000 last_update.2690
  549. /tmp/cc0RJeUx.s:151 .text.NutArpCacheUpdate:0000000000000000 NutArpCacheUpdate
  550. /tmp/cc0RJeUx.s:293 .text.NutArpCacheQuery:0000000000000000 NutArpCacheQuery
  551. UNDEFINED SYMBOLS
  552. NutEventBroadcastAsync
  553. free
  554. NutGetSeconds
  555. nutDeviceList
  556. NutEventBroadcast
  557. malloc
  558. NutEventWait
  559. NutArpOutput
  560. NutArpAllocNetBuf
  561. NutNetBufFree
  562. __do_clear_bss