tcpsock.lst 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887
  1. GAS LISTING /tmp/cceUonKw.s page 1
  2. 1 .file "tcpsock.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.NutTcpDeviceIOCtl,"ax",@progbits
  10. 9 .global NutTcpDeviceIOCtl
  11. 10 .type NutTcpDeviceIOCtl, @function
  12. 11 NutTcpDeviceIOCtl:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 6B30 cpi r22,11
  18. 17 0002 7105 cpc r23,__zero_reg__
  19. 18 0004 01F0 breq .L3
  20. 19 0006 6C30 cpi r22,12
  21. 20 0008 7105 cpc r23,__zero_reg__
  22. 21 000a 01F0 breq .L4
  23. 22 000c 6A30 cpi r22,10
  24. 23 000e 7105 cpc r23,__zero_reg__
  25. 24 0010 01F4 brne .L12
  26. 25 .L4:
  27. 26 0012 FC01 movw r30,r24
  28. 27 0014 E65B subi r30,-74
  29. 28 0016 FF4F sbci r31,-1
  30. 29 0018 DC01 movw r26,r24
  31. 30 001a A25B subi r26,-78
  32. 31 001c BF4F sbci r27,-1
  33. 32 001e 2081 ld r18,Z
  34. 33 0020 3181 ldd r19,Z+1
  35. 34 0022 8D91 ld r24,X+
  36. 35 0024 9C91 ld r25,X
  37. 36 0026 B901 movw r22,r18
  38. 37 0028 681B sub r22,r24
  39. 38 002a 790B sbc r23,r25
  40. 39 002c CB01 movw r24,r22
  41. 40 002e 092E mov __tmp_reg__,r25
  42. 41 0030 000C lsl r0
  43. 42 0032 AA0B sbc r26,r26
  44. 43 0034 BB0B sbc r27,r27
  45. 44 0036 00C0 rjmp .L13
  46. 45 .L3:
  47. 46 0038 FC01 movw r30,r24
  48. 47 003a 8785 ldd r24,Z+15
  49. 48 003c 9089 ldd r25,Z+16
  50. 49 003e A0E0 ldi r26,0
  51. 50 0040 B0E0 ldi r27,0
  52. 51 .L13:
  53. 52 0042 FA01 movw r30,r20
  54. 53 0044 8083 st Z,r24
  55. 54 0046 9183 std Z+1,r25
  56. 55 0048 A283 std Z+2,r26
  57. 56 004a B383 std Z+3,r27
  58. 57 004c 80E0 ldi r24,0
  59. GAS LISTING /tmp/cceUonKw.s page 2
  60. 58 004e 90E0 ldi r25,0
  61. 59 0050 0895 ret
  62. 60 .L12:
  63. 61 0052 8FEF ldi r24,lo8(-1)
  64. 62 0054 9FEF ldi r25,lo8(-1)
  65. 63 0056 0895 ret
  66. 64 .size NutTcpDeviceIOCtl, .-NutTcpDeviceIOCtl
  67. 65 .section .text.NutTcpDeviceSelect,"ax",@progbits
  68. 66 .global NutTcpDeviceSelect
  69. 67 .type NutTcpDeviceSelect, @function
  70. 68 NutTcpDeviceSelect:
  71. 69 0000 CF92 push r12
  72. 70 0002 DF92 push r13
  73. 71 0004 EF92 push r14
  74. 72 0006 FF92 push r15
  75. 73 0008 0F93 push r16
  76. 74 000a 1F93 push r17
  77. 75 000c CF93 push r28
  78. 76 000e DF93 push r29
  79. 77 /* prologue: function */
  80. 78 /* frame size = 0 */
  81. 79 /* stack size = 8 */
  82. 80 .L__stack_usage = 8
  83. 81 0010 EC01 movw r28,r24
  84. 82 0012 8B01 movw r16,r22
  85. 83 0014 7A01 movw r14,r20
  86. 84 0016 6901 movw r12,r18
  87. 85 0018 AB01 movw r20,r22
  88. 86 001a 4170 andi r20,1
  89. 87 001c 5527 clr r21
  90. 88 001e B701 movw r22,r14
  91. 89 0020 8B5A subi r24,-85
  92. 90 0022 9F4F sbci r25,-1
  93. 91 0024 0E94 0000 call NutSelectManageWq
  94. 92 0028 A801 movw r20,r16
  95. 93 002a 4270 andi r20,2
  96. 94 002c 5527 clr r21
  97. 95 002e 9601 movw r18,r12
  98. 96 0030 B701 movw r22,r14
  99. 97 0032 CE01 movw r24,r28
  100. 98 0034 CE96 adiw r24,62
  101. 99 0036 0E94 0000 call NutSelectManageWq
  102. 100 003a 8D89 ldd r24,Y+21
  103. 101 003c 8430 cpi r24,lo8(4)
  104. 102 003e 01F4 brne .L19
  105. 103 0040 FE01 movw r30,r28
  106. 104 0042 E65B subi r30,-74
  107. 105 0044 FF4F sbci r31,-1
  108. 106 0046 8081 ld r24,Z
  109. 107 0048 9181 ldd r25,Z+1
  110. 108 004a 3496 adiw r30,4
  111. 109 004c 2081 ld r18,Z
  112. 110 004e 3181 ldd r19,Z+1
  113. 111 0050 821B sub r24,r18
  114. 112 0052 930B sbc r25,r19
  115. 113 0054 31E0 ldi r19,lo8(1)
  116. 114 0056 20E0 ldi r18,0
  117. GAS LISTING /tmp/cceUonKw.s page 3
  118. 115 0058 1816 cp __zero_reg__,r24
  119. 116 005a 1906 cpc __zero_reg__,r25
  120. 117 005c 04F0 brlt .L17
  121. 118 005e 30E0 ldi r19,0
  122. 119 .L17:
  123. 120 0060 832F mov r24,r19
  124. 121 0062 922F mov r25,r18
  125. 122 0064 4F85 ldd r20,Y+15
  126. 123 0066 5889 ldd r21,Y+16
  127. 124 0068 2B89 ldd r18,Y+19
  128. 125 006a 3C89 ldd r19,Y+20
  129. 126 006c 4217 cp r20,r18
  130. 127 006e 5307 cpc r21,r19
  131. 128 0070 00F4 brsh .L16
  132. 129 0072 8260 ori r24,2
  133. 130 0074 00C0 rjmp .L16
  134. 131 .L19:
  135. 132 0076 80E0 ldi r24,0
  136. 133 0078 90E0 ldi r25,0
  137. 134 .L16:
  138. 135 007a 2D89 ldd r18,Y+21
  139. 136 007c 2223 tst r18
  140. 137 007e 01F0 breq .L22
  141. 138 0080 2D89 ldd r18,Y+21
  142. 139 0082 2530 cpi r18,lo8(5)
  143. 140 0084 01F0 breq .L22
  144. 141 0086 2D89 ldd r18,Y+21
  145. 142 0088 2B30 cpi r18,lo8(11)
  146. 143 008a 01F4 brne .L18
  147. 144 .L22:
  148. 145 008c 83E0 ldi r24,lo8(3)
  149. 146 008e 90E0 ldi r25,0
  150. 147 .L18:
  151. 148 0090 8023 and r24,r16
  152. 149 0092 9123 and r25,r17
  153. 150 /* epilogue start */
  154. 151 0094 DF91 pop r29
  155. 152 0096 CF91 pop r28
  156. 153 0098 1F91 pop r17
  157. 154 009a 0F91 pop r16
  158. 155 009c FF90 pop r15
  159. 156 009e EF90 pop r14
  160. 157 00a0 DF90 pop r13
  161. 158 00a2 CF90 pop r12
  162. 159 00a4 0895 ret
  163. 160 .size NutTcpDeviceSelect, .-NutTcpDeviceSelect
  164. 161 .section .text.NutTcpDiscardBuffers,"ax",@progbits
  165. 162 .global NutTcpDiscardBuffers
  166. 163 .type NutTcpDiscardBuffers, @function
  167. 164 NutTcpDiscardBuffers:
  168. 165 0000 0F93 push r16
  169. 166 0002 1F93 push r17
  170. 167 0004 CF93 push r28
  171. 168 0006 DF93 push r29
  172. 169 /* prologue: function */
  173. 170 /* frame size = 0 */
  174. 171 /* stack size = 4 */
  175. GAS LISTING /tmp/cceUonKw.s page 4
  176. 172 .L__stack_usage = 4
  177. 173 0008 EC01 movw r28,r24
  178. 174 000a 8C01 movw r16,r24
  179. 175 000c 0F5A subi r16,-81
  180. 176 000e 1F4F sbci r17,-1
  181. 177 .L24:
  182. 178 0010 F801 movw r30,r16
  183. 179 0012 8081 ld r24,Z
  184. 180 0014 9181 ldd r25,Z+1
  185. 181 0016 0097 sbiw r24,0
  186. 182 0018 01F0 breq .L26
  187. 183 001a FC01 movw r30,r24
  188. 184 001c 2081 ld r18,Z
  189. 185 001e 3181 ldd r19,Z+1
  190. 186 0020 F801 movw r30,r16
  191. 187 0022 3183 std Z+1,r19
  192. 188 0024 2083 st Z,r18
  193. 189 0026 0E94 0000 call NutNetBufFree
  194. 190 002a 00C0 rjmp .L24
  195. 191 .L26:
  196. 192 002c 8AAD ldd r24,Y+58
  197. 193 002e 9BAD ldd r25,Y+59
  198. 194 0030 0097 sbiw r24,0
  199. 195 0032 01F0 breq .L30
  200. 196 0034 FC01 movw r30,r24
  201. 197 0036 2081 ld r18,Z
  202. 198 0038 3181 ldd r19,Z+1
  203. 199 003a 3BAF std Y+59,r19
  204. 200 003c 2AAF std Y+58,r18
  205. 201 003e 0E94 0000 call NutNetBufFree
  206. 202 0042 00C0 rjmp .L26
  207. 203 .L30:
  208. 204 0044 C95A subi r28,-87
  209. 205 0046 DF4F sbci r29,-1
  210. 206 .L28:
  211. 207 0048 8881 ld r24,Y
  212. 208 004a 9981 ldd r25,Y+1
  213. 209 004c 0097 sbiw r24,0
  214. 210 004e 01F0 breq .L31
  215. 211 0050 FC01 movw r30,r24
  216. 212 0052 2081 ld r18,Z
  217. 213 0054 3181 ldd r19,Z+1
  218. 214 0056 3983 std Y+1,r19
  219. 215 0058 2883 st Y,r18
  220. 216 005a 0E94 0000 call NutNetBufFree
  221. 217 005e 00C0 rjmp .L28
  222. 218 .L31:
  223. 219 /* epilogue start */
  224. 220 0060 DF91 pop r29
  225. 221 0062 CF91 pop r28
  226. 222 0064 1F91 pop r17
  227. 223 0066 0F91 pop r16
  228. 224 0068 0895 ret
  229. 225 .size NutTcpDiscardBuffers, .-NutTcpDiscardBuffers
  230. 226 .section .text.NutTcpDestroySocket,"ax",@progbits
  231. 227 .global NutTcpDestroySocket
  232. 228 .type NutTcpDestroySocket, @function
  233. GAS LISTING /tmp/cceUonKw.s page 5
  234. 229 NutTcpDestroySocket:
  235. 230 0000 CF93 push r28
  236. 231 0002 DF93 push r29
  237. 232 /* prologue: function */
  238. 233 /* frame size = 0 */
  239. 234 /* stack size = 2 */
  240. 235 .L__stack_usage = 2
  241. 236 0004 EC01 movw r28,r24
  242. 237 0006 0E94 0000 call NutTcpDiscardBuffers
  243. 238 000a 8F85 ldd r24,Y+15
  244. 239 000c 9889 ldd r25,Y+16
  245. 240 000e 892B or r24,r25
  246. 241 0010 01F0 breq .L33
  247. 242 0012 8989 ldd r24,Y+17
  248. 243 0014 9A89 ldd r25,Y+18
  249. 244 0016 0E94 0000 call free
  250. 245 .L33:
  251. 246 001a CE01 movw r24,r28
  252. 247 /* epilogue start */
  253. 248 001c DF91 pop r29
  254. 249 001e CF91 pop r28
  255. 250 0020 0C94 0000 jmp free
  256. 251 .size NutTcpDestroySocket, .-NutTcpDestroySocket
  257. 252 .section .text.NutTcpFindSocket,"ax",@progbits
  258. 253 .global NutTcpFindSocket
  259. 254 .type NutTcpFindSocket, @function
  260. 255 NutTcpFindSocket:
  261. 256 0000 8F92 push r8
  262. 257 0002 9F92 push r9
  263. 258 0004 AF92 push r10
  264. 259 0006 BF92 push r11
  265. 260 0008 EF92 push r14
  266. 261 000a FF92 push r15
  267. 262 /* prologue: function */
  268. 263 /* frame size = 0 */
  269. 264 /* stack size = 6 */
  270. 265 .L__stack_usage = 6
  271. 266 000c E090 0000 lds r14,tcpSocketList
  272. 267 0010 F090 0000 lds r15,tcpSocketList+1
  273. 268 0014 F701 movw r30,r14
  274. 269 .L38:
  275. 270 0016 3097 sbiw r30,0
  276. 271 0018 01F0 breq .L48
  277. 272 001a A28D ldd r26,Z+26
  278. 273 001c B38D ldd r27,Z+27
  279. 274 001e A817 cp r26,r24
  280. 275 0020 B907 cpc r27,r25
  281. 276 0022 01F4 brne .L39
  282. 277 0024 848C ldd r8,Z+28
  283. 278 0026 958C ldd r9,Z+29
  284. 279 0028 A68C ldd r10,Z+30
  285. 280 002a B78C ldd r11,Z+31
  286. 281 002c 8216 cp r8,r18
  287. 282 002e 9306 cpc r9,r19
  288. 283 0030 A406 cpc r10,r20
  289. 284 0032 B506 cpc r11,r21
  290. 285 0034 01F4 brne .L39
  291. GAS LISTING /tmp/cceUonKw.s page 6
  292. 286 0036 A0A1 ldd r26,Z+32
  293. 287 0038 B1A1 ldd r27,Z+33
  294. 288 003a A617 cp r26,r22
  295. 289 003c B707 cpc r27,r23
  296. 290 003e 01F4 brne .L39
  297. 291 0040 A589 ldd r26,Z+21
  298. 292 0042 AA23 tst r26
  299. 293 0044 01F0 breq .L39
  300. 294 0046 A589 ldd r26,Z+21
  301. 295 0048 AB30 cpi r26,lo8(11)
  302. 296 004a 01F4 brne .L40
  303. 297 .L39:
  304. 298 004c 0280 ldd __tmp_reg__,Z+2
  305. 299 004e F381 ldd r31,Z+3
  306. 300 0050 E02D mov r30,__tmp_reg__
  307. 301 0052 00C0 rjmp .L38
  308. 302 .L48:
  309. 303 0054 F701 movw r30,r14
  310. 304 .L42:
  311. 305 0056 3097 sbiw r30,0
  312. 306 0058 01F0 breq .L40
  313. 307 005a 2589 ldd r18,Z+21
  314. 308 005c 2130 cpi r18,lo8(1)
  315. 309 005e 01F4 brne .L43
  316. 310 0060 228D ldd r18,Z+26
  317. 311 0062 338D ldd r19,Z+27
  318. 312 0064 8217 cp r24,r18
  319. 313 0066 9307 cpc r25,r19
  320. 314 0068 01F0 breq .L40
  321. 315 .L43:
  322. 316 006a 0280 ldd __tmp_reg__,Z+2
  323. 317 006c F381 ldd r31,Z+3
  324. 318 006e E02D mov r30,__tmp_reg__
  325. 319 0070 00C0 rjmp .L42
  326. 320 .L40:
  327. 321 0072 CF01 movw r24,r30
  328. 322 /* epilogue start */
  329. 323 0074 FF90 pop r15
  330. 324 0076 EF90 pop r14
  331. 325 0078 BF90 pop r11
  332. 326 007a AF90 pop r10
  333. 327 007c 9F90 pop r9
  334. 328 007e 8F90 pop r8
  335. 329 0080 0895 ret
  336. 330 .size NutTcpFindSocket, .-NutTcpFindSocket
  337. 331 .section .text.NutTcpCreateSocket,"ax",@progbits
  338. 332 .global NutTcpCreateSocket
  339. 333 .type NutTcpCreateSocket, @function
  340. 334 NutTcpCreateSocket:
  341. 335 0000 CF93 push r28
  342. 336 0002 DF93 push r29
  343. 337 /* prologue: function */
  344. 338 /* frame size = 0 */
  345. 339 /* stack size = 2 */
  346. 340 .L__stack_usage = 2
  347. 341 0004 8091 0000 lds r24,registered
  348. 342 0008 8111 cpse r24,__zero_reg__
  349. GAS LISTING /tmp/cceUonKw.s page 7
  350. 343 000a 00C0 rjmp .L50
  351. 344 000c 60E0 ldi r22,lo8(gs(NutTcpInput))
  352. 345 000e 70E0 ldi r23,hi8(gs(NutTcpInput))
  353. 346 0010 86E0 ldi r24,lo8(6)
  354. 347 0012 0E94 0000 call NutRegisterIpHandler
  355. 348 0016 892B or r24,r25
  356. 349 0018 01F0 breq .+2
  357. 350 001a 00C0 rjmp .L54
  358. 351 001c 0E94 0000 call NutTcpInitStateMachine
  359. 352 0020 892B or r24,r25
  360. 353 0022 01F0 breq .+2
  361. 354 0024 00C0 rjmp .L54
  362. 355 0026 81E0 ldi r24,lo8(1)
  363. 356 0028 8093 0000 sts registered,r24
  364. 357 .L50:
  365. 358 002c 69E7 ldi r22,lo8(121)
  366. 359 002e 70E0 ldi r23,0
  367. 360 0030 81E0 ldi r24,lo8(1)
  368. 361 0032 90E0 ldi r25,0
  369. 362 0034 0E94 0000 call calloc
  370. 363 0038 EC01 movw r28,r24
  371. 364 003a 892B or r24,r25
  372. 365 003c 01F4 brne .+2
  373. 366 003e 00C0 rjmp .L54
  374. 367 0040 1D8A std Y+21,__zero_reg__
  375. 368 0042 84E0 ldi r24,lo8(4)
  376. 369 0044 8C83 std Y+4,r24
  377. 370 0046 80E0 ldi r24,lo8(gs(NutTcpDeviceRead))
  378. 371 0048 90E0 ldi r25,hi8(gs(NutTcpDeviceRead))
  379. 372 004a 9E83 std Y+6,r25
  380. 373 004c 8D83 std Y+5,r24
  381. 374 004e 80E0 ldi r24,lo8(gs(NutTcpDeviceWrite))
  382. 375 0050 90E0 ldi r25,hi8(gs(NutTcpDeviceWrite))
  383. 376 0052 9887 std Y+8,r25
  384. 377 0054 8F83 std Y+7,r24
  385. 378 0056 80E0 ldi r24,lo8(gs(NutTcpDeviceWrite_P))
  386. 379 0058 90E0 ldi r25,hi8(gs(NutTcpDeviceWrite_P))
  387. 380 005a 9A87 std Y+10,r25
  388. 381 005c 8987 std Y+9,r24
  389. 382 005e 80E0 ldi r24,lo8(gs(NutTcpDeviceIOCtl))
  390. 383 0060 90E0 ldi r25,hi8(gs(NutTcpDeviceIOCtl))
  391. 384 0062 9C87 std Y+12,r25
  392. 385 0064 8B87 std Y+11,r24
  393. 386 0066 80E0 ldi r24,lo8(gs(NutTcpDeviceSelect))
  394. 387 0068 90E0 ldi r25,hi8(gs(NutTcpDeviceSelect))
  395. 388 006a 9E87 std Y+14,r25
  396. 389 006c 8D87 std Y+13,r24
  397. 390 006e 0E94 0000 call NutGetTickCount
  398. 391 0072 6BA3 std Y+35,r22
  399. 392 0074 7CA3 std Y+36,r23
  400. 393 0076 8DA3 std Y+37,r24
  401. 394 0078 9EA3 std Y+38,r25
  402. 395 007a 6FA3 std Y+39,r22
  403. 396 007c 78A7 std Y+40,r23
  404. 397 007e 89A7 std Y+41,r24
  405. 398 0080 9AA7 std Y+42,r25
  406. 399 0082 6BA7 std Y+43,r22
  407. GAS LISTING /tmp/cceUonKw.s page 8
  408. 400 0084 7CA7 std Y+44,r23
  409. 401 0086 8DA7 std Y+45,r24
  410. 402 0088 9EA7 std Y+46,r25
  411. 403 008a FE01 movw r30,r28
  412. 404 008c E85B subi r30,-72
  413. 405 008e FF4F sbci r31,-1
  414. 406 0090 80E9 ldi r24,lo8(-112)
  415. 407 0092 9CE0 ldi r25,lo8(12)
  416. 408 0094 9183 std Z+1,r25
  417. 409 0096 8083 st Z,r24
  418. 410 0098 3496 adiw r30,4
  419. 411 009a 9183 std Z+1,r25
  420. 412 009c 8083 st Z,r24
  421. 413 009e 3D96 adiw r30,13
  422. 414 00a0 88E1 ldi r24,lo8(24)
  423. 415 00a2 92E0 ldi r25,lo8(2)
  424. 416 00a4 9183 std Z+1,r25
  425. 417 00a6 8083 st Z,r24
  426. 418 00a8 3696 adiw r30,6
  427. 419 00aa 28EE ldi r18,lo8(-24)
  428. 420 00ac 33E0 ldi r19,lo8(3)
  429. 421 00ae 3183 std Z+1,r19
  430. 422 00b0 2083 st Z,r18
  431. 423 00b2 2091 0000 lds r18,tcpSocketList
  432. 424 00b6 3091 0000 lds r19,tcpSocketList+1
  433. 425 00ba 3B83 std Y+3,r19
  434. 426 00bc 2A83 std Y+2,r18
  435. 427 00be 9C8B std Y+20,r25
  436. 428 00c0 8B8B std Y+19,r24
  437. 429 00c2 D093 0000 sts tcpSocketList+1,r29
  438. 430 00c6 C093 0000 sts tcpSocketList,r28
  439. 431 00ca CE01 movw r24,r28
  440. 432 00cc 00C0 rjmp .L52
  441. 433 .L54:
  442. 434 00ce 80E0 ldi r24,0
  443. 435 00d0 90E0 ldi r25,0
  444. 436 .L52:
  445. 437 /* epilogue start */
  446. 438 00d2 DF91 pop r29
  447. 439 00d4 CF91 pop r28
  448. 440 00d6 0895 ret
  449. 441 .size NutTcpCreateSocket, .-NutTcpCreateSocket
  450. 442 .section .text.NutTcpGetSockOpt,"ax",@progbits
  451. 443 .global NutTcpGetSockOpt
  452. 444 .type NutTcpGetSockOpt, @function
  453. 445 NutTcpGetSockOpt:
  454. 446 /* prologue: function */
  455. 447 /* frame size = 0 */
  456. 448 /* stack size = 0 */
  457. 449 .L__stack_usage = 0
  458. 450 0000 FA01 movw r30,r20
  459. 451 0002 0097 sbiw r24,0
  460. 452 0004 01F4 brne .+2
  461. 453 0006 00C0 rjmp .L66
  462. 454 0008 6230 cpi r22,2
  463. 455 000a 40E1 ldi r20,16
  464. 456 000c 7407 cpc r23,r20
  465. GAS LISTING /tmp/cceUonKw.s page 9
  466. 457 000e 01F0 breq .L58
  467. 458 0010 04F4 brge .L59
  468. 459 0012 6230 cpi r22,2
  469. 460 0014 7105 cpc r23,__zero_reg__
  470. 461 0016 01F0 breq .L60
  471. 462 0018 6130 cpi r22,1
  472. 463 001a 7041 sbci r23,16
  473. 464 001c 01F0 breq .L61
  474. 465 001e 00C0 rjmp .L57
  475. 466 .L59:
  476. 467 0020 6530 cpi r22,5
  477. 468 0022 40E1 ldi r20,16
  478. 469 0024 7407 cpc r23,r20
  479. 470 0026 01F0 breq .L62
  480. 471 0028 6630 cpi r22,6
  481. 472 002a 7041 sbci r23,16
  482. 473 002c 01F0 breq .L63
  483. 474 002e 00C0 rjmp .L57
  484. 475 .L60:
  485. 476 0030 3097 sbiw r30,0
  486. 477 0032 01F0 breq .L64
  487. 478 0034 2230 cpi r18,2
  488. 479 0036 3105 cpc r19,__zero_reg__
  489. 480 0038 01F0 breq .L65
  490. 481 .L64:
  491. 482 003a FC01 movw r30,r24
  492. 483 003c E959 subi r30,-103
  493. 484 003e FF4F sbci r31,-1
  494. 485 0040 26E1 ldi r18,lo8(22)
  495. 486 0042 30E0 ldi r19,0
  496. 487 0044 00C0 rjmp .L86
  497. 488 .L65:
  498. 489 0046 DC01 movw r26,r24
  499. 490 0048 A75A subi r26,-89
  500. 491 004a BF4F sbci r27,-1
  501. 492 004c 00C0 rjmp .L84
  502. 493 .L58:
  503. 494 004e 3097 sbiw r30,0
  504. 495 0050 01F0 breq .L64
  505. 496 0052 2230 cpi r18,2
  506. 497 0054 3105 cpc r19,__zero_reg__
  507. 498 0056 01F4 brne .L64
  508. 499 0058 DC01 movw r26,r24
  509. 500 005a A45B subi r26,-76
  510. 501 005c BF4F sbci r27,-1
  511. 502 .L84:
  512. 503 005e 8D91 ld r24,X+
  513. 504 0060 9C91 ld r25,X
  514. 505 0062 00C0 rjmp .L82
  515. 506 .L62:
  516. 507 0064 3097 sbiw r30,0
  517. 508 0066 01F0 breq .L64
  518. 509 0068 2430 cpi r18,4
  519. 510 006a 3105 cpc r19,__zero_reg__
  520. 511 006c 01F4 brne .L64
  521. 512 006e DC01 movw r26,r24
  522. 513 0070 AF58 subi r26,-113
  523. GAS LISTING /tmp/cceUonKw.s page 10
  524. 514 0072 BF4F sbci r27,-1
  525. 515 0074 00C0 rjmp .L85
  526. 516 .L63:
  527. 517 0076 3097 sbiw r30,0
  528. 518 0078 01F0 breq .L64
  529. 519 007a 2430 cpi r18,4
  530. 520 007c 3105 cpc r19,__zero_reg__
  531. 521 007e 01F4 brne .L64
  532. 522 0080 DC01 movw r26,r24
  533. 523 0082 A359 subi r26,-109
  534. 524 0084 BF4F sbci r27,-1
  535. 525 .L85:
  536. 526 0086 8D91 ld r24,X+
  537. 527 0088 9D91 ld r25,X+
  538. 528 008a 0D90 ld __tmp_reg__,X+
  539. 529 008c BC91 ld r27,X
  540. 530 008e A02D mov r26,__tmp_reg__
  541. 531 0090 8083 st Z,r24
  542. 532 0092 9183 std Z+1,r25
  543. 533 0094 A283 std Z+2,r26
  544. 534 0096 B383 std Z+3,r27
  545. 535 0098 00C0 rjmp .L83
  546. 536 .L61:
  547. 537 009a 3097 sbiw r30,0
  548. 538 009c 01F0 breq .L64
  549. 539 009e 2230 cpi r18,2
  550. 540 00a0 3105 cpc r19,__zero_reg__
  551. 541 00a2 01F4 brne .L64
  552. 542 00a4 DC01 movw r26,r24
  553. 543 00a6 5396 adiw r26,19
  554. 544 00a8 8D91 ld r24,X+
  555. 545 00aa 9C91 ld r25,X
  556. 546 00ac 5497 sbiw r26,19+1
  557. 547 .L82:
  558. 548 00ae 9183 std Z+1,r25
  559. 549 00b0 8083 st Z,r24
  560. 550 .L83:
  561. 551 00b2 80E0 ldi r24,0
  562. 552 00b4 90E0 ldi r25,0
  563. 553 00b6 0895 ret
  564. 554 .L57:
  565. 555 00b8 FC01 movw r30,r24
  566. 556 00ba E959 subi r30,-103
  567. 557 00bc FF4F sbci r31,-1
  568. 558 00be 2AE2 ldi r18,lo8(42)
  569. 559 00c0 30E0 ldi r19,0
  570. 560 .L86:
  571. 561 00c2 3183 std Z+1,r19
  572. 562 00c4 2083 st Z,r18
  573. 563 .L66:
  574. 564 00c6 8FEF ldi r24,lo8(-1)
  575. 565 00c8 9FEF ldi r25,lo8(-1)
  576. 566 00ca 0895 ret
  577. 567 .size NutTcpGetSockOpt, .-NutTcpGetSockOpt
  578. 568 .section .text.NutTcpConnect,"ax",@progbits
  579. 569 .global NutTcpConnect
  580. 570 .type NutTcpConnect, @function
  581. GAS LISTING /tmp/cceUonKw.s page 11
  582. 571 NutTcpConnect:
  583. 572 0000 CF92 push r12
  584. 573 0002 DF92 push r13
  585. 574 0004 EF92 push r14
  586. 575 0006 FF92 push r15
  587. 576 0008 0F93 push r16
  588. 577 000a 1F93 push r17
  589. 578 000c CF93 push r28
  590. 579 000e DF93 push r29
  591. 580 /* prologue: function */
  592. 581 /* frame size = 0 */
  593. 582 /* stack size = 8 */
  594. 583 .L__stack_usage = 8
  595. 584 0010 EC01 movw r28,r24
  596. 585 0012 6A01 movw r12,r20
  597. 586 0014 7B01 movw r14,r22
  598. 587 0016 8901 movw r16,r18
  599. 588 0018 892B or r24,r25
  600. 589 001a 01F4 brne .+2
  601. 590 001c 00C0 rjmp .L100
  602. 591 001e 8D89 ldd r24,Y+21
  603. 592 0020 8130 cpi r24,lo8(1)
  604. 593 0022 01F4 brne .L89
  605. 594 0024 C959 subi r28,-103
  606. 595 0026 DF4F sbci r29,-1
  607. 596 0028 8DE2 ldi r24,lo8(45)
  608. 597 002a 90E0 ldi r25,0
  609. 598 002c 00C0 rjmp .L107
  610. 599 .L89:
  611. 600 002e 8D89 ldd r24,Y+21
  612. 601 0030 8823 tst r24
  613. 602 0032 01F0 breq .L101
  614. 603 0034 C959 subi r28,-103
  615. 604 0036 DF4F sbci r29,-1
  616. 605 0038 88E3 ldi r24,lo8(56)
  617. 606 003a 90E0 ldi r25,0
  618. 607 003c 00C0 rjmp .L107
  619. 608 .L101:
  620. 609 003e 0E94 0000 call NutGetMillis
  621. 610 0042 2091 0000 lds r18,last_local_port
  622. 611 0046 3091 0000 lds r19,last_local_port+1
  623. 612 004a 2115 cp r18,__zero_reg__
  624. 613 004c 3105 cpc r19,__zero_reg__
  625. 614 004e 01F0 breq .L91
  626. 615 0050 6E70 andi r22,14
  627. 616 0052 7727 clr r23
  628. 617 0054 6160 ori r22,1
  629. 618 0056 620F add r22,r18
  630. 619 0058 731F adc r23,r19
  631. 620 .L91:
  632. 621 005a 7093 0000 sts last_local_port+1,r23
  633. 622 005e 6093 0000 sts last_local_port,r22
  634. 623 0062 8091 0000 lds r24,last_local_port
  635. 624 0066 9091 0000 lds r25,last_local_port+1
  636. 625 006a 906C ori r25,192
  637. 626 006c 9093 0000 sts last_local_port+1,r25
  638. 627 0070 8093 0000 sts last_local_port,r24
  639. GAS LISTING /tmp/cceUonKw.s page 12
  640. 628 0074 E091 0000 lds r30,tcpSocketList
  641. 629 0078 F091 0000 lds r31,tcpSocketList+1
  642. 630 .L93:
  643. 631 007c 3097 sbiw r30,0
  644. 632 007e 01F0 breq .L108
  645. 633 0080 9C01 movw r18,r24
  646. 634 /* #APP */
  647. 635 ; 309 "../../nut/include/sys/types.h" 1
  648. 636 0082 022E mov __tmp_reg__, r18
  649. 637 0084 232F mov r18, r19
  650. 638 0086 302D mov r19, __tmp_reg__
  651. 639
  652. 640 ; 0 "" 2
  653. 641 /* #NOAPP */
  654. 642 0088 428D ldd r20,Z+26
  655. 643 008a 538D ldd r21,Z+27
  656. 644 008c 4217 cp r20,r18
  657. 645 008e 5307 cpc r21,r19
  658. 646 0090 01F0 breq .L101
  659. 647 0092 0280 ldd __tmp_reg__,Z+2
  660. 648 0094 F381 ldd r31,Z+3
  661. 649 0096 E02D mov r30,__tmp_reg__
  662. 650 0098 00C0 rjmp .L93
  663. 651 .L109:
  664. 652 009a C959 subi r28,-103
  665. 653 009c DF4F sbci r29,-1
  666. 654 009e 81E4 ldi r24,lo8(65)
  667. 655 00a0 90E0 ldi r25,0
  668. 656 .L107:
  669. 657 00a2 9983 std Y+1,r25
  670. 658 00a4 8883 st Y,r24
  671. 659 00a6 00C0 rjmp .L100
  672. 660 .L108:
  673. 661 /* #APP */
  674. 662 ; 309 "../../nut/include/sys/types.h" 1
  675. 663 00a8 082E mov __tmp_reg__, r24
  676. 664 00aa 892F mov r24, r25
  677. 665 00ac 902D mov r25, __tmp_reg__
  678. 666
  679. 667 ; 0 "" 2
  680. 668 /* #NOAPP */
  681. 669 00ae 9B8F std Y+27,r25
  682. 670 00b0 8A8F std Y+26,r24
  683. 671 /* #APP */
  684. 672 ; 309 "../../nut/include/sys/types.h" 1
  685. 673 00b2 002E mov __tmp_reg__, r16
  686. 674 00b4 012F mov r16, r17
  687. 675 00b6 102D mov r17, __tmp_reg__
  688. 676
  689. 677 ; 0 "" 2
  690. 678 /* #NOAPP */
  691. 679 00b8 19A3 std Y+33,r17
  692. 680 00ba 08A3 std Y+32,r16
  693. 681 00bc CC8E std Y+28,r12
  694. 682 00be DD8E std Y+29,r13
  695. 683 00c0 EE8E std Y+30,r14
  696. 684 00c2 FF8E std Y+31,r15
  697. GAS LISTING /tmp/cceUonKw.s page 13
  698. 685 00c4 40E0 ldi r20,0
  699. 686 00c6 50E0 ldi r21,0
  700. 687 00c8 C701 movw r24,r14
  701. 688 00ca B601 movw r22,r12
  702. 689 00cc 0E94 0000 call NutIpRouteQuery
  703. 690 00d0 0097 sbiw r24,0
  704. 691 00d2 01F0 breq .L109
  705. 692 00d4 DC01 movw r26,r24
  706. 693 00d6 1F96 adiw r26,15
  707. 694 00d8 ED91 ld r30,X+
  708. 695 00da FC91 ld r31,X
  709. 696 00dc 5097 sbiw r26,15+1
  710. 697 00de 8385 ldd r24,Z+11
  711. 698 00e0 9485 ldd r25,Z+12
  712. 699 00e2 A585 ldd r26,Z+13
  713. 700 00e4 B685 ldd r27,Z+14
  714. 701 00e6 8E8B std Y+22,r24
  715. 702 00e8 9F8B std Y+23,r25
  716. 703 00ea A88F std Y+24,r26
  717. 704 00ec B98F std Y+25,r27
  718. 705 00ee CE01 movw r24,r28
  719. 706 /* epilogue start */
  720. 707 00f0 DF91 pop r29
  721. 708 00f2 CF91 pop r28
  722. 709 00f4 1F91 pop r17
  723. 710 00f6 0F91 pop r16
  724. 711 00f8 FF90 pop r15
  725. 712 00fa EF90 pop r14
  726. 713 00fc DF90 pop r13
  727. 714 00fe CF90 pop r12
  728. 715 0100 0C94 0000 jmp NutTcpStateActiveOpenEvent
  729. 716 .L100:
  730. 717 0104 8FEF ldi r24,lo8(-1)
  731. 718 0106 9FEF ldi r25,lo8(-1)
  732. 719 /* epilogue start */
  733. 720 0108 DF91 pop r29
  734. 721 010a CF91 pop r28
  735. 722 010c 1F91 pop r17
  736. 723 010e 0F91 pop r16
  737. 724 0110 FF90 pop r15
  738. 725 0112 EF90 pop r14
  739. 726 0114 DF90 pop r13
  740. 727 0116 CF90 pop r12
  741. 728 0118 0895 ret
  742. 729 .size NutTcpConnect, .-NutTcpConnect
  743. 730 .section .text.NutTcpAccept,"ax",@progbits
  744. 731 .global NutTcpAccept
  745. 732 .type NutTcpAccept, @function
  746. 733 NutTcpAccept:
  747. 734 /* prologue: function */
  748. 735 /* frame size = 0 */
  749. 736 /* stack size = 0 */
  750. 737 .L__stack_usage = 0
  751. 738 /* #APP */
  752. 739 ; 309 "../../nut/include/sys/types.h" 1
  753. 740 0000 062E mov __tmp_reg__, r22
  754. 741 0002 672F mov r22, r23
  755. GAS LISTING /tmp/cceUonKw.s page 14
  756. 742 0004 702D mov r23, __tmp_reg__
  757. 743
  758. 744 ; 0 "" 2
  759. 745 /* #NOAPP */
  760. 746 0006 FC01 movw r30,r24
  761. 747 0008 738F std Z+27,r23
  762. 748 000a 628F std Z+26,r22
  763. 749 000c 0C94 0000 jmp NutTcpStatePassiveOpenEvent
  764. 750 .size NutTcpAccept, .-NutTcpAccept
  765. 751 .section .text.NutTcpSend,"ax",@progbits
  766. 752 .global NutTcpSend
  767. 753 .type NutTcpSend, @function
  768. 754 NutTcpSend:
  769. 755 0000 8F92 push r8
  770. 756 0002 9F92 push r9
  771. 757 0004 AF92 push r10
  772. 758 0006 BF92 push r11
  773. 759 0008 CF92 push r12
  774. 760 000a DF92 push r13
  775. 761 000c EF92 push r14
  776. 762 000e FF92 push r15
  777. 763 0010 0F93 push r16
  778. 764 0012 1F93 push r17
  779. 765 0014 CF93 push r28
  780. 766 0016 DF93 push r29
  781. 767 /* prologue: function */
  782. 768 /* frame size = 0 */
  783. 769 /* stack size = 12 */
  784. 770 .L__stack_usage = 12
  785. 771 0018 EC01 movw r28,r24
  786. 772 001a 7B01 movw r14,r22
  787. 773 001c 8A01 movw r16,r20
  788. 774 001e 0E94 0000 call NutThreadYield
  789. 775 0022 2097 sbiw r28,0
  790. 776 0024 01F0 breq .L125
  791. 777 0026 E114 cp r14,__zero_reg__
  792. 778 0028 F104 cpc r15,__zero_reg__
  793. 779 002a 01F4 brne .L114
  794. 780 .L115:
  795. 781 002c 80E0 ldi r24,0
  796. 782 002e 90E0 ldi r25,0
  797. 783 0030 00C0 rjmp .L113
  798. 784 .L114:
  799. 785 0032 0115 cp r16,__zero_reg__
  800. 786 0034 1105 cpc r17,__zero_reg__
  801. 787 0036 01F0 breq .L115
  802. 788 0038 6E01 movw r12,r28
  803. 789 003a 49E5 ldi r20,89
  804. 790 003c C40E add r12,r20
  805. 791 003e D11C adc r13,__zero_reg__
  806. 792 0040 F601 movw r30,r12
  807. 793 0042 8081 ld r24,Z
  808. 794 0044 9181 ldd r25,Z+1
  809. 795 0046 8017 cp r24,r16
  810. 796 0048 9107 cpc r25,r17
  811. 797 004a 00F4 brsh .L116
  812. 798 004c 8C01 movw r16,r24
  813. GAS LISTING /tmp/cceUonKw.s page 15
  814. 799 .L116:
  815. 800 004e 4E01 movw r8,r28
  816. 801 0050 F1E7 ldi r31,113
  817. 802 0052 8F0E add r8,r31
  818. 803 0054 911C adc r9,__zero_reg__
  819. 804 0056 5E01 movw r10,r28
  820. 805 0058 4CE3 ldi r20,60
  821. 806 005a A40E add r10,r20
  822. 807 005c B11C adc r11,__zero_reg__
  823. 808 .L120:
  824. 809 005e 8D89 ldd r24,Y+21
  825. 810 0060 8430 cpi r24,lo8(4)
  826. 811 0062 01F0 breq .L117
  827. 812 0064 C959 subi r28,-103
  828. 813 0066 DF4F sbci r29,-1
  829. 814 0068 89E3 ldi r24,lo8(57)
  830. 815 006a 90E0 ldi r25,0
  831. 816 006c 9983 std Y+1,r25
  832. 817 006e 8883 st Y,r24
  833. 818 .L125:
  834. 819 0070 8FEF ldi r24,lo8(-1)
  835. 820 0072 9FEF ldi r25,lo8(-1)
  836. 821 0074 00C0 rjmp .L113
  837. 822 .L117:
  838. 823 0076 8BA5 ldd r24,Y+43
  839. 824 0078 9CA5 ldd r25,Y+44
  840. 825 007a 2FA1 ldd r18,Y+39
  841. 826 007c 38A5 ldd r19,Y+40
  842. 827 007e 821B sub r24,r18
  843. 828 0080 930B sbc r25,r19
  844. 829 0082 AC01 movw r20,r24
  845. 830 0084 5695 lsr r21
  846. 831 0086 4795 ror r20
  847. 832 0088 5695 lsr r21
  848. 833 008a 4795 ror r20
  849. 834 008c F601 movw r30,r12
  850. 835 008e 2081 ld r18,Z
  851. 836 0090 3181 ldd r19,Z+1
  852. 837 0092 4217 cp r20,r18
  853. 838 0094 5307 cpc r21,r19
  854. 839 0096 00F4 brsh .L118
  855. 840 0098 2FA9 ldd r18,Y+55
  856. 841 009a 38AD ldd r19,Y+56
  857. 842 009c A901 movw r20,r18
  858. 843 009e 481B sub r20,r24
  859. 844 00a0 590B sbc r21,r25
  860. 845 00a2 4017 cp r20,r16
  861. 846 00a4 5107 cpc r21,r17
  862. 847 00a6 00F4 brsh .L119
  863. 848 .L118:
  864. 849 00a8 F401 movw r30,r8
  865. 850 00aa 4081 ld r20,Z
  866. 851 00ac 5181 ldd r21,Z+1
  867. 852 00ae 6281 ldd r22,Z+2
  868. 853 00b0 7381 ldd r23,Z+3
  869. 854 00b2 C501 movw r24,r10
  870. 855 00b4 0E94 0000 call NutEventWait
  871. GAS LISTING /tmp/cceUonKw.s page 16
  872. 856 00b8 892B or r24,r25
  873. 857 00ba 01F0 breq .L120
  874. 858 00bc 00C0 rjmp .L115
  875. 859 .L119:
  876. 860 00be 8AA1 ldd r24,Y+34
  877. 861 00c0 8061 ori r24,lo8(16)
  878. 862 00c2 8AA3 std Y+34,r24
  879. 863 00c4 A801 movw r20,r16
  880. 864 00c6 B701 movw r22,r14
  881. 865 00c8 CE01 movw r24,r28
  882. 866 00ca 0E94 0000 call NutTcpOutput
  883. 867 00ce 892B or r24,r25
  884. 868 00d0 01F4 brne .L125
  885. 869 00d2 C801 movw r24,r16
  886. 870 .L113:
  887. 871 /* epilogue start */
  888. 872 00d4 DF91 pop r29
  889. 873 00d6 CF91 pop r28
  890. 874 00d8 1F91 pop r17
  891. 875 00da 0F91 pop r16
  892. 876 00dc FF90 pop r15
  893. 877 00de EF90 pop r14
  894. 878 00e0 DF90 pop r13
  895. 879 00e2 CF90 pop r12
  896. 880 00e4 BF90 pop r11
  897. 881 00e6 AF90 pop r10
  898. 882 00e8 9F90 pop r9
  899. 883 00ea 8F90 pop r8
  900. 884 00ec 0895 ret
  901. 885 .size NutTcpSend, .-NutTcpSend
  902. 886 .section .text.SendBuffer,"ax",@progbits
  903. 887 .type SendBuffer, @function
  904. 888 SendBuffer:
  905. 889 0000 CF92 push r12
  906. 890 0002 DF92 push r13
  907. 891 0004 EF92 push r14
  908. 892 0006 FF92 push r15
  909. 893 0008 0F93 push r16
  910. 894 000a 1F93 push r17
  911. 895 000c CF93 push r28
  912. 896 000e DF93 push r29
  913. 897 /* prologue: function */
  914. 898 /* frame size = 0 */
  915. 899 /* stack size = 8 */
  916. 900 .L__stack_usage = 8
  917. 901 0010 7C01 movw r14,r24
  918. 902 0012 6B01 movw r12,r22
  919. 903 0014 8A01 movw r16,r20
  920. 904 0016 C0E0 ldi r28,0
  921. 905 0018 D0E0 ldi r29,0
  922. 906 .L127:
  923. 907 001a C017 cp r28,r16
  924. 908 001c D107 cpc r29,r17
  925. 909 001e 04F4 brge .L131
  926. 910 0020 A801 movw r20,r16
  927. 911 0022 4C1B sub r20,r28
  928. 912 0024 5D0B sbc r21,r29
  929. GAS LISTING /tmp/cceUonKw.s page 17
  930. 913 0026 B601 movw r22,r12
  931. 914 0028 6C0F add r22,r28
  932. 915 002a 7D1F adc r23,r29
  933. 916 002c C701 movw r24,r14
  934. 917 002e 0E94 0000 call NutTcpSend
  935. 918 0032 1816 cp __zero_reg__,r24
  936. 919 0034 1906 cpc __zero_reg__,r25
  937. 920 0036 04F4 brge .L130
  938. 921 0038 C80F add r28,r24
  939. 922 003a D91F adc r29,r25
  940. 923 003c 00C0 rjmp .L127
  941. 924 .L131:
  942. 925 003e CE01 movw r24,r28
  943. 926 0040 00C0 rjmp .L128
  944. 927 .L130:
  945. 928 0042 8FEF ldi r24,lo8(-1)
  946. 929 0044 9FEF ldi r25,lo8(-1)
  947. 930 .L128:
  948. 931 /* epilogue start */
  949. 932 0046 DF91 pop r29
  950. 933 0048 CF91 pop r28
  951. 934 004a 1F91 pop r17
  952. 935 004c 0F91 pop r16
  953. 936 004e FF90 pop r15
  954. 937 0050 EF90 pop r14
  955. 938 0052 DF90 pop r13
  956. 939 0054 CF90 pop r12
  957. 940 0056 0895 ret
  958. 941 .size SendBuffer, .-SendBuffer
  959. 942 .section .text.NutTcpDeviceWrite,"ax",@progbits
  960. 943 .global NutTcpDeviceWrite
  961. 944 .type NutTcpDeviceWrite, @function
  962. 945 NutTcpDeviceWrite:
  963. 946 0000 AF92 push r10
  964. 947 0002 BF92 push r11
  965. 948 0004 CF92 push r12
  966. 949 0006 DF92 push r13
  967. 950 0008 EF92 push r14
  968. 951 000a FF92 push r15
  969. 952 000c 0F93 push r16
  970. 953 000e 1F93 push r17
  971. 954 0010 CF93 push r28
  972. 955 0012 DF93 push r29
  973. 956 /* prologue: function */
  974. 957 /* frame size = 0 */
  975. 958 /* stack size = 10 */
  976. 959 .L__stack_usage = 10
  977. 960 0014 EC01 movw r28,r24
  978. 961 0016 7B01 movw r14,r22
  979. 962 0018 8A01 movw r16,r20
  980. 963 001a 892B or r24,r25
  981. 964 001c 01F0 breq .L154
  982. 965 001e 8D89 ldd r24,Y+21
  983. 966 0020 8430 cpi r24,lo8(4)
  984. 967 0022 01F0 breq .L135
  985. 968 0024 C959 subi r28,-103
  986. 969 0026 DF4F sbci r29,-1
  987. GAS LISTING /tmp/cceUonKw.s page 18
  988. 970 0028 89E3 ldi r24,lo8(57)
  989. 971 002a 90E0 ldi r25,0
  990. 972 002c 9983 std Y+1,r25
  991. 973 002e 8883 st Y,r24
  992. 974 .L154:
  993. 975 0030 8FEF ldi r24,lo8(-1)
  994. 976 0032 9FEF ldi r25,lo8(-1)
  995. 977 0034 00C0 rjmp .L134
  996. 978 .L135:
  997. 979 0036 8F85 ldd r24,Y+15
  998. 980 0038 9889 ldd r25,Y+16
  999. 981 003a 4115 cp r20,__zero_reg__
  1000. 982 003c 5105 cpc r21,__zero_reg__
  1001. 983 003e 01F4 brne .L136
  1002. 984 0040 0097 sbiw r24,0
  1003. 985 0042 01F4 brne .+2
  1004. 986 0044 00C0 rjmp .L148
  1005. 987 0046 6989 ldd r22,Y+17
  1006. 988 0048 7A89 ldd r23,Y+18
  1007. 989 004a AC01 movw r20,r24
  1008. 990 004c CE01 movw r24,r28
  1009. 991 004e 0E94 0000 call SendBuffer
  1010. 992 0052 2989 ldd r18,Y+17
  1011. 993 0054 3A89 ldd r19,Y+18
  1012. 994 0056 97FF sbrs r25,7
  1013. 995 0058 00C0 rjmp .L137
  1014. 996 005a C901 movw r24,r18
  1015. 997 005c 00C0 rjmp .L156
  1016. 998 .L137:
  1017. 999 005e C901 movw r24,r18
  1018. 1000 0060 0E94 0000 call free
  1019. 1001 0064 188A std Y+16,__zero_reg__
  1020. 1002 0066 1F86 std Y+15,__zero_reg__
  1021. 1003 0068 00C0 rjmp .L148
  1022. 1004 .L136:
  1023. 1005 006a 6B89 ldd r22,Y+19
  1024. 1006 006c 7C89 ldd r23,Y+20
  1025. 1007 006e 0097 sbiw r24,0
  1026. 1008 0070 01F4 brne .L138
  1027. 1009 0072 4617 cp r20,r22
  1028. 1010 0074 5707 cpc r21,r23
  1029. 1011 0076 00F0 brlo .L149
  1030. 1012 0078 CA01 movw r24,r20
  1031. 1013 007a 0E94 0000 call __udivmodhi4
  1032. 1014 007e 6C01 movw r12,r24
  1033. 1015 0080 5801 movw r10,r16
  1034. 1016 0082 A81A sub r10,r24
  1035. 1017 0084 B90A sbc r11,r25
  1036. 1018 0086 A501 movw r20,r10
  1037. 1019 0088 B701 movw r22,r14
  1038. 1020 008a CE01 movw r24,r28
  1039. 1021 008c 0E94 0000 call SendBuffer
  1040. 1022 0090 97FD sbrc r25,7
  1041. 1023 0092 00C0 rjmp .L154
  1042. 1024 0094 C114 cp r12,__zero_reg__
  1043. 1025 0096 D104 cpc r13,__zero_reg__
  1044. 1026 0098 01F4 brne .+2
  1045. GAS LISTING /tmp/cceUonKw.s page 19
  1046. 1027 009a 00C0 rjmp .L150
  1047. 1028 009c EA0C add r14,r10
  1048. 1029 009e FB1C adc r15,r11
  1049. 1030 00a0 00C0 rjmp .L139
  1050. 1031 .L149:
  1051. 1032 00a2 6A01 movw r12,r20
  1052. 1033 .L139:
  1053. 1034 00a4 8B89 ldd r24,Y+19
  1054. 1035 00a6 9C89 ldd r25,Y+20
  1055. 1036 00a8 0E94 0000 call malloc
  1056. 1037 00ac 9A8B std Y+18,r25
  1057. 1038 00ae 898B std Y+17,r24
  1058. 1039 00b0 0097 sbiw r24,0
  1059. 1040 00b2 01F4 brne .+2
  1060. 1041 00b4 00C0 rjmp .L154
  1061. 1042 00b6 A601 movw r20,r12
  1062. 1043 00b8 B701 movw r22,r14
  1063. 1044 00ba 0E94 0000 call memcpy
  1064. 1045 00be D88A std Y+16,r13
  1065. 1046 00c0 CF86 std Y+15,r12
  1066. 1047 00c2 00C0 rjmp .L150
  1067. 1048 .L138:
  1068. 1049 00c4 E989 ldd r30,Y+17
  1069. 1050 00c6 FA89 ldd r31,Y+18
  1070. 1051 00c8 9C01 movw r18,r24
  1071. 1052 00ca 240F add r18,r20
  1072. 1053 00cc 351F adc r19,r21
  1073. 1054 00ce 2617 cp r18,r22
  1074. 1055 00d0 3707 cpc r19,r23
  1075. 1056 00d2 00F4 brsh .L141
  1076. 1057 00d4 B701 movw r22,r14
  1077. 1058 00d6 8E0F add r24,r30
  1078. 1059 00d8 9F1F adc r25,r31
  1079. 1060 00da 0E94 0000 call memcpy
  1080. 1061 00de 8F85 ldd r24,Y+15
  1081. 1062 00e0 9889 ldd r25,Y+16
  1082. 1063 00e2 800F add r24,r16
  1083. 1064 00e4 911F adc r25,r17
  1084. 1065 00e6 988B std Y+16,r25
  1085. 1066 00e8 8F87 std Y+15,r24
  1086. 1067 00ea 00C0 rjmp .L150
  1087. 1068 .L141:
  1088. 1069 00ec 6B01 movw r12,r22
  1089. 1070 00ee C81A sub r12,r24
  1090. 1071 00f0 D90A sbc r13,r25
  1091. 1072 00f2 A601 movw r20,r12
  1092. 1073 00f4 B701 movw r22,r14
  1093. 1074 00f6 8E0F add r24,r30
  1094. 1075 00f8 9F1F adc r25,r31
  1095. 1076 00fa 0E94 0000 call memcpy
  1096. 1077 00fe EC0C add r14,r12
  1097. 1078 0100 FD1C adc r15,r13
  1098. 1079 0102 4B89 ldd r20,Y+19
  1099. 1080 0104 5C89 ldd r21,Y+20
  1100. 1081 0106 6989 ldd r22,Y+17
  1101. 1082 0108 7A89 ldd r23,Y+18
  1102. 1083 010a CE01 movw r24,r28
  1103. GAS LISTING /tmp/cceUonKw.s page 20
  1104. 1084 010c 0E94 0000 call SendBuffer
  1105. 1085 0110 97FD sbrc r25,7
  1106. 1086 0112 00C0 rjmp .L155
  1107. 1087 0114 9801 movw r18,r16
  1108. 1088 0116 2C19 sub r18,r12
  1109. 1089 0118 3D09 sbc r19,r13
  1110. 1090 011a 6B89 ldd r22,Y+19
  1111. 1091 011c 7C89 ldd r23,Y+20
  1112. 1092 011e 2617 cp r18,r22
  1113. 1093 0120 3707 cpc r19,r23
  1114. 1094 0122 00F0 brlo .L143
  1115. 1095 0124 C901 movw r24,r18
  1116. 1096 0126 0E94 0000 call __udivmodhi4
  1117. 1097 012a 5C01 movw r10,r24
  1118. 1098 012c 6901 movw r12,r18
  1119. 1099 012e C81A sub r12,r24
  1120. 1100 0130 D90A sbc r13,r25
  1121. 1101 0132 A601 movw r20,r12
  1122. 1102 0134 B701 movw r22,r14
  1123. 1103 0136 CE01 movw r24,r28
  1124. 1104 0138 0E94 0000 call SendBuffer
  1125. 1105 013c 97FF sbrs r25,7
  1126. 1106 013e 00C0 rjmp .L144
  1127. 1107 .L155:
  1128. 1108 0140 8989 ldd r24,Y+17
  1129. 1109 0142 9A89 ldd r25,Y+18
  1130. 1110 .L156:
  1131. 1111 0144 0E94 0000 call free
  1132. 1112 0148 188A std Y+16,__zero_reg__
  1133. 1113 014a 1F86 std Y+15,__zero_reg__
  1134. 1114 014c 00C0 rjmp .L154
  1135. 1115 .L144:
  1136. 1116 014e EC0C add r14,r12
  1137. 1117 0150 FD1C adc r15,r13
  1138. 1118 0152 00C0 rjmp .L145
  1139. 1119 .L143:
  1140. 1120 0154 5901 movw r10,r18
  1141. 1121 .L145:
  1142. 1122 0156 8989 ldd r24,Y+17
  1143. 1123 0158 9A89 ldd r25,Y+18
  1144. 1124 015a A114 cp r10,__zero_reg__
  1145. 1125 015c B104 cpc r11,__zero_reg__
  1146. 1126 015e 01F0 breq .L146
  1147. 1127 0160 A501 movw r20,r10
  1148. 1128 0162 B701 movw r22,r14
  1149. 1129 0164 0E94 0000 call memcpy
  1150. 1130 0168 00C0 rjmp .L147
  1151. 1131 .L146:
  1152. 1132 016a 0E94 0000 call free
  1153. 1133 .L147:
  1154. 1134 016e B88A std Y+16,r11
  1155. 1135 0170 AF86 std Y+15,r10
  1156. 1136 0172 00C0 rjmp .L150
  1157. 1137 .L148:
  1158. 1138 0174 80E0 ldi r24,0
  1159. 1139 0176 90E0 ldi r25,0
  1160. 1140 0178 00C0 rjmp .L134
  1161. GAS LISTING /tmp/cceUonKw.s page 21
  1162. 1141 .L150:
  1163. 1142 017a C801 movw r24,r16
  1164. 1143 .L134:
  1165. 1144 /* epilogue start */
  1166. 1145 017c DF91 pop r29
  1167. 1146 017e CF91 pop r28
  1168. 1147 0180 1F91 pop r17
  1169. 1148 0182 0F91 pop r16
  1170. 1149 0184 FF90 pop r15
  1171. 1150 0186 EF90 pop r14
  1172. 1151 0188 DF90 pop r13
  1173. 1152 018a CF90 pop r12
  1174. 1153 018c BF90 pop r11
  1175. 1154 018e AF90 pop r10
  1176. 1155 0190 0895 ret
  1177. 1156 .size NutTcpDeviceWrite, .-NutTcpDeviceWrite
  1178. 1157 .section .text.NutTcpSetSockOpt,"ax",@progbits
  1179. 1158 .global NutTcpSetSockOpt
  1180. 1159 .type NutTcpSetSockOpt, @function
  1181. 1160 NutTcpSetSockOpt:
  1182. 1161 0000 0F93 push r16
  1183. 1162 0002 1F93 push r17
  1184. 1163 0004 CF93 push r28
  1185. 1164 0006 DF93 push r29
  1186. 1165 /* prologue: function */
  1187. 1166 /* frame size = 0 */
  1188. 1167 /* stack size = 4 */
  1189. 1168 .L__stack_usage = 4
  1190. 1169 0008 EC01 movw r28,r24
  1191. 1170 000a 8A01 movw r16,r20
  1192. 1171 000c 892B or r24,r25
  1193. 1172 000e 01F4 brne .+2
  1194. 1173 0010 00C0 rjmp .L169
  1195. 1174 0012 6230 cpi r22,2
  1196. 1175 0014 80E1 ldi r24,16
  1197. 1176 0016 7807 cpc r23,r24
  1198. 1177 0018 01F0 breq .L160
  1199. 1178 001a 04F4 brge .L161
  1200. 1179 001c 6230 cpi r22,2
  1201. 1180 001e 7105 cpc r23,__zero_reg__
  1202. 1181 0020 01F0 breq .L162
  1203. 1182 0022 6130 cpi r22,1
  1204. 1183 0024 7041 sbci r23,16
  1205. 1184 0026 01F4 brne .+2
  1206. 1185 0028 00C0 rjmp .L163
  1207. 1186 002a 00C0 rjmp .L159
  1208. 1187 .L161:
  1209. 1188 002c 6530 cpi r22,5
  1210. 1189 002e 80E1 ldi r24,16
  1211. 1190 0030 7807 cpc r23,r24
  1212. 1191 0032 01F0 breq .L164
  1213. 1192 0034 6630 cpi r22,6
  1214. 1193 0036 7041 sbci r23,16
  1215. 1194 0038 01F0 breq .L165
  1216. 1195 003a 00C0 rjmp .L159
  1217. 1196 .L162:
  1218. 1197 003c 4115 cp r20,__zero_reg__
  1219. GAS LISTING /tmp/cceUonKw.s page 22
  1220. 1198 003e 5105 cpc r21,__zero_reg__
  1221. 1199 0040 01F0 breq .L166
  1222. 1200 0042 2230 cpi r18,2
  1223. 1201 0044 3105 cpc r19,__zero_reg__
  1224. 1202 0046 01F0 breq .L167
  1225. 1203 .L166:
  1226. 1204 0048 C959 subi r28,-103
  1227. 1205 004a DF4F sbci r29,-1
  1228. 1206 004c 86E1 ldi r24,lo8(22)
  1229. 1207 004e 90E0 ldi r25,0
  1230. 1208 0050 00C0 rjmp .L188
  1231. 1209 .L167:
  1232. 1210 0052 8D89 ldd r24,Y+21
  1233. 1211 0054 8823 tst r24
  1234. 1212 0056 01F0 breq .L168
  1235. 1213 0058 C959 subi r28,-103
  1236. 1214 005a DF4F sbci r29,-1
  1237. 1215 005c 88E3 ldi r24,lo8(56)
  1238. 1216 005e 90E0 ldi r25,0
  1239. 1217 0060 00C0 rjmp .L188
  1240. 1218 .L168:
  1241. 1219 0062 FA01 movw r30,r20
  1242. 1220 0064 8081 ld r24,Z
  1243. 1221 0066 9181 ldd r25,Z+1
  1244. 1222 0068 C75A subi r28,-89
  1245. 1223 006a DF4F sbci r29,-1
  1246. 1224 006c 00C0 rjmp .L186
  1247. 1225 .L160:
  1248. 1226 006e 4115 cp r20,__zero_reg__
  1249. 1227 0070 5105 cpc r21,__zero_reg__
  1250. 1228 0072 01F0 breq .L166
  1251. 1229 0074 2230 cpi r18,2
  1252. 1230 0076 3105 cpc r19,__zero_reg__
  1253. 1231 0078 01F4 brne .L166
  1254. 1232 007a FA01 movw r30,r20
  1255. 1233 007c 8081 ld r24,Z
  1256. 1234 007e 9181 ldd r25,Z+1
  1257. 1235 0080 FE01 movw r30,r28
  1258. 1236 0082 E45B subi r30,-76
  1259. 1237 0084 FF4F sbci r31,-1
  1260. 1238 0086 9183 std Z+1,r25
  1261. 1239 0088 8083 st Z,r24
  1262. 1240 008a C85B subi r28,-72
  1263. 1241 008c DF4F sbci r29,-1
  1264. 1242 .L186:
  1265. 1243 008e 9983 std Y+1,r25
  1266. 1244 0090 8883 st Y,r24
  1267. 1245 0092 00C0 rjmp .L185
  1268. 1246 .L164:
  1269. 1247 0094 4115 cp r20,__zero_reg__
  1270. 1248 0096 5105 cpc r21,__zero_reg__
  1271. 1249 0098 01F0 breq .L166
  1272. 1250 009a 2430 cpi r18,4
  1273. 1251 009c 3105 cpc r19,__zero_reg__
  1274. 1252 009e 01F4 brne .L166
  1275. 1253 00a0 FA01 movw r30,r20
  1276. 1254 00a2 8081 ld r24,Z
  1277. GAS LISTING /tmp/cceUonKw.s page 23
  1278. 1255 00a4 9181 ldd r25,Z+1
  1279. 1256 00a6 A281 ldd r26,Z+2
  1280. 1257 00a8 B381 ldd r27,Z+3
  1281. 1258 00aa CF58 subi r28,-113
  1282. 1259 00ac DF4F sbci r29,-1
  1283. 1260 00ae 00C0 rjmp .L187
  1284. 1261 .L165:
  1285. 1262 00b0 4115 cp r20,__zero_reg__
  1286. 1263 00b2 5105 cpc r21,__zero_reg__
  1287. 1264 00b4 01F0 breq .L166
  1288. 1265 00b6 2430 cpi r18,4
  1289. 1266 00b8 3105 cpc r19,__zero_reg__
  1290. 1267 00ba 01F4 brne .L166
  1291. 1268 00bc FA01 movw r30,r20
  1292. 1269 00be 8081 ld r24,Z
  1293. 1270 00c0 9181 ldd r25,Z+1
  1294. 1271 00c2 A281 ldd r26,Z+2
  1295. 1272 00c4 B381 ldd r27,Z+3
  1296. 1273 00c6 C359 subi r28,-109
  1297. 1274 00c8 DF4F sbci r29,-1
  1298. 1275 .L187:
  1299. 1276 00ca 8883 st Y,r24
  1300. 1277 00cc 9983 std Y+1,r25
  1301. 1278 00ce AA83 std Y+2,r26
  1302. 1279 00d0 BB83 std Y+3,r27
  1303. 1280 00d2 00C0 rjmp .L185
  1304. 1281 .L163:
  1305. 1282 00d4 452B or r20,r21
  1306. 1283 00d6 01F4 brne .+2
  1307. 1284 00d8 00C0 rjmp .L166
  1308. 1285 00da 2230 cpi r18,2
  1309. 1286 00dc 3105 cpc r19,__zero_reg__
  1310. 1287 00de 01F0 breq .+2
  1311. 1288 00e0 00C0 rjmp .L166
  1312. 1289 00e2 40E0 ldi r20,0
  1313. 1290 00e4 50E0 ldi r21,0
  1314. 1291 00e6 60E0 ldi r22,0
  1315. 1292 00e8 70E0 ldi r23,0
  1316. 1293 00ea CE01 movw r24,r28
  1317. 1294 00ec 0E94 0000 call NutTcpDeviceWrite
  1318. 1295 00f0 F801 movw r30,r16
  1319. 1296 00f2 8081 ld r24,Z
  1320. 1297 00f4 9181 ldd r25,Z+1
  1321. 1298 00f6 9C8B std Y+20,r25
  1322. 1299 00f8 8B8B std Y+19,r24
  1323. 1300 .L185:
  1324. 1301 00fa 80E0 ldi r24,0
  1325. 1302 00fc 90E0 ldi r25,0
  1326. 1303 00fe 00C0 rjmp .L158
  1327. 1304 .L159:
  1328. 1305 0100 C959 subi r28,-103
  1329. 1306 0102 DF4F sbci r29,-1
  1330. 1307 0104 8AE2 ldi r24,lo8(42)
  1331. 1308 0106 90E0 ldi r25,0
  1332. 1309 .L188:
  1333. 1310 0108 9983 std Y+1,r25
  1334. 1311 010a 8883 st Y,r24
  1335. GAS LISTING /tmp/cceUonKw.s page 24
  1336. 1312 .L169:
  1337. 1313 010c 8FEF ldi r24,lo8(-1)
  1338. 1314 010e 9FEF ldi r25,lo8(-1)
  1339. 1315 .L158:
  1340. 1316 /* epilogue start */
  1341. 1317 0110 DF91 pop r29
  1342. 1318 0112 CF91 pop r28
  1343. 1319 0114 1F91 pop r17
  1344. 1320 0116 0F91 pop r16
  1345. 1321 0118 0895 ret
  1346. 1322 .size NutTcpSetSockOpt, .-NutTcpSetSockOpt
  1347. 1323 .section .text.NutTcpDeviceWrite_P,"ax",@progbits
  1348. 1324 .global NutTcpDeviceWrite_P
  1349. 1325 .type NutTcpDeviceWrite_P, @function
  1350. 1326 NutTcpDeviceWrite_P:
  1351. 1327 0000 CF92 push r12
  1352. 1328 0002 DF92 push r13
  1353. 1329 0004 EF92 push r14
  1354. 1330 0006 FF92 push r15
  1355. 1331 0008 0F93 push r16
  1356. 1332 000a 1F93 push r17
  1357. 1333 000c CF93 push r28
  1358. 1334 000e DF93 push r29
  1359. 1335 /* prologue: function */
  1360. 1336 /* frame size = 0 */
  1361. 1337 /* stack size = 8 */
  1362. 1338 .L__stack_usage = 8
  1363. 1339 0010 7C01 movw r14,r24
  1364. 1340 0012 6B01 movw r12,r22
  1365. 1341 0014 8A01 movw r16,r20
  1366. 1342 0016 4115 cp r20,__zero_reg__
  1367. 1343 0018 5105 cpc r21,__zero_reg__
  1368. 1344 001a 01F0 breq .L192
  1369. 1345 001c BA01 movw r22,r20
  1370. 1346 001e 80E0 ldi r24,lo8(heapFreeList)
  1371. 1347 0020 90E0 ldi r25,hi8(heapFreeList)
  1372. 1348 0022 0E94 0000 call NutHeapRootAlloc
  1373. 1349 0026 EC01 movw r28,r24
  1374. 1350 0028 0097 sbiw r24,0
  1375. 1351 002a 01F0 breq .L190
  1376. 1352 002c A801 movw r20,r16
  1377. 1353 002e B601 movw r22,r12
  1378. 1354 0030 0E94 0000 call memcpy_P
  1379. 1355 0034 00C0 rjmp .L190
  1380. 1356 .L192:
  1381. 1357 0036 C0E0 ldi r28,0
  1382. 1358 0038 D0E0 ldi r29,0
  1383. 1359 .L190:
  1384. 1360 003a A801 movw r20,r16
  1385. 1361 003c BE01 movw r22,r28
  1386. 1362 003e C701 movw r24,r14
  1387. 1363 0040 0E94 0000 call NutTcpDeviceWrite
  1388. 1364 0044 8C01 movw r16,r24
  1389. 1365 0046 2097 sbiw r28,0
  1390. 1366 0048 01F0 breq .L191
  1391. 1367 004a BE01 movw r22,r28
  1392. 1368 004c 80E0 ldi r24,lo8(heapFreeList)
  1393. GAS LISTING /tmp/cceUonKw.s page 25
  1394. 1369 004e 90E0 ldi r25,hi8(heapFreeList)
  1395. 1370 0050 0E94 0000 call NutHeapRootFree
  1396. 1371 .L191:
  1397. 1372 0054 C801 movw r24,r16
  1398. 1373 /* epilogue start */
  1399. 1374 0056 DF91 pop r29
  1400. 1375 0058 CF91 pop r28
  1401. 1376 005a 1F91 pop r17
  1402. 1377 005c 0F91 pop r16
  1403. 1378 005e FF90 pop r15
  1404. 1379 0060 EF90 pop r14
  1405. 1380 0062 DF90 pop r13
  1406. 1381 0064 CF90 pop r12
  1407. 1382 0066 0895 ret
  1408. 1383 .size NutTcpDeviceWrite_P, .-NutTcpDeviceWrite_P
  1409. 1384 .section .text.NutTcpReceive,"ax",@progbits
  1410. 1385 .global NutTcpReceive
  1411. 1386 .type NutTcpReceive, @function
  1412. 1387 NutTcpReceive:
  1413. 1388 0000 2F92 push r2
  1414. 1389 0002 3F92 push r3
  1415. 1390 0004 4F92 push r4
  1416. 1391 0006 5F92 push r5
  1417. 1392 0008 6F92 push r6
  1418. 1393 000a 7F92 push r7
  1419. 1394 000c 8F92 push r8
  1420. 1395 000e 9F92 push r9
  1421. 1396 0010 AF92 push r10
  1422. 1397 0012 BF92 push r11
  1423. 1398 0014 CF92 push r12
  1424. 1399 0016 DF92 push r13
  1425. 1400 0018 EF92 push r14
  1426. 1401 001a FF92 push r15
  1427. 1402 001c 0F93 push r16
  1428. 1403 001e 1F93 push r17
  1429. 1404 0020 CF93 push r28
  1430. 1405 0022 DF93 push r29
  1431. 1406 0024 CDB7 in r28,__SP_L__
  1432. 1407 0026 DEB7 in r29,__SP_H__
  1433. 1408 0028 2897 sbiw r28,8
  1434. 1409 002a 0FB6 in __tmp_reg__,__SREG__
  1435. 1410 002c F894 cli
  1436. 1411 002e DEBF out __SP_H__,r29
  1437. 1412 0030 0FBE out __SREG__,__tmp_reg__
  1438. 1413 0032 CDBF out __SP_L__,r28
  1439. 1414 /* prologue: function */
  1440. 1415 /* frame size = 8 */
  1441. 1416 /* stack size = 26 */
  1442. 1417 .L__stack_usage = 26
  1443. 1418 0034 9887 std Y+8,r25
  1444. 1419 0036 8F83 std Y+7,r24
  1445. 1420 0038 1B01 movw r2,r22
  1446. 1421 003a 8A01 movw r16,r20
  1447. 1422 003c 0E94 0000 call NutThreadYield
  1448. 1423 0040 8F81 ldd r24,Y+7
  1449. 1424 0042 9885 ldd r25,Y+8
  1450. 1425 0044 0097 sbiw r24,0
  1451. GAS LISTING /tmp/cceUonKw.s page 26
  1452. 1426 0046 01F4 brne .+2
  1453. 1427 0048 00C0 rjmp .L214
  1454. 1428 004a FC01 movw r30,r24
  1455. 1429 004c 8589 ldd r24,Z+21
  1456. 1430 004e 8430 cpi r24,lo8(4)
  1457. 1431 0050 01F0 breq .L201
  1458. 1432 0052 8589 ldd r24,Z+21
  1459. 1433 0054 8530 cpi r24,lo8(5)
  1460. 1434 0056 01F0 breq .L201
  1461. 1435 .L205:
  1462. 1436 0058 EF81 ldd r30,Y+7
  1463. 1437 005a F885 ldd r31,Y+8
  1464. 1438 005c E959 subi r30,-103
  1465. 1439 005e FF4F sbci r31,-1
  1466. 1440 0060 89E3 ldi r24,lo8(57)
  1467. 1441 0062 90E0 ldi r25,0
  1468. 1442 0064 9183 std Z+1,r25
  1469. 1443 0066 8083 st Z,r24
  1470. 1444 0068 00C0 rjmp .L214
  1471. 1445 .L201:
  1472. 1446 006a 2114 cp r2,__zero_reg__
  1473. 1447 006c 3104 cpc r3,__zero_reg__
  1474. 1448 006e 01F4 brne .L202
  1475. 1449 .L203:
  1476. 1450 0070 80E0 ldi r24,0
  1477. 1451 0072 90E0 ldi r25,0
  1478. 1452 0074 00C0 rjmp .L200
  1479. 1453 .L202:
  1480. 1454 0076 0115 cp r16,__zero_reg__
  1481. 1455 0078 1105 cpc r17,__zero_reg__
  1482. 1456 007a 01F0 breq .L203
  1483. 1457 007c 4F80 ldd r4,Y+7
  1484. 1458 007e 5884 ldd r5,Y+8
  1485. 1459 0080 FAE4 ldi r31,74
  1486. 1460 0082 4F0E add r4,r31
  1487. 1461 0084 511C adc r5,__zero_reg__
  1488. 1462 0086 8F81 ldd r24,Y+7
  1489. 1463 0088 9885 ldd r25,Y+8
  1490. 1464 008a 825B subi r24,-78
  1491. 1465 008c 9F4F sbci r25,-1
  1492. 1466 008e 9E83 std Y+6,r25
  1493. 1467 0090 8D83 std Y+5,r24
  1494. 1468 0092 AF80 ldd r10,Y+7
  1495. 1469 0094 B884 ldd r11,Y+8
  1496. 1470 0096 9DE6 ldi r25,109
  1497. 1471 0098 A90E add r10,r25
  1498. 1472 009a B11C adc r11,__zero_reg__
  1499. 1473 009c CF80 ldd r12,Y+7
  1500. 1474 009e D884 ldd r13,Y+8
  1501. 1475 00a0 E3E5 ldi r30,83
  1502. 1476 00a2 CE0E add r12,r30
  1503. 1477 00a4 D11C adc r13,__zero_reg__
  1504. 1478 .L204:
  1505. 1479 00a6 F201 movw r30,r4
  1506. 1480 00a8 8081 ld r24,Z
  1507. 1481 00aa 9181 ldd r25,Z+1
  1508. 1482 00ac ED81 ldd r30,Y+5
  1509. GAS LISTING /tmp/cceUonKw.s page 27
  1510. 1483 00ae FE81 ldd r31,Y+6
  1511. 1484 00b0 E080 ld r14,Z
  1512. 1485 00b2 F180 ldd r15,Z+1
  1513. 1486 00b4 8E15 cp r24,r14
  1514. 1487 00b6 9F05 cpc r25,r15
  1515. 1488 00b8 01F4 brne .L228
  1516. 1489 00ba EF81 ldd r30,Y+7
  1517. 1490 00bc F885 ldd r31,Y+8
  1518. 1491 00be 8589 ldd r24,Z+21
  1519. 1492 00c0 8430 cpi r24,lo8(4)
  1520. 1493 00c2 01F4 brne .L205
  1521. 1494 00c4 F501 movw r30,r10
  1522. 1495 00c6 4081 ld r20,Z
  1523. 1496 00c8 5181 ldd r21,Z+1
  1524. 1497 00ca 6281 ldd r22,Z+2
  1525. 1498 00cc 7381 ldd r23,Z+3
  1526. 1499 00ce C601 movw r24,r12
  1527. 1500 00d0 0E94 0000 call NutEventWait
  1528. 1501 00d4 892B or r24,r25
  1529. 1502 00d6 01F0 breq .L204
  1530. 1503 00d8 00C0 rjmp .L203
  1531. 1504 .L228:
  1532. 1505 00da 8E19 sub r24,r14
  1533. 1506 00dc 9F09 sbc r25,r15
  1534. 1507 00de 8017 cp r24,r16
  1535. 1508 00e0 9107 cpc r25,r17
  1536. 1509 00e2 04F4 brge .L207
  1537. 1510 00e4 0097 sbiw r24,0
  1538. 1511 00e6 01F0 breq .L203
  1539. 1512 00e8 8C01 movw r16,r24
  1540. 1513 .L207:
  1541. 1514 00ea C12C mov r12,__zero_reg__
  1542. 1515 00ec D12C mov r13,__zero_reg__
  1543. 1516 00ee 8F81 ldd r24,Y+7
  1544. 1517 00f0 9885 ldd r25,Y+8
  1545. 1518 00f2 8F5A subi r24,-81
  1546. 1519 00f4 9F4F sbci r25,-1
  1547. 1520 00f6 9A83 std Y+2,r25
  1548. 1521 00f8 8983 std Y+1,r24
  1549. 1522 00fa EF81 ldd r30,Y+7
  1550. 1523 00fc F885 ldd r31,Y+8
  1551. 1524 00fe E05B subi r30,-80
  1552. 1525 0100 FF4F sbci r31,-1
  1553. 1526 0102 FC83 std Y+4,r31
  1554. 1527 0104 EB83 std Y+3,r30
  1555. 1528 .L208:
  1556. 1529 0106 C016 cp r12,r16
  1557. 1530 0108 D106 cpc r13,r17
  1558. 1531 010a 00F4 brsh .L229
  1559. 1532 010c E981 ldd r30,Y+1
  1560. 1533 010e FA81 ldd r31,Y+2
  1561. 1534 0110 6080 ld r6,Z
  1562. 1535 0112 7180 ldd r7,Z+1
  1563. 1536 0114 F301 movw r30,r6
  1564. 1537 0116 8188 ldd r8,Z+17
  1565. 1538 0118 9288 ldd r9,Z+18
  1566. 1539 011a 8E18 sub r8,r14
  1567. GAS LISTING /tmp/cceUonKw.s page 28
  1568. 1540 011c 9F08 sbc r9,r15
  1569. 1541 011e C801 movw r24,r16
  1570. 1542 0120 8C19 sub r24,r12
  1571. 1543 0122 9D09 sbc r25,r13
  1572. 1544 0124 5401 movw r10,r8
  1573. 1545 0126 8815 cp r24,r8
  1574. 1546 0128 9905 cpc r25,r9
  1575. 1547 012a 00F4 brsh .L209
  1576. 1548 012c 5C01 movw r10,r24
  1577. 1549 .L209:
  1578. 1550 012e F301 movw r30,r6
  1579. 1551 0130 6785 ldd r22,Z+15
  1580. 1552 0132 7089 ldd r23,Z+16
  1581. 1553 0134 6E0D add r22,r14
  1582. 1554 0136 7F1D adc r23,r15
  1583. 1555 0138 A501 movw r20,r10
  1584. 1556 013a C101 movw r24,r2
  1585. 1557 013c 8C0D add r24,r12
  1586. 1558 013e 9D1D adc r25,r13
  1587. 1559 0140 0E94 0000 call memcpy
  1588. 1560 0144 CA0C add r12,r10
  1589. 1561 0146 DB1C adc r13,r11
  1590. 1562 0148 EA0C add r14,r10
  1591. 1563 014a FB1C adc r15,r11
  1592. 1564 014c A814 cp r10,r8
  1593. 1565 014e B904 cpc r11,r9
  1594. 1566 0150 00F0 brlo .L208
  1595. 1567 0152 F301 movw r30,r6
  1596. 1568 0154 8081 ld r24,Z
  1597. 1569 0156 9181 ldd r25,Z+1
  1598. 1570 0158 E981 ldd r30,Y+1
  1599. 1571 015a FA81 ldd r31,Y+2
  1600. 1572 015c 9183 std Z+1,r25
  1601. 1573 015e 8083 st Z,r24
  1602. 1574 0160 F201 movw r30,r4
  1603. 1575 0162 8081 ld r24,Z
  1604. 1576 0164 9181 ldd r25,Z+1
  1605. 1577 0166 8E19 sub r24,r14
  1606. 1578 0168 9F09 sbc r25,r15
  1607. 1579 016a 9183 std Z+1,r25
  1608. 1580 016c 8083 st Z,r24
  1609. 1581 016e C301 movw r24,r6
  1610. 1582 0170 0E94 0000 call NutNetBufFree
  1611. 1583 0174 EB81 ldd r30,Y+3
  1612. 1584 0176 FC81 ldd r31,Y+4
  1613. 1585 0178 8081 ld r24,Z
  1614. 1586 017a 8150 subi r24,lo8(-(-1))
  1615. 1587 017c 8083 st Z,r24
  1616. 1588 017e E12C mov r14,__zero_reg__
  1617. 1589 0180 F12C mov r15,__zero_reg__
  1618. 1590 0182 00C0 rjmp .L208
  1619. 1591 .L229:
  1620. 1592 0184 ED81 ldd r30,Y+5
  1621. 1593 0186 FE81 ldd r31,Y+6
  1622. 1594 0188 F182 std Z+1,r15
  1623. 1595 018a E082 st Z,r14
  1624. 1596 018c EF81 ldd r30,Y+7
  1625. GAS LISTING /tmp/cceUonKw.s page 29
  1626. 1597 018e F885 ldd r31,Y+8
  1627. 1598 0190 8589 ldd r24,Z+21
  1628. 1599 0192 8430 cpi r24,lo8(4)
  1629. 1600 0194 01F4 brne .L215
  1630. 1601 0196 E85B subi r30,-72
  1631. 1602 0198 FF4F sbci r31,-1
  1632. 1603 019a 4081 ld r20,Z
  1633. 1604 019c 5181 ldd r21,Z+1
  1634. 1605 019e AF81 ldd r26,Y+7
  1635. 1606 01a0 B885 ldd r27,Y+8
  1636. 1607 01a2 A45B subi r26,-76
  1637. 1608 01a4 BF4F sbci r27,-1
  1638. 1609 01a6 2D91 ld r18,X+
  1639. 1610 01a8 3C91 ld r19,X
  1640. 1611 01aa CA01 movw r24,r20
  1641. 1612 01ac 800F add r24,r16
  1642. 1613 01ae 911F adc r25,r17
  1643. 1614 01b0 2817 cp r18,r24
  1644. 1615 01b2 3907 cpc r19,r25
  1645. 1616 01b4 04F4 brge .L212
  1646. 1617 01b6 C901 movw r24,r18
  1647. 1618 .L212:
  1648. 1619 01b8 AF81 ldd r26,Y+7
  1649. 1620 01ba B885 ldd r27,Y+8
  1650. 1621 01bc A75A subi r26,-89
  1651. 1622 01be BF4F sbci r27,-1
  1652. 1623 01c0 2D91 ld r18,X+
  1653. 1624 01c2 3C91 ld r19,X
  1654. 1625 01c4 9183 std Z+1,r25
  1655. 1626 01c6 8083 st Z,r24
  1656. 1627 01c8 2417 cp r18,r20
  1657. 1628 01ca 3507 cpc r19,r21
  1658. 1629 01cc 00F0 brlo .L215
  1659. 1630 01ce 2817 cp r18,r24
  1660. 1631 01d0 3907 cpc r19,r25
  1661. 1632 01d2 00F4 brsh .L215
  1662. 1633 01d4 8F81 ldd r24,Y+7
  1663. 1634 01d6 9885 ldd r25,Y+8
  1664. 1635 01d8 0E94 0000 call NutTcpStateWindowEvent
  1665. 1636 01dc 00C0 rjmp .L215
  1666. 1637 .L214:
  1667. 1638 01de 8FEF ldi r24,lo8(-1)
  1668. 1639 01e0 9FEF ldi r25,lo8(-1)
  1669. 1640 01e2 00C0 rjmp .L200
  1670. 1641 .L215:
  1671. 1642 01e4 C801 movw r24,r16
  1672. 1643 .L200:
  1673. 1644 /* epilogue start */
  1674. 1645 01e6 2896 adiw r28,8
  1675. 1646 01e8 0FB6 in __tmp_reg__,__SREG__
  1676. 1647 01ea F894 cli
  1677. 1648 01ec DEBF out __SP_H__,r29
  1678. 1649 01ee 0FBE out __SREG__,__tmp_reg__
  1679. 1650 01f0 CDBF out __SP_L__,r28
  1680. 1651 01f2 DF91 pop r29
  1681. 1652 01f4 CF91 pop r28
  1682. 1653 01f6 1F91 pop r17
  1683. GAS LISTING /tmp/cceUonKw.s page 30
  1684. 1654 01f8 0F91 pop r16
  1685. 1655 01fa FF90 pop r15
  1686. 1656 01fc EF90 pop r14
  1687. 1657 01fe DF90 pop r13
  1688. 1658 0200 CF90 pop r12
  1689. 1659 0202 BF90 pop r11
  1690. 1660 0204 AF90 pop r10
  1691. 1661 0206 9F90 pop r9
  1692. 1662 0208 8F90 pop r8
  1693. 1663 020a 7F90 pop r7
  1694. 1664 020c 6F90 pop r6
  1695. 1665 020e 5F90 pop r5
  1696. 1666 0210 4F90 pop r4
  1697. 1667 0212 3F90 pop r3
  1698. 1668 0214 2F90 pop r2
  1699. 1669 0216 0895 ret
  1700. 1670 .size NutTcpReceive, .-NutTcpReceive
  1701. 1671 .section .text.NutTcpDeviceRead,"ax",@progbits
  1702. 1672 .global NutTcpDeviceRead
  1703. 1673 .type NutTcpDeviceRead, @function
  1704. 1674 NutTcpDeviceRead:
  1705. 1675 /* prologue: function */
  1706. 1676 /* frame size = 0 */
  1707. 1677 /* stack size = 0 */
  1708. 1678 .L__stack_usage = 0
  1709. 1679 0000 0C94 0000 jmp NutTcpReceive
  1710. 1680 .size NutTcpDeviceRead, .-NutTcpDeviceRead
  1711. 1681 .section .text.NutTcpCloseSocket,"ax",@progbits
  1712. 1682 .global NutTcpCloseSocket
  1713. 1683 .type NutTcpCloseSocket, @function
  1714. 1684 NutTcpCloseSocket:
  1715. 1685 0000 CF93 push r28
  1716. 1686 0002 DF93 push r29
  1717. 1687 /* prologue: function */
  1718. 1688 /* frame size = 0 */
  1719. 1689 /* stack size = 2 */
  1720. 1690 .L__stack_usage = 2
  1721. 1691 0004 EC01 movw r28,r24
  1722. 1692 0006 40E0 ldi r20,0
  1723. 1693 0008 50E0 ldi r21,0
  1724. 1694 000a 60E0 ldi r22,0
  1725. 1695 000c 70E0 ldi r23,0
  1726. 1696 000e 0E94 0000 call NutTcpDeviceWrite
  1727. 1697 0012 CE01 movw r24,r28
  1728. 1698 /* epilogue start */
  1729. 1699 0014 DF91 pop r29
  1730. 1700 0016 CF91 pop r28
  1731. 1701 0018 0C94 0000 jmp NutTcpStateCloseEvent
  1732. 1702 .size NutTcpCloseSocket, .-NutTcpCloseSocket
  1733. 1703 .section .text.NutTcpError,"ax",@progbits
  1734. 1704 .global NutTcpError
  1735. 1705 .type NutTcpError, @function
  1736. 1706 NutTcpError:
  1737. 1707 /* prologue: function */
  1738. 1708 /* frame size = 0 */
  1739. 1709 /* stack size = 0 */
  1740. 1710 .L__stack_usage = 0
  1741. GAS LISTING /tmp/cceUonKw.s page 31
  1742. 1711 0000 0097 sbiw r24,0
  1743. 1712 0002 01F0 breq .L234
  1744. 1713 0004 FC01 movw r30,r24
  1745. 1714 0006 E959 subi r30,-103
  1746. 1715 0008 FF4F sbci r31,-1
  1747. 1716 000a 8081 ld r24,Z
  1748. 1717 000c 9181 ldd r25,Z+1
  1749. 1718 000e 0895 ret
  1750. 1719 .L234:
  1751. 1720 0010 86E2 ldi r24,lo8(38)
  1752. 1721 0012 90E0 ldi r25,0
  1753. 1722 0014 0895 ret
  1754. 1723 .size NutTcpError, .-NutTcpError
  1755. 1724 .local registered
  1756. 1725 .comm registered,1,1
  1757. 1726 .local last_local_port
  1758. 1727 .comm last_local_port,2,1
  1759. 1728 .global tcpSocketList
  1760. 1729 .section .bss
  1761. 1730 .type tcpSocketList, @object
  1762. 1731 .size tcpSocketList, 2
  1763. 1732 tcpSocketList:
  1764. 1733 0000 0000 .zero 2
  1765. 1734 .ident "GCC: (GNU) 5.3.0"
  1766. 1735 .global __do_clear_bss
  1767. GAS LISTING /tmp/cceUonKw.s page 32
  1768. DEFINED SYMBOLS
  1769. *ABS*:0000000000000000 tcpsock.c
  1770. /tmp/cceUonKw.s:2 *ABS*:000000000000003e __SP_H__
  1771. /tmp/cceUonKw.s:3 *ABS*:000000000000003d __SP_L__
  1772. /tmp/cceUonKw.s:4 *ABS*:000000000000003f __SREG__
  1773. /tmp/cceUonKw.s:5 *ABS*:000000000000003b __RAMPZ__
  1774. /tmp/cceUonKw.s:6 *ABS*:0000000000000000 __tmp_reg__
  1775. /tmp/cceUonKw.s:7 *ABS*:0000000000000001 __zero_reg__
  1776. /tmp/cceUonKw.s:11 .text.NutTcpDeviceIOCtl:0000000000000000 NutTcpDeviceIOCtl
  1777. /tmp/cceUonKw.s:68 .text.NutTcpDeviceSelect:0000000000000000 NutTcpDeviceSelect
  1778. /tmp/cceUonKw.s:164 .text.NutTcpDiscardBuffers:0000000000000000 NutTcpDiscardBuffers
  1779. /tmp/cceUonKw.s:229 .text.NutTcpDestroySocket:0000000000000000 NutTcpDestroySocket
  1780. /tmp/cceUonKw.s:255 .text.NutTcpFindSocket:0000000000000000 NutTcpFindSocket
  1781. /tmp/cceUonKw.s:1732 .bss:0000000000000000 tcpSocketList
  1782. /tmp/cceUonKw.s:334 .text.NutTcpCreateSocket:0000000000000000 NutTcpCreateSocket
  1783. .bss:0000000000000002 registered
  1784. /tmp/cceUonKw.s:1674 .text.NutTcpDeviceRead:0000000000000000 NutTcpDeviceRead
  1785. /tmp/cceUonKw.s:945 .text.NutTcpDeviceWrite:0000000000000000 NutTcpDeviceWrite
  1786. /tmp/cceUonKw.s:1326 .text.NutTcpDeviceWrite_P:0000000000000000 NutTcpDeviceWrite_P
  1787. /tmp/cceUonKw.s:445 .text.NutTcpGetSockOpt:0000000000000000 NutTcpGetSockOpt
  1788. /tmp/cceUonKw.s:571 .text.NutTcpConnect:0000000000000000 NutTcpConnect
  1789. /tmp/cceUonKw.s:1725 .bss:0000000000000003 last_local_port
  1790. /tmp/cceUonKw.s:733 .text.NutTcpAccept:0000000000000000 NutTcpAccept
  1791. /tmp/cceUonKw.s:754 .text.NutTcpSend:0000000000000000 NutTcpSend
  1792. /tmp/cceUonKw.s:888 .text.SendBuffer:0000000000000000 SendBuffer
  1793. /tmp/cceUonKw.s:1160 .text.NutTcpSetSockOpt:0000000000000000 NutTcpSetSockOpt
  1794. /tmp/cceUonKw.s:1387 .text.NutTcpReceive:0000000000000000 NutTcpReceive
  1795. /tmp/cceUonKw.s:1684 .text.NutTcpCloseSocket:0000000000000000 NutTcpCloseSocket
  1796. /tmp/cceUonKw.s:1706 .text.NutTcpError:0000000000000000 NutTcpError
  1797. UNDEFINED SYMBOLS
  1798. NutSelectManageWq
  1799. NutNetBufFree
  1800. free
  1801. NutTcpInput
  1802. NutRegisterIpHandler
  1803. NutTcpInitStateMachine
  1804. calloc
  1805. NutGetTickCount
  1806. NutGetMillis
  1807. NutIpRouteQuery
  1808. NutTcpStateActiveOpenEvent
  1809. NutTcpStatePassiveOpenEvent
  1810. NutThreadYield
  1811. NutEventWait
  1812. NutTcpOutput
  1813. __udivmodhi4
  1814. malloc
  1815. memcpy
  1816. heapFreeList
  1817. NutHeapRootAlloc
  1818. memcpy_P
  1819. NutHeapRootFree
  1820. NutTcpStateWindowEvent
  1821. NutTcpStateCloseEvent
  1822. __do_clear_bss