ipout.lst 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. GAS LISTING /tmp/ccPL6KPZ.s page 1
  2. 1 .file "ipout.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.NutIpOutput,"ax",@progbits
  10. 9 .global NutIpOutput
  11. 10 .type NutIpOutput, @function
  12. 11 NutIpOutput:
  13. 12 0000 7F92 push r7
  14. 13 0002 8F92 push r8
  15. 14 0004 9F92 push r9
  16. 15 0006 AF92 push r10
  17. 16 0008 BF92 push r11
  18. 17 000a CF92 push r12
  19. 18 000c DF92 push r13
  20. 19 000e EF92 push r14
  21. 20 0010 FF92 push r15
  22. 21 0012 0F93 push r16
  23. 22 0014 1F93 push r17
  24. 23 0016 CF93 push r28
  25. 24 0018 DF93 push r29
  26. 25 001a CDB7 in r28,__SP_L__
  27. 26 001c DEB7 in r29,__SP_H__
  28. 27 001e 2E97 sbiw r28,14
  29. 28 0020 0FB6 in __tmp_reg__,__SREG__
  30. 29 0022 F894 cli
  31. 30 0024 DEBF out __SP_H__,r29
  32. 31 0026 0FBE out __SREG__,__tmp_reg__
  33. 32 0028 CDBF out __SP_L__,r28
  34. 33 /* prologue: function */
  35. 34 /* frame size = 14 */
  36. 35 /* stack size = 27 */
  37. 36 .L__stack_usage = 27
  38. 37 002a D82E mov r13,r24
  39. 38 002c 4B87 std Y+11,r20
  40. 39 002e 5C87 std Y+12,r21
  41. 40 0030 6D87 std Y+13,r22
  42. 41 0032 7E87 std Y+14,r23
  43. 42 0034 C901 movw r24,r18
  44. 43 0036 22E0 ldi r18,lo8(2)
  45. 44 0038 D216 cp r13,r18
  46. 45 003a 01F0 breq .L2
  47. 46 003c 44E1 ldi r20,lo8(20)
  48. 47 003e 50E0 ldi r21,0
  49. 48 .L38:
  50. 49 0040 60E2 ldi r22,lo8(32)
  51. 50 0042 0E94 0000 call NutNetBufAlloc
  52. 51 0046 7C01 movw r14,r24
  53. 52 0048 0097 sbiw r24,0
  54. 53 004a 01F4 brne .L3
  55. 54 004c 00C0 rjmp .L41
  56. 55 .L2:
  57. 56 004e 48E1 ldi r20,lo8(24)
  58. 57 0050 50E0 ldi r21,0
  59. GAS LISTING /tmp/ccPL6KPZ.s page 2
  60. 58 0052 00C0 rjmp .L38
  61. 59 .L3:
  62. 60 0054 DC01 movw r26,r24
  63. 61 0056 1796 adiw r26,7
  64. 62 0058 0D91 ld r16,X+
  65. 63 005a 1C91 ld r17,X
  66. 64 005c 1897 sbiw r26,7+1
  67. 65 005e F801 movw r30,r16
  68. 66 0060 8081 ld r24,Z
  69. 67 0062 8F70 andi r24,lo8(15)
  70. 68 0064 8064 ori r24,lo8(64)
  71. 69 0066 8083 st Z,r24
  72. 70 0068 807F andi r24,lo8(-16)
  73. 71 006a F2E0 ldi r31,lo8(2)
  74. 72 006c DF12 cpse r13,r31
  75. 73 006e 00C0 rjmp .L6
  76. 74 0070 8660 ori r24,lo8(6)
  77. 75 0072 D801 movw r26,r16
  78. 76 0074 8C93 st X,r24
  79. 77 0076 00C0 rjmp .L7
  80. 78 .L6:
  81. 79 0078 8560 ori r24,lo8(5)
  82. 80 007a F801 movw r30,r16
  83. 81 007c 8083 st Z,r24
  84. 82 .L7:
  85. 83 007e D801 movw r26,r16
  86. 84 0080 1196 adiw r26,1
  87. 85 0082 1C92 st X,__zero_reg__
  88. 86 0084 1197 sbiw r26,1
  89. 87 0086 F701 movw r30,r14
  90. 88 0088 2185 ldd r18,Z+9
  91. 89 008a 3285 ldd r19,Z+10
  92. 90 008c 8585 ldd r24,Z+13
  93. 91 008e 9685 ldd r25,Z+14
  94. 92 0090 820F add r24,r18
  95. 93 0092 931F adc r25,r19
  96. 94 0094 2189 ldd r18,Z+17
  97. 95 0096 3289 ldd r19,Z+18
  98. 96 0098 820F add r24,r18
  99. 97 009a 931F adc r25,r19
  100. 98 /* #APP */
  101. 99 ; 309 "../../nut/include/sys/types.h" 1
  102. 100 009c 082E mov __tmp_reg__, r24
  103. 101 009e 892F mov r24, r25
  104. 102 00a0 902D mov r25, __tmp_reg__
  105. 103
  106. 104 ; 0 "" 2
  107. 105 /* #NOAPP */
  108. 106 00a2 1396 adiw r26,2+1
  109. 107 00a4 9C93 st X,r25
  110. 108 00a6 8E93 st -X,r24
  111. 109 00a8 1297 sbiw r26,2
  112. 110 00aa 1796 adiw r26,6+1
  113. 111 00ac 1C92 st X,__zero_reg__
  114. 112 00ae 1E92 st -X,__zero_reg__
  115. 113 00b0 1697 sbiw r26,6
  116. 114 00b2 B2E0 ldi r27,lo8(2)
  117. GAS LISTING /tmp/ccPL6KPZ.s page 3
  118. 115 00b4 DB12 cpse r13,r27
  119. 116 00b6 00C0 rjmp .L8
  120. 117 00b8 81E0 ldi r24,lo8(1)
  121. 118 00ba F801 movw r30,r16
  122. 119 00bc 8087 std Z+8,r24
  123. 120 00be 00C0 rjmp .L9
  124. 121 .L8:
  125. 122 00c0 80E4 ldi r24,lo8(64)
  126. 123 00c2 D801 movw r26,r16
  127. 124 00c4 1896 adiw r26,8
  128. 125 00c6 8C93 st X,r24
  129. 126 .L9:
  130. 127 00c8 F801 movw r30,r16
  131. 128 00ca D186 std Z+9,r13
  132. 129 00cc 8B84 ldd r8,Y+11
  133. 130 00ce 9C84 ldd r9,Y+12
  134. 131 00d0 AD84 ldd r10,Y+13
  135. 132 00d2 BE84 ldd r11,Y+14
  136. 133 00d4 808A std Z+16,r8
  137. 134 00d6 918A std Z+17,r9
  138. 135 00d8 A28A std Z+18,r10
  139. 136 00da B38A std Z+19,r11
  140. 137 00dc B2E0 ldi r27,lo8(2)
  141. 138 00de DB12 cpse r13,r27
  142. 139 00e0 00C0 rjmp .L10
  143. 140 00e2 80E0 ldi r24,0
  144. 141 00e4 90E0 ldi r25,0
  145. 142 00e6 A4E0 ldi r26,lo8(4)
  146. 143 00e8 B4E9 ldi r27,lo8(-108)
  147. 144 /* #APP */
  148. 145 ; 319 "../../nut/include/sys/types.h" 1
  149. 146 00ea 082E mov __tmp_reg__, r24
  150. 147 00ec 8B2F mov r24, r27
  151. 148 00ee B02D mov r27, __tmp_reg__
  152. 149 00f0 092E mov __tmp_reg__, r25
  153. 150 00f2 9A2F mov r25, r26
  154. 151 00f4 A02D mov r26, __tmp_reg__
  155. 152
  156. 153 ; 0 "" 2
  157. 154 /* #NOAPP */
  158. 155 00f6 848B std Z+20,r24
  159. 156 00f8 958B std Z+21,r25
  160. 157 00fa A68B std Z+22,r26
  161. 158 00fc B78B std Z+23,r27
  162. 159 .L10:
  163. 160 00fe FFEF ldi r31,-1
  164. 161 0100 8F16 cp r8,r31
  165. 162 0102 9F06 cpc r9,r31
  166. 163 0104 AF06 cpc r10,r31
  167. 164 0106 BF06 cpc r11,r31
  168. 165 0108 01F4 brne .+2
  169. 166 010a 00C0 rjmp .L11
  170. 167 010c D501 movw r26,r10
  171. 168 010e C401 movw r24,r8
  172. 169 /* #APP */
  173. 170 ; 319 "../../nut/include/sys/types.h" 1
  174. 171 0110 082E mov __tmp_reg__, r24
  175. GAS LISTING /tmp/ccPL6KPZ.s page 4
  176. 172 0112 8B2F mov r24, r27
  177. 173 0114 B02D mov r27, __tmp_reg__
  178. 174 0116 092E mov __tmp_reg__, r25
  179. 175 0118 9A2F mov r25, r26
  180. 176 011a A02D mov r26, __tmp_reg__
  181. 177
  182. 178 ; 0 "" 2
  183. 179 /* #NOAPP */
  184. 180 011c 8827 clr r24
  185. 181 011e 9927 clr r25
  186. 182 0120 AA27 clr r26
  187. 183 0122 B07F andi r27,240
  188. 184 0124 0097 sbiw r24,0
  189. 185 0126 A105 cpc r26,__zero_reg__
  190. 186 0128 B04E sbci r27,-32
  191. 187 012a 01F4 brne .+2
  192. 188 012c 00C0 rjmp .L43
  193. 189 012e AE01 movw r20,r28
  194. 190 0130 495F subi r20,-7
  195. 191 0132 5F4F sbci r21,-1
  196. 192 0134 C501 movw r24,r10
  197. 193 0136 B401 movw r22,r8
  198. 194 0138 0E94 0000 call NutIpRouteQuery
  199. 195 013c 5C01 movw r10,r24
  200. 196 013e 0097 sbiw r24,0
  201. 197 0140 01F4 brne .+2
  202. 198 0142 00C0 rjmp .L28
  203. 199 0144 DC01 movw r26,r24
  204. 200 0146 1F96 adiw r26,15
  205. 201 0148 CD90 ld r12,X+
  206. 202 014a DC90 ld r13,X
  207. 203 014c 5097 sbiw r26,15+1
  208. 204 014e F601 movw r30,r12
  209. 205 0150 818D ldd r24,Z+25
  210. 206 0152 928D ldd r25,Z+26
  211. 207 0154 9C01 movw r18,r24
  212. 208 /* #APP */
  213. 209 ; 309 "../../nut/include/sys/types.h" 1
  214. 210 0156 022E mov __tmp_reg__, r18
  215. 211 0158 232F mov r18, r19
  216. 212 015a 302D mov r19, __tmp_reg__
  217. 213
  218. 214 ; 0 "" 2
  219. 215 /* #NOAPP */
  220. 216 015c D801 movw r26,r16
  221. 217 015e 1596 adiw r26,4+1
  222. 218 0160 3C93 st X,r19
  223. 219 0162 2E93 st -X,r18
  224. 220 0164 1497 sbiw r26,4
  225. 221 0166 0196 adiw r24,1
  226. 222 0168 928F std Z+26,r25
  227. 223 016a 818F std Z+25,r24
  228. 224 016c 8385 ldd r24,Z+11
  229. 225 016e 9485 ldd r25,Z+12
  230. 226 0170 A585 ldd r26,Z+13
  231. 227 0172 B685 ldd r27,Z+14
  232. 228 0174 F801 movw r30,r16
  233. GAS LISTING /tmp/ccPL6KPZ.s page 5
  234. 229 0176 8487 std Z+12,r24
  235. 230 0178 9587 std Z+13,r25
  236. 231 017a A687 std Z+14,r26
  237. 232 017c B787 std Z+15,r27
  238. 233 017e 1386 std Z+11,__zero_reg__
  239. 234 0180 1286 std Z+10,__zero_reg__
  240. 235 0182 D701 movw r26,r14
  241. 236 0184 1996 adiw r26,9
  242. 237 0186 4D91 ld r20,X+
  243. 238 0188 5C91 ld r21,X
  244. 239 018a 1A97 sbiw r26,9+1
  245. 240 018c 1796 adiw r26,7
  246. 241 018e 6D91 ld r22,X+
  247. 242 0190 7C91 ld r23,X
  248. 243 0192 1897 sbiw r26,7+1
  249. 244 0194 80E0 ldi r24,0
  250. 245 0196 90E0 ldi r25,0
  251. 246 0198 0E94 0000 call NutIpChkSum
  252. 247 019c F801 movw r30,r16
  253. 248 019e 9387 std Z+11,r25
  254. 249 01a0 8287 std Z+10,r24
  255. 250 01a2 D601 movw r26,r12
  256. 251 01a4 8C91 ld r24,X
  257. 252 01a6 8630 cpi r24,lo8(6)
  258. 253 01a8 01F4 brne .L24
  259. 254 01aa 4F81 ldd r20,Y+7
  260. 255 01ac 5885 ldd r21,Y+8
  261. 256 01ae 6985 ldd r22,Y+9
  262. 257 01b0 7A85 ldd r23,Y+10
  263. 258 01b2 4115 cp r20,__zero_reg__
  264. 259 01b4 5105 cpc r21,__zero_reg__
  265. 260 01b6 6105 cpc r22,__zero_reg__
  266. 261 01b8 7105 cpc r23,__zero_reg__
  267. 262 01ba 01F4 brne .L25
  268. 263 01bc 4B85 ldd r20,Y+11
  269. 264 01be 5C85 ldd r21,Y+12
  270. 265 01c0 6D85 ldd r22,Y+13
  271. 266 01c2 7E85 ldd r23,Y+14
  272. 267 01c4 5396 adiw r26,19
  273. 268 01c6 8D91 ld r24,X+
  274. 269 01c8 9D91 ld r25,X+
  275. 270 01ca 0D90 ld __tmp_reg__,X+
  276. 271 01cc BC91 ld r27,X
  277. 272 01ce A02D mov r26,__tmp_reg__
  278. 273 01d0 842B or r24,r20
  279. 274 01d2 952B or r25,r21
  280. 275 01d4 A62B or r26,r22
  281. 276 01d6 B72B or r27,r23
  282. 277 01d8 8F3F cpi r24,-1
  283. 278 01da 9F4F sbci r25,-1
  284. 279 01dc AF4F sbci r26,-1
  285. 280 01de BF4F sbci r27,-1
  286. 281 01e0 01F4 brne .L25
  287. 282 01e2 46E0 ldi r20,lo8(6)
  288. 283 01e4 50E0 ldi r21,0
  289. 284 01e6 6FEF ldi r22,lo8(-1)
  290. 285 01e8 70E0 ldi r23,0
  291. GAS LISTING /tmp/ccPL6KPZ.s page 6
  292. 286 01ea CE01 movw r24,r28
  293. 287 01ec 0196 adiw r24,1
  294. 288 01ee 0E94 0000 call memset
  295. 289 01f2 00C0 rjmp .L26
  296. 290 .L25:
  297. 291 01f4 9E01 movw r18,r28
  298. 292 01f6 2F5F subi r18,-1
  299. 293 01f8 3F4F sbci r19,-1
  300. 294 01fa C501 movw r24,r10
  301. 295 01fc 0E94 0000 call NutArpCacheQuery
  302. 296 0200 892B or r24,r25
  303. 297 0202 01F0 breq .L26
  304. 298 .L27:
  305. 299 0204 80E0 ldi r24,0
  306. 300 0206 90E0 ldi r25,0
  307. 301 0208 00C0 rjmp .L36
  308. 302 .L26:
  309. 303 020a D601 movw r26,r12
  310. 304 020c 9396 adiw r26,35
  311. 305 020e ED91 ld r30,X+
  312. 306 0210 FC91 ld r31,X
  313. 307 0212 9497 sbiw r26,35+1
  314. 308 0214 9701 movw r18,r14
  315. 309 0216 AE01 movw r20,r28
  316. 310 0218 4F5F subi r20,-1
  317. 311 021a 5F4F sbci r21,-1
  318. 312 021c 60E0 ldi r22,0
  319. 313 021e 78E0 ldi r23,lo8(8)
  320. 314 0220 00C0 rjmp .L40
  321. 315 .L24:
  322. 316 0222 8731 cpi r24,lo8(23)
  323. 317 0224 01F4 brne .L28
  324. 318 0226 D601 movw r26,r12
  325. 319 0228 9396 adiw r26,35
  326. 320 022a ED91 ld r30,X+
  327. 321 022c FC91 ld r31,X
  328. 322 022e 9497 sbiw r26,35+1
  329. 323 0230 9701 movw r18,r14
  330. 324 0232 40E0 ldi r20,0
  331. 325 0234 50E0 ldi r21,0
  332. 326 0236 61E2 ldi r22,lo8(33)
  333. 327 0238 70E0 ldi r23,0
  334. 328 .L40:
  335. 329 023a C501 movw r24,r10
  336. 330 023c 1995 eicall
  337. 331 023e 00C0 rjmp .L36
  338. 332 .L28:
  339. 333 0240 C701 movw r24,r14
  340. 334 0242 0E94 0000 call NutNetBufFree
  341. 335 .L41:
  342. 336 0246 8FEF ldi r24,lo8(-1)
  343. 337 0248 9FEF ldi r25,lo8(-1)
  344. 338 024a 00C0 rjmp .L36
  345. 339 .L11:
  346. 340 024c 46E0 ldi r20,lo8(6)
  347. 341 024e 50E0 ldi r21,0
  348. 342 0250 6FEF ldi r22,lo8(-1)
  349. GAS LISTING /tmp/ccPL6KPZ.s page 7
  350. 343 0252 70E0 ldi r23,0
  351. 344 0254 CE01 movw r24,r28
  352. 345 0256 0196 adiw r24,1
  353. 346 0258 0E94 0000 call memset
  354. 347 .L29:
  355. 348 025c 0091 0000 lds r16,nutDeviceList
  356. 349 0260 1091 0000 lds r17,nutDeviceList+1
  357. 350 0264 7724 clr r7
  358. 351 0266 7394 inc r7
  359. 352 .L14:
  360. 353 0268 0115 cp r16,__zero_reg__
  361. 354 026a 1105 cpc r17,__zero_reg__
  362. 355 026c 01F0 breq .L27
  363. 356 026e D801 movw r26,r16
  364. 357 0270 1B96 adiw r26,11
  365. 358 0272 8C91 ld r24,X
  366. 359 0274 8330 cpi r24,lo8(3)
  367. 360 0276 01F0 breq .+2
  368. 361 0278 00C0 rjmp .L16
  369. 362 027a 60E2 ldi r22,lo8(32)
  370. 363 027c C701 movw r24,r14
  371. 364 027e 0E94 0000 call NutNetBufClonePart
  372. 365 0282 6C01 movw r12,r24
  373. 366 0284 F801 movw r30,r16
  374. 367 0286 A784 ldd r10,Z+15
  375. 368 0288 B088 ldd r11,Z+16
  376. 369 028a DC01 movw r26,r24
  377. 370 028c 1796 adiw r26,7
  378. 371 028e 8D90 ld r8,X+
  379. 372 0290 9C90 ld r9,X
  380. 373 0292 1897 sbiw r26,7+1
  381. 374 0294 F501 movw r30,r10
  382. 375 0296 818D ldd r24,Z+25
  383. 376 0298 928D ldd r25,Z+26
  384. 377 029a 9C01 movw r18,r24
  385. 378 /* #APP */
  386. 379 ; 309 "../../nut/include/sys/types.h" 1
  387. 380 029c 022E mov __tmp_reg__, r18
  388. 381 029e 232F mov r18, r19
  389. 382 02a0 302D mov r19, __tmp_reg__
  390. 383
  391. 384 ; 0 "" 2
  392. 385 /* #NOAPP */
  393. 386 02a2 D401 movw r26,r8
  394. 387 02a4 1596 adiw r26,4+1
  395. 388 02a6 3C93 st X,r19
  396. 389 02a8 2E93 st -X,r18
  397. 390 02aa 1497 sbiw r26,4
  398. 391 02ac 0196 adiw r24,1
  399. 392 02ae 928F std Z+26,r25
  400. 393 02b0 818F std Z+25,r24
  401. 394 02b2 8385 ldd r24,Z+11
  402. 395 02b4 9485 ldd r25,Z+12
  403. 396 02b6 A585 ldd r26,Z+13
  404. 397 02b8 B685 ldd r27,Z+14
  405. 398 02ba F401 movw r30,r8
  406. 399 02bc 8487 std Z+12,r24
  407. GAS LISTING /tmp/ccPL6KPZ.s page 8
  408. 400 02be 9587 std Z+13,r25
  409. 401 02c0 A687 std Z+14,r26
  410. 402 02c2 B787 std Z+15,r27
  411. 403 02c4 7086 std Z+8,r7
  412. 404 02c6 1386 std Z+11,__zero_reg__
  413. 405 02c8 1286 std Z+10,__zero_reg__
  414. 406 02ca D601 movw r26,r12
  415. 407 02cc 1996 adiw r26,9
  416. 408 02ce 4D91 ld r20,X+
  417. 409 02d0 5C91 ld r21,X
  418. 410 02d2 1A97 sbiw r26,9+1
  419. 411 02d4 1796 adiw r26,7
  420. 412 02d6 6D91 ld r22,X+
  421. 413 02d8 7C91 ld r23,X
  422. 414 02da 1897 sbiw r26,7+1
  423. 415 02dc 80E0 ldi r24,0
  424. 416 02de 90E0 ldi r25,0
  425. 417 02e0 0E94 0000 call NutIpChkSum
  426. 418 02e4 F401 movw r30,r8
  427. 419 02e6 9387 std Z+11,r25
  428. 420 02e8 8287 std Z+10,r24
  429. 421 02ea D501 movw r26,r10
  430. 422 02ec 8C91 ld r24,X
  431. 423 02ee 8630 cpi r24,lo8(6)
  432. 424 02f0 01F4 brne .L17
  433. 425 02f2 9396 adiw r26,35
  434. 426 02f4 ED91 ld r30,X+
  435. 427 02f6 FC91 ld r31,X
  436. 428 02f8 9497 sbiw r26,35+1
  437. 429 02fa 9601 movw r18,r12
  438. 430 02fc AE01 movw r20,r28
  439. 431 02fe 4F5F subi r20,-1
  440. 432 0300 5F4F sbci r21,-1
  441. 433 0302 60E0 ldi r22,0
  442. 434 0304 78E0 ldi r23,lo8(8)
  443. 435 0306 00C0 rjmp .L39
  444. 436 .L17:
  445. 437 0308 8731 cpi r24,lo8(23)
  446. 438 030a 01F0 breq .L19
  447. 439 .L20:
  448. 440 030c C601 movw r24,r12
  449. 441 030e 0E94 0000 call NutNetBufFree
  450. 442 0312 00C0 rjmp .L16
  451. 443 .L19:
  452. 444 0314 D501 movw r26,r10
  453. 445 0316 9396 adiw r26,35
  454. 446 0318 ED91 ld r30,X+
  455. 447 031a FC91 ld r31,X
  456. 448 031c 9497 sbiw r26,35+1
  457. 449 031e 9601 movw r18,r12
  458. 450 0320 40E0 ldi r20,0
  459. 451 0322 50E0 ldi r21,0
  460. 452 0324 61E2 ldi r22,lo8(33)
  461. 453 0326 70E0 ldi r23,0
  462. 454 .L39:
  463. 455 0328 C801 movw r24,r16
  464. 456 032a 1995 eicall
  465. GAS LISTING /tmp/ccPL6KPZ.s page 9
  466. 457 032c 892B or r24,r25
  467. 458 032e 01F0 breq .L20
  468. 459 .L16:
  469. 460 0330 F801 movw r30,r16
  470. 461 0332 0081 ld r16,Z
  471. 462 0334 1181 ldd r17,Z+1
  472. 463 0336 00C0 rjmp .L14
  473. 464 .L43:
  474. 465 0338 81E0 ldi r24,lo8(1)
  475. 466 033a 8983 std Y+1,r24
  476. 467 033c 1A82 std Y+2,__zero_reg__
  477. 468 033e 8EE5 ldi r24,lo8(94)
  478. 469 0340 8B83 std Y+3,r24
  479. 470 0342 8C85 ldd r24,Y+12
  480. 471 0344 8F77 andi r24,lo8(127)
  481. 472 0346 8C83 std Y+4,r24
  482. 473 0348 8D85 ldd r24,Y+13
  483. 474 034a 8D83 std Y+5,r24
  484. 475 034c 8E85 ldd r24,Y+14
  485. 476 034e 8E83 std Y+6,r24
  486. 477 0350 00C0 rjmp .L29
  487. 478 .L36:
  488. 479 /* epilogue start */
  489. 480 0352 2E96 adiw r28,14
  490. 481 0354 0FB6 in __tmp_reg__,__SREG__
  491. 482 0356 F894 cli
  492. 483 0358 DEBF out __SP_H__,r29
  493. 484 035a 0FBE out __SREG__,__tmp_reg__
  494. 485 035c CDBF out __SP_L__,r28
  495. 486 035e DF91 pop r29
  496. 487 0360 CF91 pop r28
  497. 488 0362 1F91 pop r17
  498. 489 0364 0F91 pop r16
  499. 490 0366 FF90 pop r15
  500. 491 0368 EF90 pop r14
  501. 492 036a DF90 pop r13
  502. 493 036c CF90 pop r12
  503. 494 036e BF90 pop r11
  504. 495 0370 AF90 pop r10
  505. 496 0372 9F90 pop r9
  506. 497 0374 8F90 pop r8
  507. 498 0376 7F90 pop r7
  508. 499 0378 0895 ret
  509. 500 .size NutIpOutput, .-NutIpOutput
  510. 501 .section .text.NutIpForward,"ax",@progbits
  511. 502 .global NutIpForward
  512. 503 .type NutIpForward, @function
  513. 504 NutIpForward:
  514. 505 /* prologue: function */
  515. 506 /* frame size = 0 */
  516. 507 /* stack size = 0 */
  517. 508 .L__stack_usage = 0
  518. 509 0000 80E0 ldi r24,0
  519. 510 0002 90E0 ldi r25,0
  520. 511 0004 0895 ret
  521. 512 .size NutIpForward, .-NutIpForward
  522. 513 .ident "GCC: (GNU) 5.3.0"
  523. GAS LISTING /tmp/ccPL6KPZ.s page 10
  524. GAS LISTING /tmp/ccPL6KPZ.s page 11
  525. DEFINED SYMBOLS
  526. *ABS*:0000000000000000 ipout.c
  527. /tmp/ccPL6KPZ.s:2 *ABS*:000000000000003e __SP_H__
  528. /tmp/ccPL6KPZ.s:3 *ABS*:000000000000003d __SP_L__
  529. /tmp/ccPL6KPZ.s:4 *ABS*:000000000000003f __SREG__
  530. /tmp/ccPL6KPZ.s:5 *ABS*:000000000000003b __RAMPZ__
  531. /tmp/ccPL6KPZ.s:6 *ABS*:0000000000000000 __tmp_reg__
  532. /tmp/ccPL6KPZ.s:7 *ABS*:0000000000000001 __zero_reg__
  533. /tmp/ccPL6KPZ.s:11 .text.NutIpOutput:0000000000000000 NutIpOutput
  534. /tmp/ccPL6KPZ.s:504 .text.NutIpForward:0000000000000000 NutIpForward
  535. UNDEFINED SYMBOLS
  536. NutNetBufAlloc
  537. NutIpRouteQuery
  538. NutIpChkSum
  539. memset
  540. NutArpCacheQuery
  541. NutNetBufFree
  542. nutDeviceList
  543. NutNetBufClonePart