ipin.lst 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. GAS LISTING /tmp/ccAz2SwU.s page 1
  2. 1 .file "ipin.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.NutIpSetInputFilter,"ax",@progbits
  10. 9 .global NutIpSetInputFilter
  11. 10 .type NutIpSetInputFilter, @function
  12. 11 NutIpSetInputFilter:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 9093 0000 sts NutIpFilter+1,r25
  18. 17 0004 8093 0000 sts NutIpFilter,r24
  19. 18 0008 0895 ret
  20. 19 .size NutIpSetInputFilter, .-NutIpSetInputFilter
  21. 20 .section .text.NutIpInput,"ax",@progbits
  22. 21 .global NutIpInput
  23. 22 .type NutIpInput, @function
  24. 23 NutIpInput:
  25. 24 0000 6F92 push r6
  26. 25 0002 7F92 push r7
  27. 26 0004 8F92 push r8
  28. 27 0006 9F92 push r9
  29. 28 0008 AF92 push r10
  30. 29 000a BF92 push r11
  31. 30 000c CF92 push r12
  32. 31 000e DF92 push r13
  33. 32 0010 EF92 push r14
  34. 33 0012 FF92 push r15
  35. 34 0014 0F93 push r16
  36. 35 0016 1F93 push r17
  37. 36 0018 CF93 push r28
  38. 37 001a DF93 push r29
  39. 38 001c 1F92 push __zero_reg__
  40. 39 001e CDB7 in r28,__SP_L__
  41. 40 0020 DEB7 in r29,__SP_H__
  42. 41 /* prologue: function */
  43. 42 /* frame size = 1 */
  44. 43 /* stack size = 15 */
  45. 44 .L__stack_usage = 15
  46. 45 0022 7C01 movw r14,r24
  47. 46 0024 3B01 movw r6,r22
  48. 47 0026 DB01 movw r26,r22
  49. 48 0028 1796 adiw r26,7
  50. 49 002a 0D91 ld r16,X+
  51. 50 002c 1C91 ld r17,X
  52. 51 002e 1897 sbiw r26,7+1
  53. 52 0030 F801 movw r30,r16
  54. 53 0032 8081 ld r24,Z
  55. 54 0034 807F andi r24,lo8(-16)
  56. 55 0036 8034 cpi r24,lo8(64)
  57. 56 0038 01F0 breq .+2
  58. 57 003a 00C0 rjmp .L38
  59. GAS LISTING /tmp/ccAz2SwU.s page 2
  60. 58 003c 8681 ldd r24,Z+6
  61. 59 003e 9781 ldd r25,Z+7
  62. 60 /* #APP */
  63. 61 ; 309 "../../nut/include/sys/types.h" 1
  64. 62 0040 082E mov __tmp_reg__, r24
  65. 63 0042 892F mov r24, r25
  66. 64 0044 902D mov r25, __tmp_reg__
  67. 65
  68. 66 ; 0 "" 2
  69. 67 /* #NOAPP */
  70. 68 0046 9F73 andi r25,63
  71. 69 0048 892B or r24,r25
  72. 70 004a 01F0 breq .+2
  73. 71 004c 00C0 rjmp .L38
  74. 72 004e E091 0000 lds r30,NutIpFilter
  75. 73 0052 F091 0000 lds r31,NutIpFilter+1
  76. 74 0056 3097 sbiw r30,0
  77. 75 0058 01F0 breq .L6
  78. 76 005a D801 movw r26,r16
  79. 77 005c 1C96 adiw r26,12
  80. 78 005e 6D91 ld r22,X+
  81. 79 0060 7D91 ld r23,X+
  82. 80 0062 8D91 ld r24,X+
  83. 81 0064 9C91 ld r25,X
  84. 82 0066 1F97 sbiw r26,12+3
  85. 83 0068 1995 eicall
  86. 84 006a 892B or r24,r25
  87. 85 006c 01F0 breq .+2
  88. 86 006e 00C0 rjmp .L38
  89. 87 .L6:
  90. 88 0070 F801 movw r30,r16
  91. 89 0072 8081 ld r24,Z
  92. 90 0074 8F70 andi r24,lo8(15)
  93. 91 0076 880F lsl r24
  94. 92 0078 880F lsl r24
  95. 93 007a 8431 cpi r24,lo8(20)
  96. 94 007c 00F4 brsh .+2
  97. 95 007e 00C0 rjmp .L38
  98. 96 0080 90E0 ldi r25,0
  99. 97 0082 D301 movw r26,r6
  100. 98 0084 1996 adiw r26,9
  101. 99 0086 CD90 ld r12,X+
  102. 100 0088 DC90 ld r13,X
  103. 101 008a 1A97 sbiw r26,9+1
  104. 102 008c C816 cp r12,r24
  105. 103 008e D906 cpc r13,r25
  106. 104 0090 04F4 brge .+2
  107. 105 0092 00C0 rjmp .L38
  108. 106 0094 4089 ldd r20,Z+16
  109. 107 0096 5189 ldd r21,Z+17
  110. 108 0098 6289 ldd r22,Z+18
  111. 109 009a 7389 ldd r23,Z+19
  112. 110 009c F701 movw r30,r14
  113. 111 009e A785 ldd r26,Z+15
  114. 112 00a0 B089 ldd r27,Z+16
  115. 113 00a2 4F3F cpi r20,-1
  116. 114 00a4 FFEF ldi r31,-1
  117. GAS LISTING /tmp/ccAz2SwU.s page 3
  118. 115 00a6 5F07 cpc r21,r31
  119. 116 00a8 6F07 cpc r22,r31
  120. 117 00aa 7F07 cpc r23,r31
  121. 118 00ac 01F4 brne .+2
  122. 119 00ae 00C0 rjmp .L24
  123. 120 00b0 4A01 movw r8,r20
  124. 121 00b2 5B01 movw r10,r22
  125. 122 00b4 20EF ldi r18,240
  126. 123 00b6 8222 and r8,r18
  127. 124 00b8 9924 clr r9
  128. 125 00ba AA24 clr r10
  129. 126 00bc BB24 clr r11
  130. 127 00be E0EE ldi r30,-32
  131. 128 00c0 8E16 cp r8,r30
  132. 129 00c2 9104 cpc r9,__zero_reg__
  133. 130 00c4 A104 cpc r10,__zero_reg__
  134. 131 00c6 B104 cpc r11,__zero_reg__
  135. 132 00c8 01F4 brne .L8
  136. 133 00ca 5D96 adiw r26,29
  137. 134 00cc 0D90 ld __tmp_reg__,X+
  138. 135 00ce BC91 ld r27,X
  139. 136 00d0 A02D mov r26,__tmp_reg__
  140. 137 .L9:
  141. 138 00d2 1097 sbiw r26,0
  142. 139 00d4 01F4 brne .+2
  143. 140 00d6 00C0 rjmp .L38
  144. 141 00d8 1896 adiw r26,8
  145. 142 00da 8D90 ld r8,X+
  146. 143 00dc 9D90 ld r9,X+
  147. 144 00de AD90 ld r10,X+
  148. 145 00e0 BC90 ld r11,X
  149. 146 00e2 1B97 sbiw r26,8+3
  150. 147 00e4 4815 cp r20,r8
  151. 148 00e6 5905 cpc r21,r9
  152. 149 00e8 6A05 cpc r22,r10
  153. 150 00ea 7B05 cpc r23,r11
  154. 151 00ec 01F4 brne .+2
  155. 152 00ee 00C0 rjmp .L22
  156. 153 00f0 0D90 ld __tmp_reg__,X+
  157. 154 00f2 BC91 ld r27,X
  158. 155 00f4 A02D mov r26,__tmp_reg__
  159. 156 00f6 00C0 rjmp .L9
  160. 157 .L8:
  161. 158 00f8 1B96 adiw r26,11
  162. 159 00fa 8D90 ld r8,X+
  163. 160 00fc 9D90 ld r9,X+
  164. 161 00fe AD90 ld r10,X+
  165. 162 0100 BC90 ld r11,X
  166. 163 0102 1E97 sbiw r26,11+3
  167. 164 0104 8114 cp r8,__zero_reg__
  168. 165 0106 9104 cpc r9,__zero_reg__
  169. 166 0108 A104 cpc r10,__zero_reg__
  170. 167 010a B104 cpc r11,__zero_reg__
  171. 168 010c 01F0 breq .L23
  172. 169 010e 4815 cp r20,r8
  173. 170 0110 5905 cpc r21,r9
  174. 171 0112 6A05 cpc r22,r10
  175. GAS LISTING /tmp/ccAz2SwU.s page 4
  176. 172 0114 7B05 cpc r23,r11
  177. 173 0116 01F4 brne .L11
  178. 174 0118 D301 movw r26,r6
  179. 175 011a 1296 adiw r26,2
  180. 176 011c 2C91 ld r18,X
  181. 177 011e 1297 sbiw r26,2
  182. 178 0120 2860 ori r18,lo8(8)
  183. 179 0122 1296 adiw r26,2
  184. 180 0124 2C93 st X,r18
  185. 181 0126 00C0 rjmp .L23
  186. 182 .L11:
  187. 183 0128 5396 adiw r26,19
  188. 184 012a 8D90 ld r8,X+
  189. 185 012c 9D90 ld r9,X+
  190. 186 012e AD90 ld r10,X+
  191. 187 0130 BC90 ld r11,X
  192. 188 0132 5697 sbiw r26,19+3
  193. 189 0134 BFEF ldi r27,-1
  194. 190 0136 8B16 cp r8,r27
  195. 191 0138 9B06 cpc r9,r27
  196. 192 013a AB06 cpc r10,r27
  197. 193 013c BB06 cpc r11,r27
  198. 194 013e 01F0 breq .L12
  199. 195 0140 8094 com r8
  200. 196 0142 9094 com r9
  201. 197 0144 A094 com r10
  202. 198 0146 B094 com r11
  203. 199 0148 4821 and r20,r8
  204. 200 014a 5921 and r21,r9
  205. 201 014c 6A21 and r22,r10
  206. 202 014e 7B21 and r23,r11
  207. 203 0150 8416 cp r8,r20
  208. 204 0152 9506 cpc r9,r21
  209. 205 0154 A606 cpc r10,r22
  210. 206 0156 B706 cpc r11,r23
  211. 207 0158 01F0 breq .L24
  212. 208 .L12:
  213. 209 015a C301 movw r24,r6
  214. 210 015c 0E94 0000 call NutIpForward
  215. 211 .L38:
  216. 212 0160 C301 movw r24,r6
  217. 213 /* epilogue start */
  218. 214 0162 0F90 pop __tmp_reg__
  219. 215 0164 DF91 pop r29
  220. 216 0166 CF91 pop r28
  221. 217 0168 1F91 pop r17
  222. 218 016a 0F91 pop r16
  223. 219 016c FF90 pop r15
  224. 220 016e EF90 pop r14
  225. 221 0170 DF90 pop r13
  226. 222 0172 CF90 pop r12
  227. 223 0174 BF90 pop r11
  228. 224 0176 AF90 pop r10
  229. 225 0178 9F90 pop r9
  230. 226 017a 8F90 pop r8
  231. 227 017c 7F90 pop r7
  232. 228 017e 6F90 pop r6
  233. GAS LISTING /tmp/ccAz2SwU.s page 5
  234. 229 0180 0C94 0000 jmp NutNetBufFree
  235. 230 .L22:
  236. 231 0184 42E0 ldi r20,lo8(2)
  237. 232 0186 00C0 rjmp .L7
  238. 233 .L23:
  239. 234 0188 40E0 ldi r20,0
  240. 235 018a 00C0 rjmp .L7
  241. 236 .L24:
  242. 237 018c 41E0 ldi r20,lo8(1)
  243. 238 .L7:
  244. 239 018e F801 movw r30,r16
  245. 240 0190 2281 ldd r18,Z+2
  246. 241 0192 3381 ldd r19,Z+3
  247. 242 /* #APP */
  248. 243 ; 309 "../../nut/include/sys/types.h" 1
  249. 244 0194 022E mov __tmp_reg__, r18
  250. 245 0196 232F mov r18, r19
  251. 246 0198 302D mov r19, __tmp_reg__
  252. 247
  253. 248 ; 0 "" 2
  254. 249 /* #NOAPP */
  255. 250 019a D301 movw r26,r6
  256. 251 019c 1E96 adiw r26,13+1
  257. 252 019e 3C93 st X,r19
  258. 253 01a0 2E93 st -X,r18
  259. 254 01a2 1D97 sbiw r26,13
  260. 255 01a4 2817 cp r18,r24
  261. 256 01a6 3907 cpc r19,r25
  262. 257 01a8 04F0 brlt .L38
  263. 258 01aa C216 cp r12,r18
  264. 259 01ac D306 cpc r13,r19
  265. 260 01ae 04F0 brlt .L38
  266. 261 01b0 1A96 adiw r26,9+1
  267. 262 01b2 9C93 st X,r25
  268. 263 01b4 8E93 st -X,r24
  269. 264 01b6 1997 sbiw r26,9
  270. 265 01b8 281B sub r18,r24
  271. 266 01ba 390B sbc r19,r25
  272. 267 01bc 1E96 adiw r26,13+1
  273. 268 01be 3C93 st X,r19
  274. 269 01c0 2E93 st -X,r18
  275. 270 01c2 1D97 sbiw r26,13
  276. 271 01c4 232B or r18,r19
  277. 272 01c6 01F0 breq .L13
  278. 273 01c8 800F add r24,r16
  279. 274 01ca 911F adc r25,r17
  280. 275 01cc 1C96 adiw r26,11+1
  281. 276 01ce 9C93 st X,r25
  282. 277 01d0 8E93 st -X,r24
  283. 278 01d2 1B97 sbiw r26,11
  284. 279 .L13:
  285. 280 01d4 E091 0000 lds r30,ip_demux
  286. 281 01d8 F091 0000 lds r31,ip_demux+1
  287. 282 01dc 3097 sbiw r30,0
  288. 283 01de 01F4 brne .L14
  289. 284 .L18:
  290. 285 01e0 F801 movw r30,r16
  291. GAS LISTING /tmp/ccAz2SwU.s page 6
  292. 286 01e2 8185 ldd r24,Z+9
  293. 287 01e4 8130 cpi r24,lo8(1)
  294. 288 01e6 01F0 breq .L16
  295. 289 01e8 8230 cpi r24,lo8(2)
  296. 290 01ea 01F4 brne .L40
  297. 291 01ec B301 movw r22,r6
  298. 292 01ee C701 movw r24,r14
  299. 293 /* epilogue start */
  300. 294 01f0 0F90 pop __tmp_reg__
  301. 295 01f2 DF91 pop r29
  302. 296 01f4 CF91 pop r28
  303. 297 01f6 1F91 pop r17
  304. 298 01f8 0F91 pop r16
  305. 299 01fa FF90 pop r15
  306. 300 01fc EF90 pop r14
  307. 301 01fe DF90 pop r13
  308. 302 0200 CF90 pop r12
  309. 303 0202 BF90 pop r11
  310. 304 0204 AF90 pop r10
  311. 305 0206 9F90 pop r9
  312. 306 0208 8F90 pop r8
  313. 307 020a 7F90 pop r7
  314. 308 020c 6F90 pop r6
  315. 309 020e 0C94 0000 jmp NutIgmpInput
  316. 310 .L14:
  317. 311 0212 B301 movw r22,r6
  318. 312 0214 C701 movw r24,r14
  319. 313 0216 4983 std Y+1,r20
  320. 314 0218 1995 eicall
  321. 315 021a 4981 ldd r20,Y+1
  322. 316 021c 892B or r24,r25
  323. 317 021e 01F4 brne .L18
  324. 318 0220 00C0 rjmp .L2
  325. 319 .L16:
  326. 320 0222 B301 movw r22,r6
  327. 321 0224 C701 movw r24,r14
  328. 322 /* epilogue start */
  329. 323 0226 0F90 pop __tmp_reg__
  330. 324 0228 DF91 pop r29
  331. 325 022a CF91 pop r28
  332. 326 022c 1F91 pop r17
  333. 327 022e 0F91 pop r16
  334. 328 0230 FF90 pop r15
  335. 329 0232 EF90 pop r14
  336. 330 0234 DF90 pop r13
  337. 331 0236 CF90 pop r12
  338. 332 0238 BF90 pop r11
  339. 333 023a AF90 pop r10
  340. 334 023c 9F90 pop r9
  341. 335 023e 8F90 pop r8
  342. 336 0240 7F90 pop r7
  343. 337 0242 6F90 pop r6
  344. 338 0244 0C94 0000 jmp NutIcmpInput
  345. 339 .L40:
  346. 340 0248 4111 cpse r20,__zero_reg__
  347. 341 024a 00C0 rjmp .L38
  348. 342 024c 8301 movw r16,r6
  349. GAS LISTING /tmp/ccAz2SwU.s page 7
  350. 343 024e 20E0 ldi r18,0
  351. 344 0250 30E0 ldi r19,0
  352. 345 0252 A901 movw r20,r18
  353. 346 0254 62E0 ldi r22,lo8(2)
  354. 347 0256 83E0 ldi r24,lo8(3)
  355. 348 0258 0E94 0000 call NutIcmpResponse
  356. 349 025c 892B or r24,r25
  357. 350 025e 01F4 brne .+2
  358. 351 0260 00C0 rjmp .L38
  359. 352 .L2:
  360. 353 /* epilogue start */
  361. 354 0262 0F90 pop __tmp_reg__
  362. 355 0264 DF91 pop r29
  363. 356 0266 CF91 pop r28
  364. 357 0268 1F91 pop r17
  365. 358 026a 0F91 pop r16
  366. 359 026c FF90 pop r15
  367. 360 026e EF90 pop r14
  368. 361 0270 DF90 pop r13
  369. 362 0272 CF90 pop r12
  370. 363 0274 BF90 pop r11
  371. 364 0276 AF90 pop r10
  372. 365 0278 9F90 pop r9
  373. 366 027a 8F90 pop r8
  374. 367 027c 7F90 pop r7
  375. 368 027e 6F90 pop r6
  376. 369 0280 0895 ret
  377. 370 .size NutIpInput, .-NutIpInput
  378. 371 .comm ip_demux,2,1
  379. 372 .local NutIpFilter
  380. 373 .comm NutIpFilter,2,1
  381. 374 .ident "GCC: (GNU) 5.3.0"
  382. 375 .global __do_clear_bss
  383. GAS LISTING /tmp/ccAz2SwU.s page 8
  384. DEFINED SYMBOLS
  385. *ABS*:0000000000000000 ipin.c
  386. /tmp/ccAz2SwU.s:2 *ABS*:000000000000003e __SP_H__
  387. /tmp/ccAz2SwU.s:3 *ABS*:000000000000003d __SP_L__
  388. /tmp/ccAz2SwU.s:4 *ABS*:000000000000003f __SREG__
  389. /tmp/ccAz2SwU.s:5 *ABS*:000000000000003b __RAMPZ__
  390. /tmp/ccAz2SwU.s:6 *ABS*:0000000000000000 __tmp_reg__
  391. /tmp/ccAz2SwU.s:7 *ABS*:0000000000000001 __zero_reg__
  392. /tmp/ccAz2SwU.s:11 .text.NutIpSetInputFilter:0000000000000000 NutIpSetInputFilter
  393. .bss:0000000000000000 NutIpFilter
  394. /tmp/ccAz2SwU.s:23 .text.NutIpInput:0000000000000000 NutIpInput
  395. *COM*:0000000000000002 ip_demux
  396. UNDEFINED SYMBOLS
  397. NutIpForward
  398. NutNetBufFree
  399. NutIgmpInput
  400. NutIcmpInput
  401. NutIcmpResponse
  402. __do_clear_bss