tcpsm.lst 117 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425
  1. GAS LISTING /tmp/ccxdCeAh.s page 1
  2. 1 .file "tcpsm.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.__byte_swap4,"ax",@progbits
  10. 9 .type __byte_swap4, @function
  11. 10 __byte_swap4:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 /* #APP */
  17. 16 ; 319 "../../nut/include/sys/types.h" 1
  18. 17 0000 062E mov __tmp_reg__, r22
  19. 18 0002 692F mov r22, r25
  20. 19 0004 902D mov r25, __tmp_reg__
  21. 20 0006 072E mov __tmp_reg__, r23
  22. 21 0008 782F mov r23, r24
  23. 22 000a 802D mov r24, __tmp_reg__
  24. 23
  25. 24 ; 0 "" 2
  26. 25 /* #NOAPP */
  27. 26 000c 0895 ret
  28. 27 .size __byte_swap4, .-__byte_swap4
  29. 28 .section .text.NutTcpInputOptions,"ax",@progbits
  30. 29 .type NutTcpInputOptions, @function
  31. 30 NutTcpInputOptions:
  32. 31 /* prologue: function */
  33. 32 /* frame size = 0 */
  34. 33 /* stack size = 0 */
  35. 34 .L__stack_usage = 0
  36. 35 0000 FB01 movw r30,r22
  37. 36 0002 2585 ldd r18,Z+13
  38. 37 0004 3685 ldd r19,Z+14
  39. 38 0006 2531 cpi r18,21
  40. 39 0008 3105 cpc r19,__zero_reg__
  41. 40 000a 00F0 brlo .L2
  42. 41 000c 4385 ldd r20,Z+11
  43. 42 000e 5485 ldd r21,Z+12
  44. 43 0010 FA01 movw r30,r20
  45. 44 0012 7496 adiw r30,20
  46. 45 0014 DC01 movw r26,r24
  47. 46 0016 A75A subi r26,-89
  48. 47 0018 BF4F sbci r27,-1
  49. 48 .L4:
  50. 49 001a 8081 ld r24,Z
  51. 50 001c 8823 tst r24
  52. 51 001e 01F0 breq .L2
  53. 52 0020 BF01 movw r22,r30
  54. 53 0022 641B sub r22,r20
  55. 54 0024 750B sbc r23,r21
  56. 55 0026 6217 cp r22,r18
  57. 56 0028 7307 cpc r23,r19
  58. 57 002a 04F4 brge .L2
  59. GAS LISTING /tmp/ccxdCeAh.s page 2
  60. 58 002c 8130 cpi r24,lo8(1)
  61. 59 002e 01F0 breq .L6
  62. 60 0030 8230 cpi r24,lo8(2)
  63. 61 0032 01F0 breq .L7
  64. 62 0034 00C0 rjmp .L17
  65. 63 .L6:
  66. 64 0036 3196 adiw r30,1
  67. 65 0038 00C0 rjmp .L4
  68. 66 .L7:
  69. 67 003a 8281 ldd r24,Z+2
  70. 68 003c 9381 ldd r25,Z+3
  71. 69 003e 9827 eor r25,r24
  72. 70 0040 8927 eor r24,r25
  73. 71 0042 9827 eor r25,r24
  74. 72 0044 6D91 ld r22,X+
  75. 73 0046 7C91 ld r23,X
  76. 74 0048 1197 sbiw r26,1
  77. 75 004a 8617 cp r24,r22
  78. 76 004c 9707 cpc r25,r23
  79. 77 004e 00F4 brsh .L9
  80. 78 0050 1196 adiw r26,1
  81. 79 0052 9C93 st X,r25
  82. 80 0054 8E93 st -X,r24
  83. 81 .L9:
  84. 82 0056 3496 adiw r30,4
  85. 83 0058 00C0 rjmp .L4
  86. 84 .L17:
  87. 85 005a 8181 ldd r24,Z+1
  88. 86 005c E80F add r30,r24
  89. 87 005e F11D adc r31,__zero_reg__
  90. 88 0060 00C0 rjmp .L4
  91. 89 .L2:
  92. 90 0062 0895 ret
  93. 91 .size NutTcpInputOptions, .-NutTcpInputOptions
  94. 92 .section .text.NutTcpStateChange,"ax",@progbits
  95. 93 .type NutTcpStateChange, @function
  96. 94 NutTcpStateChange:
  97. 95 0000 1F93 push r17
  98. 96 0002 CF93 push r28
  99. 97 0004 DF93 push r29
  100. 98 /* prologue: function */
  101. 99 /* frame size = 0 */
  102. 100 /* stack size = 3 */
  103. 101 .L__stack_usage = 3
  104. 102 0006 EC01 movw r28,r24
  105. 103 0008 162F mov r17,r22
  106. 104 000a 8D89 ldd r24,Y+21
  107. 105 000c 90E0 ldi r25,0
  108. 106 000e 8B30 cpi r24,11
  109. 107 0010 9105 cpc r25,__zero_reg__
  110. 108 0012 00F0 brlo .+2
  111. 109 0014 00C0 rjmp .L19
  112. 110 0016 FC01 movw r30,r24
  113. 111 0018 8827 clr r24
  114. 112 001a E050 subi r30,pm_lo8(-(.L21))
  115. 113 001c F040 sbci r31,pm_hi8(-(.L21))
  116. 114 001e 8040 sbci r24,pm_hh8(-(.L21))
  117. GAS LISTING /tmp/ccxdCeAh.s page 3
  118. 115 0020 0C94 0000 jmp __tablejump2__
  119. 116 .section .progmem.gcc_sw_table.NutTcpStateChange,"a",@progbits
  120. 117 .p2align 1
  121. 118 .L21:
  122. 119 0000 0000 .word gs(.L20)
  123. 120 0002 0000 .word gs(.L22)
  124. 121 0004 0000 .word gs(.L23)
  125. 122 0006 0000 .word gs(.L24)
  126. 123 0008 0000 .word gs(.L25)
  127. 124 000a 0000 .word gs(.L26)
  128. 125 000c 0000 .word gs(.L27)
  129. 126 000e 0000 .word gs(.L28)
  130. 127 0010 0000 .word gs(.L114)
  131. 128 0012 0000 .word gs(.L30)
  132. 129 0014 0000 .word gs(.L114)
  133. 130 .section .text.NutTcpStateChange
  134. 131 .L25:
  135. 132 0024 6530 cpi r22,lo8(5)
  136. 133 0026 01F0 breq .L44
  137. 134 0028 6630 cpi r22,lo8(6)
  138. 135 002a 01F0 breq .+2
  139. 136 002c 00C0 rjmp .L108
  140. 137 002e 00C0 rjmp .L113
  141. 138 .L22:
  142. 139 0030 6330 cpi r22,lo8(3)
  143. 140 0032 01F4 brne .L114
  144. 141 .L111:
  145. 142 0034 8AA1 ldd r24,Y+34
  146. 143 0036 8261 ori r24,lo8(18)
  147. 144 .L110:
  148. 145 0038 8AA3 std Y+34,r24
  149. 146 003a 00C0 rjmp .L56
  150. 147 .L23:
  151. 148 003c 6330 cpi r22,lo8(3)
  152. 149 003e 01F0 breq .L111
  153. 150 0040 00F0 brlo .L116
  154. 151 0042 6430 cpi r22,lo8(4)
  155. 152 0044 01F0 breq .L44
  156. 153 .L114:
  157. 154 0046 1B30 cpi r17,lo8(11)
  158. 155 0048 01F0 breq .+2
  159. 156 004a 00C0 rjmp .L108
  160. 157 004c 00C0 rjmp .L37
  161. 158 .L24:
  162. 159 004e 6430 cpi r22,lo8(4)
  163. 160 0050 01F4 brne .+2
  164. 161 0052 00C0 rjmp .L74
  165. 162 0054 00F0 brlo .L116
  166. 163 0056 6530 cpi r22,lo8(5)
  167. 164 0058 01F0 breq .L113
  168. 165 005a 6630 cpi r22,lo8(6)
  169. 166 005c 01F0 breq .+2
  170. 167 005e 00C0 rjmp .L108
  171. 168 0060 8AA1 ldd r24,Y+34
  172. 169 0062 8160 ori r24,lo8(1)
  173. 170 0064 00C0 rjmp .L110
  174. 171 .L27:
  175. GAS LISTING /tmp/ccxdCeAh.s page 4
  176. 172 0066 6730 cpi r22,lo8(7)
  177. 173 0068 01F0 breq .L44
  178. 174 006a 00F4 brsh .L45
  179. 175 006c 6630 cpi r22,lo8(6)
  180. 176 006e 01F4 brne .+2
  181. 177 0070 00C0 rjmp .L74
  182. 178 0072 00C0 rjmp .L108
  183. 179 .L45:
  184. 180 0074 87EF ldi r24,lo8(-9)
  185. 181 0076 860F add r24,r22
  186. 182 0078 8330 cpi r24,lo8(3)
  187. 183 007a 00F0 brlo .+2
  188. 184 007c 00C0 rjmp .L108
  189. 185 007e 00C0 rjmp .L19
  190. 186 .L44:
  191. 187 0080 8AA1 ldd r24,Y+34
  192. 188 0082 8861 ori r24,lo8(24)
  193. 189 0084 00C0 rjmp .L110
  194. 190 .L30:
  195. 191 0086 6B30 cpi r22,lo8(11)
  196. 192 0088 01F0 breq .L37
  197. 193 008a 8AA1 ldd r24,Y+34
  198. 194 008c 8861 ori r24,lo8(24)
  199. 195 008e 8AA3 std Y+34,r24
  200. 196 0090 6A30 cpi r22,lo8(10)
  201. 197 0092 01F0 breq .L56
  202. 198 0094 00C0 rjmp .L108
  203. 199 .L26:
  204. 200 0096 6830 cpi r22,lo8(8)
  205. 201 0098 01F0 breq .+2
  206. 202 009a 00C0 rjmp .L108
  207. 203 .L113:
  208. 204 009c 8AA1 ldd r24,Y+34
  209. 205 009e 8161 ori r24,lo8(17)
  210. 206 00a0 00C0 rjmp .L110
  211. 207 .L28:
  212. 208 00a2 86EF ldi r24,lo8(-10)
  213. 209 00a4 860F add r24,r22
  214. 210 00a6 8230 cpi r24,lo8(2)
  215. 211 00a8 00F0 brlo .+2
  216. 212 00aa 00C0 rjmp .L108
  217. 213 00ac 00C0 rjmp .L118
  218. 214 .L20:
  219. 215 00ae 6230 cpi r22,lo8(2)
  220. 216 00b0 01F0 breq .L49
  221. 217 00b2 6B30 cpi r22,lo8(11)
  222. 218 00b4 01F0 breq .L37
  223. 219 .L116:
  224. 220 00b6 1130 cpi r17,lo8(1)
  225. 221 00b8 01F0 breq .+2
  226. 222 00ba 00C0 rjmp .L108
  227. 223 00bc 00C0 rjmp .L74
  228. 224 .L49:
  229. 225 00be 8AA1 ldd r24,Y+34
  230. 226 00c0 8260 ori r24,lo8(2)
  231. 227 00c2 00C0 rjmp .L110
  232. 228 .L19:
  233. GAS LISTING /tmp/ccxdCeAh.s page 5
  234. 229 00c4 1B30 cpi r17,lo8(11)
  235. 230 00c6 01F0 breq .+2
  236. 231 00c8 00C0 rjmp .L74
  237. 232 .L37:
  238. 233 00ca 81E0 ldi r24,lo8(1)
  239. 234 00cc 90E0 ldi r25,0
  240. 235 00ce 9093 0000 sts tcp_run_gc+1,r25
  241. 236 00d2 8093 0000 sts tcp_run_gc,r24
  242. 237 00d6 00C0 rjmp .L74
  243. 238 .L56:
  244. 239 00d8 81E0 ldi r24,lo8(1)
  245. 240 .L46:
  246. 241 00da 1D8B std Y+21,r17
  247. 242 00dc 8823 tst r24
  248. 243 00de 01F0 breq .L50
  249. 244 00e0 40E0 ldi r20,0
  250. 245 00e2 50E0 ldi r21,0
  251. 246 00e4 60E0 ldi r22,0
  252. 247 00e6 70E0 ldi r23,0
  253. 248 00e8 CE01 movw r24,r28
  254. 249 00ea 0E94 0000 call NutTcpOutput
  255. 250 00ee 892B or r24,r25
  256. 251 00f0 01F0 breq .L50
  257. 252 00f2 1230 cpi r17,lo8(2)
  258. 253 00f4 01F4 brne .L50
  259. 254 00f6 FE01 movw r30,r28
  260. 255 00f8 E959 subi r30,-103
  261. 256 00fa FF4F sbci r31,-1
  262. 257 00fc 80E4 ldi r24,lo8(64)
  263. 258 00fe 90E0 ldi r25,0
  264. 259 0100 9183 std Z+1,r25
  265. 260 0102 8083 st Z,r24
  266. 261 0104 CE01 movw r24,r28
  267. 262 0106 8559 subi r24,-107
  268. 263 0108 9F4F sbci r25,-1
  269. 264 010a 0E94 0000 call NutEventPostAsync
  270. 265 010e 00C0 rjmp .L108
  271. 266 .L50:
  272. 267 0110 1530 cpi r17,lo8(5)
  273. 268 0112 01F4 brne .L112
  274. 269 0114 CE01 movw r24,r28
  275. 270 0116 8D5A subi r24,-83
  276. 271 0118 9F4F sbci r25,-1
  277. 272 011a 0E94 0000 call NutEventBroadcast
  278. 273 011e CE01 movw r24,r28
  279. 274 0120 8759 subi r24,-105
  280. 275 0122 9F4F sbci r25,-1
  281. 276 0124 0E94 0000 call NutEventBroadcast
  282. 277 0128 CE01 movw r24,r28
  283. 278 012a 8559 subi r24,-107
  284. 279 012c 9F4F sbci r25,-1
  285. 280 012e 0E94 0000 call NutEventBroadcast
  286. 281 0132 FE01 movw r30,r28
  287. 282 0134 EB5A subi r30,-85
  288. 283 0136 FF4F sbci r31,-1
  289. 284 0138 61E0 ldi r22,lo8(1)
  290. 285 013a 8081 ld r24,Z
  291. GAS LISTING /tmp/ccxdCeAh.s page 6
  292. 286 013c 9181 ldd r25,Z+1
  293. 287 013e 0E94 0000 call NutSelectWakeup
  294. 288 0142 62E0 ldi r22,lo8(2)
  295. 289 0144 8EAD ldd r24,Y+62
  296. 290 0146 9FAD ldd r25,Y+63
  297. 291 0148 0E94 0000 call NutSelectWakeup
  298. 292 014c 00C0 rjmp .L112
  299. 293 .L108:
  300. 294 014e 8FEF ldi r24,lo8(-1)
  301. 295 0150 9FEF ldi r25,lo8(-1)
  302. 296 0152 00C0 rjmp .L106
  303. 297 .L74:
  304. 298 0154 80E0 ldi r24,0
  305. 299 0156 00C0 rjmp .L46
  306. 300 .L118:
  307. 301 0158 6B30 cpi r22,lo8(11)
  308. 302 015a 01F4 brne .+2
  309. 303 015c 00C0 rjmp .L37
  310. 304 015e 8AE0 ldi r24,lo8(10)
  311. 305 0160 8D8B std Y+21,r24
  312. 306 .L112:
  313. 307 0162 80E0 ldi r24,0
  314. 308 0164 90E0 ldi r25,0
  315. 309 .L106:
  316. 310 /* epilogue start */
  317. 311 0166 DF91 pop r29
  318. 312 0168 CF91 pop r28
  319. 313 016a 1F91 pop r17
  320. 314 016c 0895 ret
  321. 315 .size NutTcpStateChange, .-NutTcpStateChange
  322. 316 .section .text.NutTcpProcessAppData,"ax",@progbits
  323. 317 .type NutTcpProcessAppData, @function
  324. 318 NutTcpProcessAppData:
  325. 319 0000 6F92 push r6
  326. 320 0002 7F92 push r7
  327. 321 0004 8F92 push r8
  328. 322 0006 9F92 push r9
  329. 323 0008 AF92 push r10
  330. 324 000a BF92 push r11
  331. 325 000c CF92 push r12
  332. 326 000e DF92 push r13
  333. 327 0010 EF92 push r14
  334. 328 0012 FF92 push r15
  335. 329 0014 0F93 push r16
  336. 330 0016 1F93 push r17
  337. 331 0018 CF93 push r28
  338. 332 001a DF93 push r29
  339. 333 /* prologue: function */
  340. 334 /* frame size = 0 */
  341. 335 /* stack size = 14 */
  342. 336 .L__stack_usage = 14
  343. 337 001c EC01 movw r28,r24
  344. 338 001e FB01 movw r30,r22
  345. 339 0020 3C01 movw r6,r24
  346. 340 0022 81E5 ldi r24,81
  347. 341 0024 680E add r6,r24
  348. 342 0026 711C adc r7,__zero_reg__
  349. GAS LISTING /tmp/ccxdCeAh.s page 7
  350. 343 0028 D301 movw r26,r6
  351. 344 002a 8D91 ld r24,X+
  352. 345 002c 9C91 ld r25,X
  353. 346 002e 0097 sbiw r24,0
  354. 347 0030 01F0 breq .L136
  355. 348 .L121:
  356. 349 0032 DC01 movw r26,r24
  357. 350 0034 2D91 ld r18,X+
  358. 351 0036 3C91 ld r19,X
  359. 352 0038 1197 sbiw r26,1
  360. 353 003a 2115 cp r18,__zero_reg__
  361. 354 003c 3105 cpc r19,__zero_reg__
  362. 355 003e 01F0 breq .L135
  363. 356 0040 C901 movw r24,r18
  364. 357 0042 00C0 rjmp .L121
  365. 358 .L136:
  366. 359 0044 D301 movw r26,r6
  367. 360 .L135:
  368. 361 0046 ED93 st X+,r30
  369. 362 0048 FC93 st X,r31
  370. 363 004a 2189 ldd r18,Z+17
  371. 364 004c 3289 ldd r19,Z+18
  372. 365 004e CE01 movw r24,r28
  373. 366 0050 865B subi r24,-74
  374. 367 0052 9F4F sbci r25,-1
  375. 368 0054 DC01 movw r26,r24
  376. 369 0056 6D91 ld r22,X+
  377. 370 0058 7C91 ld r23,X
  378. 371 005a 1197 sbiw r26,1
  379. 372 005c 620F add r22,r18
  380. 373 005e 731F adc r23,r19
  381. 374 0060 6D93 st X+,r22
  382. 375 0062 7C93 st X,r23
  383. 376 0064 0697 sbiw r24,6
  384. 377 0066 6901 movw r12,r18
  385. 378 0068 032E mov __tmp_reg__,r19
  386. 379 006a 000C lsl r0
  387. 380 006c EE08 sbc r14,r14
  388. 381 006e FF08 sbc r15,r15
  389. 382 0070 DC01 movw r26,r24
  390. 383 0072 8D90 ld r8,X+
  391. 384 0074 9D90 ld r9,X+
  392. 385 0076 AD90 ld r10,X+
  393. 386 0078 BC90 ld r11,X
  394. 387 007a 1397 sbiw r26,3
  395. 388 007c C80C add r12,r8
  396. 389 007e D91C adc r13,r9
  397. 390 0080 EA1C adc r14,r10
  398. 391 0082 FB1C adc r15,r11
  399. 392 0084 CD92 st X+,r12
  400. 393 0086 DD92 st X+,r13
  401. 394 0088 ED92 st X+,r14
  402. 395 008a FC92 st X,r15
  403. 396 008c 1397 sbiw r26,3
  404. 397 008e AE01 movw r20,r28
  405. 398 0090 485B subi r20,-72
  406. 399 0092 5F4F sbci r21,-1
  407. GAS LISTING /tmp/ccxdCeAh.s page 8
  408. 400 0094 DA01 movw r26,r20
  409. 401 0096 8D91 ld r24,X+
  410. 402 0098 9C91 ld r25,X
  411. 403 009a 1197 sbiw r26,1
  412. 404 009c 2817 cp r18,r24
  413. 405 009e 3907 cpc r19,r25
  414. 406 00a0 00F0 brlo .L123
  415. 407 00a2 1D92 st X+,__zero_reg__
  416. 408 00a4 1C92 st X,__zero_reg__
  417. 409 00a6 00C0 rjmp .L124
  418. 410 .L123:
  419. 411 00a8 821B sub r24,r18
  420. 412 00aa 930B sbc r25,r19
  421. 413 00ac DA01 movw r26,r20
  422. 414 00ae 8D93 st X+,r24
  423. 415 00b0 9C93 st X,r25
  424. 416 .L124:
  425. 417 00b2 8AA1 ldd r24,Y+34
  426. 418 00b4 982F mov r25,r24
  427. 419 00b6 9061 ori r25,lo8(16)
  428. 420 00b8 9AA3 std Y+34,r25
  429. 421 00ba 2081 ld r18,Z
  430. 422 00bc 3181 ldd r19,Z+1
  431. 423 00be 232B or r18,r19
  432. 424 00c0 01F0 breq .L125
  433. 425 00c2 1182 std Z+1,__zero_reg__
  434. 426 00c4 1082 st Z,__zero_reg__
  435. 427 00c6 00C0 rjmp .L126
  436. 428 .L125:
  437. 429 00c8 8861 ori r24,lo8(24)
  438. 430 00ca 8AA3 std Y+34,r24
  439. 431 .L126:
  440. 432 00cc 8E01 movw r16,r28
  441. 433 00ce 005B subi r16,-80
  442. 434 00d0 1F4F sbci r17,-1
  443. 435 00d2 F801 movw r30,r16
  444. 436 00d4 9081 ld r25,Z
  445. 437 00d6 9F5F subi r25,lo8(-(1))
  446. 438 00d8 9083 st Z,r25
  447. 439 00da 9930 cpi r25,lo8(9)
  448. 440 00dc 04F0 brlt .L127
  449. 441 00de D301 movw r26,r6
  450. 442 00e0 ED91 ld r30,X+
  451. 443 00e2 FC91 ld r31,X
  452. 444 .L128:
  453. 445 00e4 3097 sbiw r30,0
  454. 446 00e6 01F0 breq .L127
  455. 447 00e8 2189 ldd r18,Z+17
  456. 448 00ea 3289 ldd r19,Z+18
  457. 449 00ec 2F3F cpi r18,-1
  458. 450 00ee 3105 cpc r19,__zero_reg__
  459. 451 00f0 01F0 breq .+2
  460. 452 00f2 04F4 brge .L129
  461. 453 00f4 CF01 movw r24,r30
  462. 454 00f6 0E94 0000 call NutNetBufCollect
  463. 455 00fa F801 movw r30,r16
  464. 456 00fc 9081 ld r25,Z
  465. GAS LISTING /tmp/ccxdCeAh.s page 9
  466. 457 00fe 981B sub r25,r24
  467. 458 0100 9083 st Z,r25
  468. 459 0102 00C0 rjmp .L127
  469. 460 .L129:
  470. 461 0104 9150 subi r25,lo8(-(-1))
  471. 462 0106 9730 cpi r25,lo8(7)
  472. 463 0108 01F0 breq .L127
  473. 464 010a 621B sub r22,r18
  474. 465 010c 730B sbc r23,r19
  475. 466 010e 0190 ld __tmp_reg__,Z+
  476. 467 0110 F081 ld r31,Z
  477. 468 0112 E02D mov r30,__tmp_reg__
  478. 469 0114 00C0 rjmp .L128
  479. 470 .L127:
  480. 471 0116 40E0 ldi r20,0
  481. 472 0118 50E0 ldi r21,0
  482. 473 011a 60E0 ldi r22,0
  483. 474 011c 70E0 ldi r23,0
  484. 475 011e CE01 movw r24,r28
  485. 476 /* epilogue start */
  486. 477 0120 DF91 pop r29
  487. 478 0122 CF91 pop r28
  488. 479 0124 1F91 pop r17
  489. 480 0126 0F91 pop r16
  490. 481 0128 FF90 pop r15
  491. 482 012a EF90 pop r14
  492. 483 012c DF90 pop r13
  493. 484 012e CF90 pop r12
  494. 485 0130 BF90 pop r11
  495. 486 0132 AF90 pop r10
  496. 487 0134 9F90 pop r9
  497. 488 0136 8F90 pop r8
  498. 489 0138 7F90 pop r7
  499. 490 013a 6F90 pop r6
  500. 491 013c 0C94 0000 jmp NutTcpOutput
  501. 492 .size NutTcpProcessAppData, .-NutTcpProcessAppData
  502. 493 .section .text.NutTcpProcessSyn,"ax",@progbits
  503. 494 .type NutTcpProcessSyn, @function
  504. 495 NutTcpProcessSyn:
  505. 496 0000 EF92 push r14
  506. 497 0002 FF92 push r15
  507. 498 0004 0F93 push r16
  508. 499 0006 1F93 push r17
  509. 500 0008 CF93 push r28
  510. 501 000a DF93 push r29
  511. 502 /* prologue: function */
  512. 503 /* frame size = 0 */
  513. 504 /* stack size = 6 */
  514. 505 .L__stack_usage = 6
  515. 506 000c EC01 movw r28,r24
  516. 507 000e 8B01 movw r16,r22
  517. 508 0010 7A01 movw r14,r20
  518. 509 0012 FB01 movw r30,r22
  519. 510 0014 8089 ldd r24,Z+16
  520. 511 0016 9189 ldd r25,Z+17
  521. 512 0018 A289 ldd r26,Z+18
  522. 513 001a B389 ldd r27,Z+19
  523. GAS LISTING /tmp/ccxdCeAh.s page 10
  524. 514 001c 8E8B std Y+22,r24
  525. 515 001e 9F8B std Y+23,r25
  526. 516 0020 A88F std Y+24,r26
  527. 517 0022 B98F std Y+25,r27
  528. 518 0024 DA01 movw r26,r20
  529. 519 0026 8D91 ld r24,X+
  530. 520 0028 9C91 ld r25,X
  531. 521 002a 99A3 std Y+33,r25
  532. 522 002c 88A3 std Y+32,r24
  533. 523 002e 8485 ldd r24,Z+12
  534. 524 0030 9585 ldd r25,Z+13
  535. 525 0032 A685 ldd r26,Z+14
  536. 526 0034 B785 ldd r27,Z+15
  537. 527 0036 8C8F std Y+28,r24
  538. 528 0038 9D8F std Y+29,r25
  539. 529 003a AE8F std Y+30,r26
  540. 530 003c BF8F std Y+31,r27
  541. 531 003e FA01 movw r30,r20
  542. 532 0040 6481 ldd r22,Z+4
  543. 533 0042 7581 ldd r23,Z+5
  544. 534 0044 8681 ldd r24,Z+6
  545. 535 0046 9781 ldd r25,Z+7
  546. 536 0048 0E94 0000 call __byte_swap4
  547. 537 004c FE01 movw r30,r28
  548. 538 004e E05C subi r30,-64
  549. 539 0050 FF4F sbci r31,-1
  550. 540 0052 6083 st Z,r22
  551. 541 0054 7183 std Z+1,r23
  552. 542 0056 8283 std Z+2,r24
  553. 543 0058 9383 std Z+3,r25
  554. 544 005a 6FA7 std Y+47,r22
  555. 545 005c 78AB std Y+48,r23
  556. 546 005e 89AB std Y+49,r24
  557. 547 0060 9AAB std Y+50,r25
  558. 548 0062 3496 adiw r30,4
  559. 549 0064 DC01 movw r26,r24
  560. 550 0066 CB01 movw r24,r22
  561. 551 0068 0196 adiw r24,1
  562. 552 006a A11D adc r26,__zero_reg__
  563. 553 006c B11D adc r27,__zero_reg__
  564. 554 006e 8083 st Z,r24
  565. 555 0070 9183 std Z+1,r25
  566. 556 0072 A283 std Z+2,r26
  567. 557 0074 B383 std Z+3,r27
  568. 558 0076 D701 movw r26,r14
  569. 559 0078 1E96 adiw r26,14
  570. 560 007a 8D91 ld r24,X+
  571. 561 007c 9C91 ld r25,X
  572. 562 007e 1F97 sbiw r26,14+1
  573. 563 /* #APP */
  574. 564 ; 309 "../../nut/include/sys/types.h" 1
  575. 565 0080 082E mov __tmp_reg__, r24
  576. 566 0082 892F mov r24, r25
  577. 567 0084 902D mov r25, __tmp_reg__
  578. 568
  579. 569 ; 0 "" 2
  580. 570 /* #NOAPP */
  581. GAS LISTING /tmp/ccxdCeAh.s page 11
  582. 571 0086 98AF std Y+56,r25
  583. 572 0088 8FAB std Y+55,r24
  584. 573 008a F801 movw r30,r16
  585. 574 008c 6485 ldd r22,Z+12
  586. 575 008e 7585 ldd r23,Z+13
  587. 576 0090 8685 ldd r24,Z+14
  588. 577 0092 9785 ldd r25,Z+15
  589. 578 0094 40E0 ldi r20,0
  590. 579 0096 50E0 ldi r21,0
  591. 580 0098 0E94 0000 call NutIpRouteQuery
  592. 581 009c 0097 sbiw r24,0
  593. 582 009e 01F0 breq .L137
  594. 583 00a0 DC01 movw r26,r24
  595. 584 00a2 1F96 adiw r26,15
  596. 585 00a4 ED91 ld r30,X+
  597. 586 00a6 FC91 ld r31,X
  598. 587 00a8 5097 sbiw r26,15+1
  599. 588 00aa 8789 ldd r24,Z+23
  600. 589 00ac 908D ldd r25,Z+24
  601. 590 00ae 8897 sbiw r24,40
  602. 591 00b0 FE01 movw r30,r28
  603. 592 00b2 E75A subi r30,-89
  604. 593 00b4 FF4F sbci r31,-1
  605. 594 00b6 2081 ld r18,Z
  606. 595 00b8 3181 ldd r19,Z+1
  607. 596 00ba 2115 cp r18,__zero_reg__
  608. 597 00bc 3105 cpc r19,__zero_reg__
  609. 598 00be 01F0 breq .L140
  610. 599 00c0 8217 cp r24,r18
  611. 600 00c2 9307 cpc r25,r19
  612. 601 00c4 00F4 brsh .L141
  613. 602 .L140:
  614. 603 00c6 9183 std Z+1,r25
  615. 604 00c8 8083 st Z,r24
  616. 605 .L141:
  617. 606 00ca 8081 ld r24,Z
  618. 607 00cc 9181 ldd r25,Z+1
  619. 608 00ce 2B89 ldd r18,Y+19
  620. 609 00d0 3C89 ldd r19,Y+20
  621. 610 00d2 8217 cp r24,r18
  622. 611 00d4 9307 cpc r25,r19
  623. 612 00d6 00F4 brsh .L137
  624. 613 00d8 9C8B std Y+20,r25
  625. 614 00da 8B8B std Y+19,r24
  626. 615 .L137:
  627. 616 /* epilogue start */
  628. 617 00dc DF91 pop r29
  629. 618 00de CF91 pop r28
  630. 619 00e0 1F91 pop r17
  631. 620 00e2 0F91 pop r16
  632. 621 00e4 FF90 pop r15
  633. 622 00e6 EF90 pop r14
  634. 623 00e8 0895 ret
  635. 624 .size NutTcpProcessSyn, .-NutTcpProcessSyn
  636. 625 .section .text.NutTcpStateCloseEvent,"ax",@progbits
  637. 626 .global NutTcpStateCloseEvent
  638. 627 .type NutTcpStateCloseEvent, @function
  639. GAS LISTING /tmp/ccxdCeAh.s page 12
  640. 628 NutTcpStateCloseEvent:
  641. 629 0000 CF93 push r28
  642. 630 0002 DF93 push r29
  643. 631 /* prologue: function */
  644. 632 /* frame size = 0 */
  645. 633 /* stack size = 2 */
  646. 634 .L__stack_usage = 2
  647. 635 0004 EC01 movw r28,r24
  648. 636 0006 892B or r24,r25
  649. 637 0008 01F0 breq .L154
  650. 638 000a 0E94 0000 call NutThreadYield
  651. 639 000e 8D89 ldd r24,Y+21
  652. 640 0010 90E0 ldi r25,0
  653. 641 0012 8B30 cpi r24,11
  654. 642 0014 9105 cpc r25,__zero_reg__
  655. 643 0016 00F4 brsh .L148
  656. 644 0018 FC01 movw r30,r24
  657. 645 001a 8827 clr r24
  658. 646 001c E050 subi r30,pm_lo8(-(.L150))
  659. 647 001e F040 sbci r31,pm_hi8(-(.L150))
  660. 648 0020 8040 sbci r24,pm_hh8(-(.L150))
  661. 649 0022 0C94 0000 jmp __tablejump2__
  662. 650 .section .progmem.gcc_sw_table.NutTcpStateCloseEvent,"a",@progbits
  663. 651 .p2align 1
  664. 652 .L150:
  665. 653 0000 0000 .word gs(.L149)
  666. 654 0002 0000 .word gs(.L149)
  667. 655 0004 0000 .word gs(.L149)
  668. 656 0006 0000 .word gs(.L151)
  669. 657 0008 0000 .word gs(.L151)
  670. 658 000a 0000 .word gs(.L152)
  671. 659 000c 0000 .word gs(.L153)
  672. 660 000e 0000 .word gs(.L153)
  673. 661 0010 0000 .word gs(.L153)
  674. 662 0012 0000 .word gs(.L153)
  675. 663 0014 0000 .word gs(.L153)
  676. 664 .section .text.NutTcpStateCloseEvent
  677. 665 .L149:
  678. 666 0026 6BE0 ldi r22,lo8(11)
  679. 667 0028 00C0 rjmp .L155
  680. 668 .L151:
  681. 669 002a 66E0 ldi r22,lo8(6)
  682. 670 002c 00C0 rjmp .L155
  683. 671 .L152:
  684. 672 002e 68E0 ldi r22,lo8(8)
  685. 673 .L155:
  686. 674 0030 CE01 movw r24,r28
  687. 675 0032 0E94 0000 call NutTcpStateChange
  688. 676 0036 80E0 ldi r24,0
  689. 677 0038 90E0 ldi r25,0
  690. 678 003a 00C0 rjmp .L147
  691. 679 .L153:
  692. 680 003c C959 subi r28,-103
  693. 681 003e DF4F sbci r29,-1
  694. 682 0040 85E2 ldi r24,lo8(37)
  695. 683 0042 90E0 ldi r25,0
  696. 684 0044 00C0 rjmp .L156
  697. GAS LISTING /tmp/ccxdCeAh.s page 13
  698. 685 .L148:
  699. 686 0046 C959 subi r28,-103
  700. 687 0048 DF4F sbci r29,-1
  701. 688 004a 89E3 ldi r24,lo8(57)
  702. 689 004c 90E0 ldi r25,0
  703. 690 .L156:
  704. 691 004e 9983 std Y+1,r25
  705. 692 0050 8883 st Y,r24
  706. 693 .L154:
  707. 694 0052 8FEF ldi r24,lo8(-1)
  708. 695 0054 9FEF ldi r25,lo8(-1)
  709. 696 .L147:
  710. 697 /* epilogue start */
  711. 698 0056 DF91 pop r29
  712. 699 0058 CF91 pop r28
  713. 700 005a 0895 ret
  714. 701 .size NutTcpStateCloseEvent, .-NutTcpStateCloseEvent
  715. 702 .section .text.NutTcpStateWindowEvent,"ax",@progbits
  716. 703 .global NutTcpStateWindowEvent
  717. 704 .type NutTcpStateWindowEvent, @function
  718. 705 NutTcpStateWindowEvent:
  719. 706 /* prologue: function */
  720. 707 /* frame size = 0 */
  721. 708 /* stack size = 0 */
  722. 709 .L__stack_usage = 0
  723. 710 0000 0097 sbiw r24,0
  724. 711 0002 01F0 breq .L159
  725. 712 0004 FC01 movw r30,r24
  726. 713 0006 22A1 ldd r18,Z+34
  727. 714 0008 2861 ori r18,lo8(24)
  728. 715 000a 22A3 std Z+34,r18
  729. 716 000c 40E0 ldi r20,0
  730. 717 000e 50E0 ldi r21,0
  731. 718 0010 60E0 ldi r22,0
  732. 719 0012 70E0 ldi r23,0
  733. 720 0014 0E94 0000 call NutTcpOutput
  734. 721 0018 80E0 ldi r24,0
  735. 722 001a 90E0 ldi r25,0
  736. 723 001c 0895 ret
  737. 724 .L159:
  738. 725 001e 8FEF ldi r24,lo8(-1)
  739. 726 0020 9FEF ldi r25,lo8(-1)
  740. 727 0022 0895 ret
  741. 728 .size NutTcpStateWindowEvent, .-NutTcpStateWindowEvent
  742. 729 .section .text.NutTcpGarbadgeCollect,"ax",@progbits
  743. 730 .global NutTcpGarbadgeCollect
  744. 731 .type NutTcpGarbadgeCollect, @function
  745. 732 NutTcpGarbadgeCollect:
  746. 733 0000 0F93 push r16
  747. 734 0002 1F93 push r17
  748. 735 0004 CF93 push r28
  749. 736 0006 DF93 push r29
  750. 737 /* prologue: function */
  751. 738 /* frame size = 0 */
  752. 739 /* stack size = 4 */
  753. 740 .L__stack_usage = 4
  754. 741 0008 E091 0000 lds r30,tcpSocketList
  755. GAS LISTING /tmp/ccxdCeAh.s page 14
  756. 742 000c F091 0000 lds r31,tcpSocketList+1
  757. 743 0010 C0E0 ldi r28,lo8(tcpSocketList)
  758. 744 0012 D0E0 ldi r29,hi8(tcpSocketList)
  759. 745 .L161:
  760. 746 0014 3097 sbiw r30,0
  761. 747 0016 01F0 breq .L165
  762. 748 0018 2589 ldd r18,Z+21
  763. 749 001a 8281 ldd r24,Z+2
  764. 750 001c 9381 ldd r25,Z+3
  765. 751 001e 2B30 cpi r18,lo8(11)
  766. 752 0020 01F4 brne .L162
  767. 753 0022 9983 std Y+1,r25
  768. 754 0024 8883 st Y,r24
  769. 755 0026 0281 ldd r16,Z+2
  770. 756 0028 1381 ldd r17,Z+3
  771. 757 002a CF01 movw r24,r30
  772. 758 002c 0E94 0000 call NutTcpDestroySocket
  773. 759 0030 F801 movw r30,r16
  774. 760 0032 00C0 rjmp .L161
  775. 761 .L162:
  776. 762 0034 EF01 movw r28,r30
  777. 763 0036 2296 adiw r28,2
  778. 764 0038 FC01 movw r30,r24
  779. 765 003a 00C0 rjmp .L161
  780. 766 .L165:
  781. 767 /* epilogue start */
  782. 768 003c DF91 pop r29
  783. 769 003e CF91 pop r28
  784. 770 0040 1F91 pop r17
  785. 771 0042 0F91 pop r16
  786. 772 0044 0895 ret
  787. 773 .size NutTcpGarbadgeCollect, .-NutTcpGarbadgeCollect
  788. 774 .section .text.NutTcpStateMachine,"ax",@progbits
  789. 775 .global NutTcpStateMachine
  790. 776 .type NutTcpStateMachine, @function
  791. 777 NutTcpStateMachine:
  792. 778 0000 CF92 push r12
  793. 779 0002 DF92 push r13
  794. 780 0004 EF92 push r14
  795. 781 0006 FF92 push r15
  796. 782 0008 0F93 push r16
  797. 783 000a 1F93 push r17
  798. 784 000c CF93 push r28
  799. 785 000e DF93 push r29
  800. 786 /* prologue: function */
  801. 787 /* frame size = 0 */
  802. 788 /* stack size = 8 */
  803. 789 .L__stack_usage = 8
  804. 790 0010 EC01 movw r28,r24
  805. 791 0012 1982 std Y+1,__zero_reg__
  806. 792 0014 1882 st Y,__zero_reg__
  807. 793 0016 8091 0000 lds r24,tcpThread
  808. 794 001a 9091 0000 lds r25,tcpThread+1
  809. 795 001e 892B or r24,r25
  810. 796 0020 01F4 brne .L167
  811. 797 0022 CE01 movw r24,r28
  812. 798 /* epilogue start */
  813. GAS LISTING /tmp/ccxdCeAh.s page 15
  814. 799 0024 DF91 pop r29
  815. 800 0026 CF91 pop r28
  816. 801 0028 1F91 pop r17
  817. 802 002a 0F91 pop r16
  818. 803 002c FF90 pop r15
  819. 804 002e EF90 pop r14
  820. 805 0030 DF90 pop r13
  821. 806 0032 CF90 pop r12
  822. 807 0034 0C94 0000 jmp NutTcpReject
  823. 808 .L167:
  824. 809 0038 C090 0000 lds r12,tcp_in_nbq
  825. 810 003c D090 0000 lds r13,tcp_in_nbq+1
  826. 811 0040 C114 cp r12,__zero_reg__
  827. 812 0042 D104 cpc r13,__zero_reg__
  828. 813 0044 01F4 brne .L168
  829. 814 0046 D093 0000 sts tcp_in_nbq+1,r29
  830. 815 004a C093 0000 sts tcp_in_nbq,r28
  831. 816 004e 00C0 rjmp .L172
  832. 817 .L168:
  833. 818 0050 0985 ldd r16,Y+9
  834. 819 0052 1A85 ldd r17,Y+10
  835. 820 0054 8D85 ldd r24,Y+13
  836. 821 0056 9E85 ldd r25,Y+14
  837. 822 0058 080F add r16,r24
  838. 823 005a 191F adc r17,r25
  839. 824 005c 8989 ldd r24,Y+17
  840. 825 005e 9A89 ldd r25,Y+18
  841. 826 0060 080F add r16,r24
  842. 827 0062 191F adc r17,r25
  843. 828 0064 E090 0000 lds r14,tcp_in_cnt
  844. 829 0068 F090 0000 lds r15,tcp_in_cnt+1
  845. 830 006c 88EF ldi r24,-8
  846. 831 006e F81A sub r15,r24
  847. 832 0070 E00E add r14,r16
  848. 833 0072 F11E adc r15,r17
  849. 834 0074 80E0 ldi r24,lo8(heapFreeList)
  850. 835 0076 90E0 ldi r25,hi8(heapFreeList)
  851. 836 0078 0E94 0000 call NutHeapRootAvailable
  852. 837 007c E816 cp r14,r24
  853. 838 007e F906 cpc r15,r25
  854. 839 0080 00F4 brsh .L169
  855. 840 0082 8091 0000 lds r24,tcp_in_cnt
  856. 841 0086 9091 0000 lds r25,tcp_in_cnt+1
  857. 842 008a 080F add r16,r24
  858. 843 008c 191F adc r17,r25
  859. 844 008e 1093 0000 sts tcp_in_cnt+1,r17
  860. 845 0092 0093 0000 sts tcp_in_cnt,r16
  861. 846 .L170:
  862. 847 0096 F601 movw r30,r12
  863. 848 0098 8081 ld r24,Z
  864. 849 009a 9181 ldd r25,Z+1
  865. 850 009c 0097 sbiw r24,0
  866. 851 009e 01F0 breq .L173
  867. 852 00a0 6C01 movw r12,r24
  868. 853 00a2 00C0 rjmp .L170
  869. 854 .L173:
  870. 855 00a4 D183 std Z+1,r29
  871. GAS LISTING /tmp/ccxdCeAh.s page 16
  872. 856 00a6 C083 st Z,r28
  873. 857 .L172:
  874. 858 00a8 80E0 ldi r24,lo8(tcp_in_rdy)
  875. 859 00aa 90E0 ldi r25,hi8(tcp_in_rdy)
  876. 860 /* epilogue start */
  877. 861 00ac DF91 pop r29
  878. 862 00ae CF91 pop r28
  879. 863 00b0 1F91 pop r17
  880. 864 00b2 0F91 pop r16
  881. 865 00b4 FF90 pop r15
  882. 866 00b6 EF90 pop r14
  883. 867 00b8 DF90 pop r13
  884. 868 00ba CF90 pop r12
  885. 869 00bc 0C94 0000 jmp NutEventPost
  886. 870 .L169:
  887. 871 00c0 CE01 movw r24,r28
  888. 872 /* epilogue start */
  889. 873 00c2 DF91 pop r29
  890. 874 00c4 CF91 pop r28
  891. 875 00c6 1F91 pop r17
  892. 876 00c8 0F91 pop r16
  893. 877 00ca FF90 pop r15
  894. 878 00cc EF90 pop r14
  895. 879 00ce DF90 pop r13
  896. 880 00d0 CF90 pop r12
  897. 881 00d2 0C94 0000 jmp NutNetBufFree
  898. 882 .size NutTcpStateMachine, .-NutTcpStateMachine
  899. 883 .section .rodata.str1.1,"aMS",@progbits,1
  900. 884 .LC0:
  901. 885 0000 7463 7073 .string "tcpsm"
  902. 885 6D00
  903. 886 .section .text.NutTcpInitStateMachine,"ax",@progbits
  904. 887 .global NutTcpInitStateMachine
  905. 888 .type NutTcpInitStateMachine, @function
  906. 889 NutTcpInitStateMachine:
  907. 890 /* prologue: function */
  908. 891 /* frame size = 0 */
  909. 892 /* stack size = 0 */
  910. 893 .L__stack_usage = 0
  911. 894 0000 8091 0000 lds r24,tcpThread
  912. 895 0004 9091 0000 lds r25,tcpThread+1
  913. 896 0008 892B or r24,r25
  914. 897 000a 01F4 brne .L177
  915. 898 000c 20E0 ldi r18,0
  916. 899 000e 31E0 ldi r19,lo8(1)
  917. 900 0010 40E0 ldi r20,0
  918. 901 0012 50E0 ldi r21,0
  919. 902 0014 60E0 ldi r22,lo8(gs(NutTcpSm))
  920. 903 0016 70E0 ldi r23,hi8(gs(NutTcpSm))
  921. 904 0018 80E0 ldi r24,lo8(.LC0)
  922. 905 001a 90E0 ldi r25,hi8(.LC0)
  923. 906 001c 0E94 0000 call NutThreadCreate
  924. 907 0020 9093 0000 sts tcpThread+1,r25
  925. 908 0024 8093 0000 sts tcpThread,r24
  926. 909 0028 21E0 ldi r18,lo8(1)
  927. 910 002a 30E0 ldi r19,0
  928. 911 002c 892B or r24,r25
  929. GAS LISTING /tmp/ccxdCeAh.s page 17
  930. 912 002e 01F0 breq .L176
  931. 913 0030 20E0 ldi r18,0
  932. 914 0032 30E0 ldi r19,0
  933. 915 .L176:
  934. 916 0034 8827 clr r24
  935. 917 0036 9927 clr r25
  936. 918 0038 821B sub r24,r18
  937. 919 003a 930B sbc r25,r19
  938. 920 003c 0895 ret
  939. 921 .L177:
  940. 922 003e 80E0 ldi r24,0
  941. 923 0040 90E0 ldi r25,0
  942. 924 0042 0895 ret
  943. 925 .size NutTcpInitStateMachine, .-NutTcpInitStateMachine
  944. 926 .section .text.NutTcpAbortSocket,"ax",@progbits
  945. 927 .global NutTcpAbortSocket
  946. 928 .type NutTcpAbortSocket, @function
  947. 929 NutTcpAbortSocket:
  948. 930 0000 FF92 push r15
  949. 931 0002 0F93 push r16
  950. 932 0004 1F93 push r17
  951. 933 0006 CF93 push r28
  952. 934 0008 DF93 push r29
  953. 935 /* prologue: function */
  954. 936 /* frame size = 0 */
  955. 937 /* stack size = 5 */
  956. 938 .L__stack_usage = 5
  957. 939 000a EC01 movw r28,r24
  958. 940 000c 8B01 movw r16,r22
  959. 941 000e FD88 ldd r15,Y+21
  960. 942 0010 FC01 movw r30,r24
  961. 943 0012 E959 subi r30,-103
  962. 944 0014 FF4F sbci r31,-1
  963. 945 0016 7183 std Z+1,r23
  964. 946 0018 6083 st Z,r22
  965. 947 001a 3297 sbiw r30,2
  966. 948 001c 1182 std Z+1,__zero_reg__
  967. 949 001e 1082 st Z,__zero_reg__
  968. 950 0020 3297 sbiw r30,2
  969. 951 0022 1182 std Z+1,__zero_reg__
  970. 952 0024 1082 st Z,__zero_reg__
  971. 953 0026 8D89 ldd r24,Y+21
  972. 954 0028 8630 cpi r24,lo8(6)
  973. 955 002a 00F0 brlo .L182
  974. 956 002c 8AE0 ldi r24,lo8(10)
  975. 957 002e 8D8B std Y+21,r24
  976. 958 0030 00C0 rjmp .L183
  977. 959 .L182:
  978. 960 0032 1D8A std Y+21,__zero_reg__
  979. 961 .L183:
  980. 962 0034 CE01 movw r24,r28
  981. 963 0036 0E94 0000 call NutTcpDiscardBuffers
  982. 964 003a CE01 movw r24,r28
  983. 965 003c 8D5A subi r24,-83
  984. 966 003e 9F4F sbci r25,-1
  985. 967 0040 0E94 0000 call NutEventBroadcast
  986. 968 0044 CE01 movw r24,r28
  987. GAS LISTING /tmp/ccxdCeAh.s page 18
  988. 969 0046 CC96 adiw r24,60
  989. 970 0048 0E94 0000 call NutEventBroadcast
  990. 971 004c CE01 movw r24,r28
  991. 972 004e 8759 subi r24,-105
  992. 973 0050 9F4F sbci r25,-1
  993. 974 0052 0E94 0000 call NutEventBroadcast
  994. 975 0056 CE01 movw r24,r28
  995. 976 0058 8559 subi r24,-107
  996. 977 005a 9F4F sbci r25,-1
  997. 978 005c 0E94 0000 call NutEventBroadcast
  998. 979 0060 82E0 ldi r24,lo8(2)
  999. 980 0062 F812 cpse r15,r24
  1000. 981 0064 00C0 rjmp .L184
  1001. 982 0066 0C33 cpi r16,60
  1002. 983 0068 1105 cpc r17,__zero_reg__
  1003. 984 006a 01F0 breq .L185
  1004. 985 .L184:
  1005. 986 006c FE01 movw r30,r28
  1006. 987 006e EB5A subi r30,-85
  1007. 988 0070 FF4F sbci r31,-1
  1008. 989 0072 61E0 ldi r22,lo8(1)
  1009. 990 0074 8081 ld r24,Z
  1010. 991 0076 9181 ldd r25,Z+1
  1011. 992 0078 0E94 0000 call NutSelectWakeup
  1012. 993 007c 62E0 ldi r22,lo8(2)
  1013. 994 007e 8EAD ldd r24,Y+62
  1014. 995 0080 9FAD ldd r25,Y+63
  1015. 996 0082 0E94 0000 call NutSelectWakeup
  1016. 997 .L185:
  1017. 998 0086 80E0 ldi r24,0
  1018. 999 0088 90E0 ldi r25,0
  1019. 1000 /* epilogue start */
  1020. 1001 008a DF91 pop r29
  1021. 1002 008c CF91 pop r28
  1022. 1003 008e 1F91 pop r17
  1023. 1004 0090 0F91 pop r16
  1024. 1005 0092 FF90 pop r15
  1025. 1006 0094 0895 ret
  1026. 1007 .size NutTcpAbortSocket, .-NutTcpAbortSocket
  1027. 1008 .section .text.NutTcpStateActiveOpenEvent,"ax",@progbits
  1028. 1009 .global NutTcpStateActiveOpenEvent
  1029. 1010 .type NutTcpStateActiveOpenEvent, @function
  1030. 1011 NutTcpStateActiveOpenEvent:
  1031. 1012 0000 CF93 push r28
  1032. 1013 0002 DF93 push r29
  1033. 1014 /* prologue: function */
  1034. 1015 /* frame size = 0 */
  1035. 1016 /* stack size = 2 */
  1036. 1017 .L__stack_usage = 2
  1037. 1018 0004 EC01 movw r28,r24
  1038. 1019 0006 62E0 ldi r22,lo8(2)
  1039. 1020 0008 0E94 0000 call NutTcpStateChange
  1040. 1021 000c 8D89 ldd r24,Y+21
  1041. 1022 000e 8230 cpi r24,lo8(2)
  1042. 1023 0010 01F4 brne .L190
  1043. 1024 0012 FE01 movw r30,r28
  1044. 1025 0014 EF58 subi r30,-113
  1045. GAS LISTING /tmp/ccxdCeAh.s page 19
  1046. 1026 0016 FF4F sbci r31,-1
  1047. 1027 0018 4081 ld r20,Z
  1048. 1028 001a 5181 ldd r21,Z+1
  1049. 1029 001c 6281 ldd r22,Z+2
  1050. 1030 001e 7381 ldd r23,Z+3
  1051. 1031 0020 CE01 movw r24,r28
  1052. 1032 0022 8559 subi r24,-107
  1053. 1033 0024 9F4F sbci r25,-1
  1054. 1034 0026 0E94 0000 call NutEventWait
  1055. 1035 002a 892B or r24,r25
  1056. 1036 002c 01F0 breq .L190
  1057. 1037 002e 6CE3 ldi r22,lo8(60)
  1058. 1038 0030 70E0 ldi r23,0
  1059. 1039 0032 CE01 movw r24,r28
  1060. 1040 0034 0E94 0000 call NutTcpAbortSocket
  1061. 1041 0038 8FEF ldi r24,lo8(-1)
  1062. 1042 003a 9FEF ldi r25,lo8(-1)
  1063. 1043 003c 00C0 rjmp .L191
  1064. 1044 .L190:
  1065. 1045 003e 8D89 ldd r24,Y+21
  1066. 1046 0040 8430 cpi r24,lo8(4)
  1067. 1047 0042 01F0 breq .L193
  1068. 1048 0044 2D89 ldd r18,Y+21
  1069. 1049 0046 81E0 ldi r24,lo8(1)
  1070. 1050 0048 90E0 ldi r25,0
  1071. 1051 004a 2530 cpi r18,lo8(5)
  1072. 1052 004c 01F4 brne .L192
  1073. 1053 004e 80E0 ldi r24,0
  1074. 1054 0050 90E0 ldi r25,0
  1075. 1055 .L192:
  1076. 1056 0052 9195 neg r25
  1077. 1057 0054 8195 neg r24
  1078. 1058 0056 9109 sbc r25,__zero_reg__
  1079. 1059 0058 00C0 rjmp .L191
  1080. 1060 .L193:
  1081. 1061 005a 80E0 ldi r24,0
  1082. 1062 005c 90E0 ldi r25,0
  1083. 1063 .L191:
  1084. 1064 /* epilogue start */
  1085. 1065 005e DF91 pop r29
  1086. 1066 0060 CF91 pop r28
  1087. 1067 0062 0895 ret
  1088. 1068 .size NutTcpStateActiveOpenEvent, .-NutTcpStateActiveOpenEvent
  1089. 1069 .section .text.NutTcpStateRetranTimeout,"ax",@progbits
  1090. 1070 .global NutTcpStateRetranTimeout
  1091. 1071 .type NutTcpStateRetranTimeout, @function
  1092. 1072 NutTcpStateRetranTimeout:
  1093. 1073 0000 EF92 push r14
  1094. 1074 0002 FF92 push r15
  1095. 1075 0004 0F93 push r16
  1096. 1076 0006 1F93 push r17
  1097. 1077 0008 CF93 push r28
  1098. 1078 000a DF93 push r29
  1099. 1079 /* prologue: function */
  1100. 1080 /* frame size = 0 */
  1101. 1081 /* stack size = 6 */
  1102. 1082 .L__stack_usage = 6
  1103. GAS LISTING /tmp/ccxdCeAh.s page 20
  1104. 1083 000c EC01 movw r28,r24
  1105. 1084 000e FC01 movw r30,r24
  1106. 1085 0010 EF59 subi r30,-97
  1107. 1086 0012 FF4F sbci r31,-1
  1108. 1087 0014 8081 ld r24,Z
  1109. 1088 0016 9181 ldd r25,Z+1
  1110. 1089 0018 9C01 movw r18,r24
  1111. 1090 001a 2F5F subi r18,-1
  1112. 1091 001c 3F4F sbci r19,-1
  1113. 1092 001e 3183 std Z+1,r19
  1114. 1093 0020 2083 st Z,r18
  1115. 1094 0022 0897 sbiw r24,8
  1116. 1095 0024 00F0 brlo .L198
  1117. 1096 0026 6CE3 ldi r22,lo8(60)
  1118. 1097 0028 70E0 ldi r23,0
  1119. 1098 002a 00C0 rjmp .L202
  1120. 1099 .L198:
  1121. 1100 002c 2AAD ldd r18,Y+58
  1122. 1101 002e 3BAD ldd r19,Y+59
  1123. 1102 0030 F901 movw r30,r18
  1124. 1103 0032 E080 ld r14,Z
  1125. 1104 0034 F180 ldd r15,Z+1
  1126. 1105 0036 4C8D ldd r20,Y+28
  1127. 1106 0038 5D8D ldd r21,Y+29
  1128. 1107 003a 6E8D ldd r22,Y+30
  1129. 1108 003c 7F8D ldd r23,Y+31
  1130. 1109 003e 86E0 ldi r24,lo8(6)
  1131. 1110 0040 0E94 0000 call NutIpOutput
  1132. 1111 0044 8C01 movw r16,r24
  1133. 1112 0046 892B or r24,r25
  1134. 1113 0048 01F0 breq .L200
  1135. 1114 004a FBAE std Y+59,r15
  1136. 1115 004c EAAE std Y+58,r14
  1137. 1116 004e 62E3 ldi r22,lo8(50)
  1138. 1117 0050 70E0 ldi r23,0
  1139. 1118 .L202:
  1140. 1119 0052 CE01 movw r24,r28
  1141. 1120 0054 0E94 0000 call NutTcpAbortSocket
  1142. 1121 0058 0FEF ldi r16,lo8(-1)
  1143. 1122 005a 1FEF ldi r17,lo8(-1)
  1144. 1123 005c 00C0 rjmp .L199
  1145. 1124 .L200:
  1146. 1125 005e 0E94 0000 call NutGetMillis
  1147. 1126 0062 FE01 movw r30,r28
  1148. 1127 0064 EB59 subi r30,-101
  1149. 1128 0066 FF4F sbci r31,-1
  1150. 1129 0068 6160 ori r22,1
  1151. 1130 006a 7183 std Z+1,r23
  1152. 1131 006c 6083 st Z,r22
  1153. 1132 006e C15A subi r28,-95
  1154. 1133 0070 DF4F sbci r29,-1
  1155. 1134 0072 8881 ld r24,Y
  1156. 1135 0074 9981 ldd r25,Y+1
  1157. 1136 0076 8031 cpi r24,16
  1158. 1137 0078 F7E2 ldi r31,39
  1159. 1138 007a 9F07 cpc r25,r31
  1160. 1139 007c 00F4 brsh .L201
  1161. GAS LISTING /tmp/ccxdCeAh.s page 21
  1162. 1140 007e 880F lsl r24
  1163. 1141 0080 991F rol r25
  1164. 1142 0082 00C0 rjmp .L203
  1165. 1143 .L201:
  1166. 1144 0084 80E2 ldi r24,lo8(32)
  1167. 1145 0086 9EE4 ldi r25,lo8(78)
  1168. 1146 .L203:
  1169. 1147 0088 9983 std Y+1,r25
  1170. 1148 008a 8883 st Y,r24
  1171. 1149 .L199:
  1172. 1150 008c C801 movw r24,r16
  1173. 1151 /* epilogue start */
  1174. 1152 008e DF91 pop r29
  1175. 1153 0090 CF91 pop r28
  1176. 1154 0092 1F91 pop r17
  1177. 1155 0094 0F91 pop r16
  1178. 1156 0096 FF90 pop r15
  1179. 1157 0098 EF90 pop r14
  1180. 1158 009a 0895 ret
  1181. 1159 .size NutTcpStateRetranTimeout, .-NutTcpStateRetranTimeout
  1182. 1160 .section .text.NutTcpProcessAck,"ax",@progbits
  1183. 1161 .type NutTcpProcessAck, @function
  1184. 1162 NutTcpProcessAck:
  1185. 1163 0000 4F92 push r4
  1186. 1164 0002 5F92 push r5
  1187. 1165 0004 6F92 push r6
  1188. 1166 0006 7F92 push r7
  1189. 1167 0008 8F92 push r8
  1190. 1168 000a 9F92 push r9
  1191. 1169 000c AF92 push r10
  1192. 1170 000e BF92 push r11
  1193. 1171 0010 CF92 push r12
  1194. 1172 0012 DF92 push r13
  1195. 1173 0014 EF92 push r14
  1196. 1174 0016 FF92 push r15
  1197. 1175 0018 0F93 push r16
  1198. 1176 001a 1F93 push r17
  1199. 1177 001c CF93 push r28
  1200. 1178 001e DF93 push r29
  1201. 1179 /* prologue: function */
  1202. 1180 /* frame size = 0 */
  1203. 1181 /* stack size = 16 */
  1204. 1182 .L__stack_usage = 16
  1205. 1183 0020 EC01 movw r28,r24
  1206. 1184 0022 8B01 movw r16,r22
  1207. 1185 0024 5A01 movw r10,r20
  1208. 1186 0026 DB01 movw r26,r22
  1209. 1187 0028 1896 adiw r26,8
  1210. 1188 002a 6D91 ld r22,X+
  1211. 1189 002c 7D91 ld r23,X+
  1212. 1190 002e 8D91 ld r24,X+
  1213. 1191 0030 9C91 ld r25,X
  1214. 1192 0032 1B97 sbiw r26,8+3
  1215. 1193 0034 0E94 0000 call __byte_swap4
  1216. 1194 0038 6B01 movw r12,r22
  1217. 1195 003a 7C01 movw r14,r24
  1218. 1196 003c 8BA5 ldd r24,Y+43
  1219. GAS LISTING /tmp/ccxdCeAh.s page 22
  1220. 1197 003e 9CA5 ldd r25,Y+44
  1221. 1198 0040 ADA5 ldd r26,Y+45
  1222. 1199 0042 BEA5 ldd r27,Y+46
  1223. 1200 0044 8C19 sub r24,r12
  1224. 1201 0046 9D09 sbc r25,r13
  1225. 1202 0048 AE09 sbc r26,r14
  1226. 1203 004a BF09 sbc r27,r15
  1227. 1204 004c B7FF sbrs r27,7
  1228. 1205 004e 00C0 rjmp .L205
  1229. 1206 0050 8AA1 ldd r24,Y+34
  1230. 1207 0052 8861 ori r24,lo8(24)
  1231. 1208 0054 8AA3 std Y+34,r24
  1232. 1209 0056 00C0 rjmp .L235
  1233. 1210 .L205:
  1234. 1211 0058 8FA1 ldd r24,Y+39
  1235. 1212 005a 98A5 ldd r25,Y+40
  1236. 1213 005c A9A5 ldd r26,Y+41
  1237. 1214 005e BAA5 ldd r27,Y+42
  1238. 1215 0060 C816 cp r12,r24
  1239. 1216 0062 D906 cpc r13,r25
  1240. 1217 0064 EA06 cpc r14,r26
  1241. 1218 0066 FB06 cpc r15,r27
  1242. 1219 0068 01F4 brne .L208
  1243. 1220 006a F801 movw r30,r16
  1244. 1221 006c 6481 ldd r22,Z+4
  1245. 1222 006e 7581 ldd r23,Z+5
  1246. 1223 0070 8681 ldd r24,Z+6
  1247. 1224 0072 9781 ldd r25,Z+7
  1248. 1225 0074 0E94 0000 call __byte_swap4
  1249. 1226 0078 AB01 movw r20,r22
  1250. 1227 007a BC01 movw r22,r24
  1251. 1228 007c 8FA5 ldd r24,Y+47
  1252. 1229 007e 98A9 ldd r25,Y+48
  1253. 1230 0080 A9A9 ldd r26,Y+49
  1254. 1231 0082 BAA9 ldd r27,Y+50
  1255. 1232 0084 2C01 movw r4,r24
  1256. 1233 0086 3D01 movw r6,r26
  1257. 1234 0088 441A sub r4,r20
  1258. 1235 008a 550A sbc r5,r21
  1259. 1236 008c 660A sbc r6,r22
  1260. 1237 008e 770A sbc r7,r23
  1261. 1238 0090 77FC sbrc r7,7
  1262. 1239 0092 00C0 rjmp .L209
  1263. 1240 0094 4817 cp r20,r24
  1264. 1241 0096 5907 cpc r21,r25
  1265. 1242 0098 6A07 cpc r22,r26
  1266. 1243 009a 7B07 cpc r23,r27
  1267. 1244 009c 01F4 brne .L208
  1268. 1245 009e 8BA9 ldd r24,Y+51
  1269. 1246 00a0 9CA9 ldd r25,Y+52
  1270. 1247 00a2 ADA9 ldd r26,Y+53
  1271. 1248 00a4 BEA9 ldd r27,Y+54
  1272. 1249 00a6 3601 movw r6,r12
  1273. 1250 00a8 4701 movw r8,r14
  1274. 1251 00aa 681A sub r6,r24
  1275. 1252 00ac 790A sbc r7,r25
  1276. 1253 00ae 8A0A sbc r8,r26
  1277. GAS LISTING /tmp/ccxdCeAh.s page 23
  1278. 1254 00b0 9B0A sbc r9,r27
  1279. 1255 00b2 97FC sbrc r9,7
  1280. 1256 00b4 00C0 rjmp .L208
  1281. 1257 .L209:
  1282. 1258 00b6 D801 movw r26,r16
  1283. 1259 00b8 1E96 adiw r26,14
  1284. 1260 00ba 8D91 ld r24,X+
  1285. 1261 00bc 9C91 ld r25,X
  1286. 1262 00be 1F97 sbiw r26,14+1
  1287. 1263 /* #APP */
  1288. 1264 ; 309 "../../nut/include/sys/types.h" 1
  1289. 1265 00c0 082E mov __tmp_reg__, r24
  1290. 1266 00c2 892F mov r24, r25
  1291. 1267 00c4 902D mov r25, __tmp_reg__
  1292. 1268
  1293. 1269 ; 0 "" 2
  1294. 1270 /* #NOAPP */
  1295. 1271 00c6 98AF std Y+56,r25
  1296. 1272 00c8 8FAB std Y+55,r24
  1297. 1273 00ca 4FA7 std Y+47,r20
  1298. 1274 00cc 58AB std Y+48,r21
  1299. 1275 00ce 69AB std Y+49,r22
  1300. 1276 00d0 7AAB std Y+50,r23
  1301. 1277 00d2 CBAA std Y+51,r12
  1302. 1278 00d4 DCAA std Y+52,r13
  1303. 1279 00d6 EDAA std Y+53,r14
  1304. 1280 00d8 FEAA std Y+54,r15
  1305. 1281 .L208:
  1306. 1282 00da 8FA1 ldd r24,Y+39
  1307. 1283 00dc 98A5 ldd r25,Y+40
  1308. 1284 00de A9A5 ldd r26,Y+41
  1309. 1285 00e0 BAA5 ldd r27,Y+42
  1310. 1286 00e2 B701 movw r22,r14
  1311. 1287 00e4 A601 movw r20,r12
  1312. 1288 00e6 481B sub r20,r24
  1313. 1289 00e8 590B sbc r21,r25
  1314. 1290 00ea 6A0B sbc r22,r26
  1315. 1291 00ec 7B0B sbc r23,r27
  1316. 1292 00ee 77FD sbrc r23,7
  1317. 1293 00f0 00C0 rjmp .L235
  1318. 1294 00f2 C816 cp r12,r24
  1319. 1295 00f4 D906 cpc r13,r25
  1320. 1296 00f6 EA06 cpc r14,r26
  1321. 1297 00f8 FB06 cpc r15,r27
  1322. 1298 00fa 01F4 brne .L212
  1323. 1299 00fc 8AAD ldd r24,Y+58
  1324. 1300 00fe 9BAD ldd r25,Y+59
  1325. 1301 0100 892B or r24,r25
  1326. 1302 0102 01F4 brne .+2
  1327. 1303 0104 00C0 rjmp .L235
  1328. 1304 0106 AB28 or r10,r11
  1329. 1305 0108 01F0 breq .+2
  1330. 1306 010a 00C0 rjmp .L235
  1331. 1307 010c F801 movw r30,r16
  1332. 1308 010e 8585 ldd r24,Z+13
  1333. 1309 0110 8370 andi r24,lo8(3)
  1334. 1310 0112 01F0 breq .+2
  1335. GAS LISTING /tmp/ccxdCeAh.s page 24
  1336. 1311 0114 00C0 rjmp .L235
  1337. 1312 0116 89AD ldd r24,Y+57
  1338. 1313 0118 8F5F subi r24,lo8(-(1))
  1339. 1314 011a 8330 cpi r24,lo8(3)
  1340. 1315 011c 00F4 brsh .L214
  1341. 1316 011e 89AF std Y+57,r24
  1342. 1317 0120 00C0 rjmp .L235
  1343. 1318 .L214:
  1344. 1319 0122 19AE std Y+57,__zero_reg__
  1345. 1320 0124 CE01 movw r24,r28
  1346. 1321 0126 0E94 0000 call NutTcpStateRetranTimeout
  1347. 1322 012a 21E0 ldi r18,lo8(1)
  1348. 1323 012c 30E0 ldi r19,0
  1349. 1324 012e 892B or r24,r25
  1350. 1325 0130 01F4 brne .L215
  1351. 1326 0132 20E0 ldi r18,0
  1352. 1327 0134 30E0 ldi r19,0
  1353. 1328 .L215:
  1354. 1329 0136 8827 clr r24
  1355. 1330 0138 9927 clr r25
  1356. 1331 013a 821B sub r24,r18
  1357. 1332 013c 930B sbc r25,r19
  1358. 1333 013e 00C0 rjmp .L206
  1359. 1334 .L212:
  1360. 1335 0140 19AE std Y+57,__zero_reg__
  1361. 1336 0142 CFA2 std Y+39,r12
  1362. 1337 0144 D8A6 std Y+40,r13
  1363. 1338 0146 E9A6 std Y+41,r14
  1364. 1339 0148 FAA6 std Y+42,r15
  1365. 1340 014a D801 movw r26,r16
  1366. 1341 014c 1E96 adiw r26,14
  1367. 1342 014e 8D91 ld r24,X+
  1368. 1343 0150 9C91 ld r25,X
  1369. 1344 0152 1F97 sbiw r26,14+1
  1370. 1345 /* #APP */
  1371. 1346 ; 309 "../../nut/include/sys/types.h" 1
  1372. 1347 0154 082E mov __tmp_reg__, r24
  1373. 1348 0156 892F mov r24, r25
  1374. 1349 0158 902D mov r25, __tmp_reg__
  1375. 1350
  1376. 1351 ; 0 "" 2
  1377. 1352 /* #NOAPP */
  1378. 1353 015a 98AF std Y+56,r25
  1379. 1354 015c 8FAB std Y+55,r24
  1380. 1355 015e 8E01 movw r16,r28
  1381. 1356 0160 055A subi r16,-91
  1382. 1357 0162 1F4F sbci r17,-1
  1383. 1358 0164 F801 movw r30,r16
  1384. 1359 0166 8081 ld r24,Z
  1385. 1360 0168 9181 ldd r25,Z+1
  1386. 1361 016a A281 ldd r26,Z+2
  1387. 1362 016c B381 ldd r27,Z+3
  1388. 1363 016e 0097 sbiw r24,0
  1389. 1364 0170 A105 cpc r26,__zero_reg__
  1390. 1365 0172 B105 cpc r27,__zero_reg__
  1391. 1366 0174 01F0 breq .L216
  1392. 1367 0176 8C19 sub r24,r12
  1393. GAS LISTING /tmp/ccxdCeAh.s page 25
  1394. 1368 0178 9D09 sbc r25,r13
  1395. 1369 017a AE09 sbc r26,r14
  1396. 1370 017c BF09 sbc r27,r15
  1397. 1371 017e B7FF sbrs r27,7
  1398. 1372 0180 00C0 rjmp .L216
  1399. 1373 0182 CE01 movw r24,r28
  1400. 1374 0184 0E94 0000 call NutTcpCalcRtt
  1401. 1375 .L216:
  1402. 1376 0188 D801 movw r26,r16
  1403. 1377 018a 1D92 st X+,__zero_reg__
  1404. 1378 018c 1D92 st X+,__zero_reg__
  1405. 1379 018e 1D92 st X+,__zero_reg__
  1406. 1380 0190 1C92 st X,__zero_reg__
  1407. 1381 0192 1397 sbiw r26,3
  1408. 1382 .L217:
  1409. 1383 0194 0AAD ldd r16,Y+58
  1410. 1384 0196 1BAD ldd r17,Y+59
  1411. 1385 0198 0115 cp r16,__zero_reg__
  1412. 1386 019a 1105 cpc r17,__zero_reg__
  1413. 1387 019c 01F0 breq .L223
  1414. 1388 019e D801 movw r26,r16
  1415. 1389 01a0 1B96 adiw r26,11
  1416. 1390 01a2 ED91 ld r30,X+
  1417. 1391 01a4 FC91 ld r31,X
  1418. 1392 01a6 1C97 sbiw r26,11+1
  1419. 1393 01a8 6481 ldd r22,Z+4
  1420. 1394 01aa 7581 ldd r23,Z+5
  1421. 1395 01ac 8681 ldd r24,Z+6
  1422. 1396 01ae 9781 ldd r25,Z+7
  1423. 1397 01b0 0E94 0000 call __byte_swap4
  1424. 1398 01b4 F801 movw r30,r16
  1425. 1399 01b6 8188 ldd r8,Z+17
  1426. 1400 01b8 9288 ldd r9,Z+18
  1427. 1401 01ba 092C mov __tmp_reg__,r9
  1428. 1402 01bc 000C lsl r0
  1429. 1403 01be AA08 sbc r10,r10
  1430. 1404 01c0 BB08 sbc r11,r11
  1431. 1405 01c2 DC01 movw r26,r24
  1432. 1406 01c4 CB01 movw r24,r22
  1433. 1407 01c6 880D add r24,r8
  1434. 1408 01c8 991D adc r25,r9
  1435. 1409 01ca AA1D adc r26,r10
  1436. 1410 01cc BB1D adc r27,r11
  1437. 1411 01ce 2385 ldd r18,Z+11
  1438. 1412 01d0 3485 ldd r19,Z+12
  1439. 1413 01d2 F901 movw r30,r18
  1440. 1414 01d4 2585 ldd r18,Z+13
  1441. 1415 01d6 2370 andi r18,lo8(3)
  1442. 1416 01d8 01F0 breq .L218
  1443. 1417 01da 0196 adiw r24,1
  1444. 1418 01dc A11D adc r26,__zero_reg__
  1445. 1419 01de B11D adc r27,__zero_reg__
  1446. 1420 .L218:
  1447. 1421 01e0 3601 movw r6,r12
  1448. 1422 01e2 4701 movw r8,r14
  1449. 1423 01e4 681A sub r6,r24
  1450. 1424 01e6 790A sbc r7,r25
  1451. GAS LISTING /tmp/ccxdCeAh.s page 26
  1452. 1425 01e8 8A0A sbc r8,r26
  1453. 1426 01ea 9B0A sbc r9,r27
  1454. 1427 01ec 97FE sbrs r9,7
  1455. 1428 01ee 00C0 rjmp .L219
  1456. 1429 .L223:
  1457. 1430 01f0 8AAD ldd r24,Y+58
  1458. 1431 01f2 9BAD ldd r25,Y+59
  1459. 1432 01f4 8E01 movw r16,r28
  1460. 1433 01f6 0B59 subi r16,-101
  1461. 1434 01f8 1F4F sbci r17,-1
  1462. 1435 01fa 892B or r24,r25
  1463. 1436 01fc 01F0 breq .L236
  1464. 1437 01fe 0E94 0000 call NutGetMillis
  1465. 1438 0202 6160 ori r22,1
  1466. 1439 0204 F801 movw r30,r16
  1467. 1440 0206 7183 std Z+1,r23
  1468. 1441 0208 6083 st Z,r22
  1469. 1442 020a 00C0 rjmp .L224
  1470. 1443 .L219:
  1471. 1444 020c D801 movw r26,r16
  1472. 1445 020e 8D91 ld r24,X+
  1473. 1446 0210 9C91 ld r25,X
  1474. 1447 0212 9BAF std Y+59,r25
  1475. 1448 0214 8AAF std Y+58,r24
  1476. 1449 0216 C801 movw r24,r16
  1477. 1450 0218 0E94 0000 call NutNetBufFree
  1478. 1451 021c 00C0 rjmp .L217
  1479. 1452 .L236:
  1480. 1453 021e D801 movw r26,r16
  1481. 1454 0220 1D92 st X+,__zero_reg__
  1482. 1455 0222 1C92 st X,__zero_reg__
  1483. 1456 .L224:
  1484. 1457 0224 CF59 subi r28,-97
  1485. 1458 0226 DF4F sbci r29,-1
  1486. 1459 0228 1982 std Y+1,__zero_reg__
  1487. 1460 022a 1882 st Y,__zero_reg__
  1488. 1461 .L235:
  1489. 1462 022c 80E0 ldi r24,0
  1490. 1463 022e 90E0 ldi r25,0
  1491. 1464 .L206:
  1492. 1465 /* epilogue start */
  1493. 1466 0230 DF91 pop r29
  1494. 1467 0232 CF91 pop r28
  1495. 1468 0234 1F91 pop r17
  1496. 1469 0236 0F91 pop r16
  1497. 1470 0238 FF90 pop r15
  1498. 1471 023a EF90 pop r14
  1499. 1472 023c DF90 pop r13
  1500. 1473 023e CF90 pop r12
  1501. 1474 0240 BF90 pop r11
  1502. 1475 0242 AF90 pop r10
  1503. 1476 0244 9F90 pop r9
  1504. 1477 0246 8F90 pop r8
  1505. 1478 0248 7F90 pop r7
  1506. 1479 024a 6F90 pop r6
  1507. 1480 024c 5F90 pop r5
  1508. 1481 024e 4F90 pop r4
  1509. GAS LISTING /tmp/ccxdCeAh.s page 27
  1510. 1482 0250 0895 ret
  1511. 1483 .size NutTcpProcessAck, .-NutTcpProcessAck
  1512. 1484 .section .text.NutTcpStateProcess,"ax",@progbits
  1513. 1485 .type NutTcpStateProcess, @function
  1514. 1486 NutTcpStateProcess:
  1515. 1487 0000 2F92 push r2
  1516. 1488 0002 3F92 push r3
  1517. 1489 0004 4F92 push r4
  1518. 1490 0006 5F92 push r5
  1519. 1491 0008 6F92 push r6
  1520. 1492 000a 7F92 push r7
  1521. 1493 000c 8F92 push r8
  1522. 1494 000e 9F92 push r9
  1523. 1495 0010 AF92 push r10
  1524. 1496 0012 BF92 push r11
  1525. 1497 0014 CF92 push r12
  1526. 1498 0016 DF92 push r13
  1527. 1499 0018 EF92 push r14
  1528. 1500 001a FF92 push r15
  1529. 1501 001c 0F93 push r16
  1530. 1502 001e 1F93 push r17
  1531. 1503 0020 CF93 push r28
  1532. 1504 0022 DF93 push r29
  1533. 1505 0024 00D0 rcall .
  1534. 1506 0026 00D0 rcall .
  1535. 1507 0028 CDB7 in r28,__SP_L__
  1536. 1508 002a DEB7 in r29,__SP_H__
  1537. 1509 /* prologue: function */
  1538. 1510 /* frame size = 6 */
  1539. 1511 /* stack size = 24 */
  1540. 1512 .L__stack_usage = 24
  1541. 1513 002c 9E83 std Y+6,r25
  1542. 1514 002e 8D83 std Y+5,r24
  1543. 1515 0030 8B01 movw r16,r22
  1544. 1516 0032 DB01 movw r26,r22
  1545. 1517 0034 1B96 adiw r26,11
  1546. 1518 0036 CD90 ld r12,X+
  1547. 1519 0038 DC90 ld r13,X
  1548. 1520 003a 1C97 sbiw r26,11+1
  1549. 1521 003c F601 movw r30,r12
  1550. 1522 003e F584 ldd r15,Z+13
  1551. 1523 0040 DC01 movw r26,r24
  1552. 1524 0042 5596 adiw r26,21
  1553. 1525 0044 8C91 ld r24,X
  1554. 1526 0046 90E0 ldi r25,0
  1555. 1527 0048 8C30 cpi r24,12
  1556. 1528 004a 9105 cpc r25,__zero_reg__
  1557. 1529 004c 00F0 brlo .+2
  1558. 1530 004e 00C0 rjmp .L238
  1559. 1531 0050 FC01 movw r30,r24
  1560. 1532 0052 8827 clr r24
  1561. 1533 0054 E050 subi r30,pm_lo8(-(.L240))
  1562. 1534 0056 F040 sbci r31,pm_hi8(-(.L240))
  1563. 1535 0058 8040 sbci r24,pm_hh8(-(.L240))
  1564. 1536 005a 0C94 0000 jmp __tablejump2__
  1565. 1537 .section .progmem.gcc_sw_table.NutTcpStateProcess,"a",@progbits
  1566. 1538 .p2align 1
  1567. GAS LISTING /tmp/ccxdCeAh.s page 28
  1568. 1539 .L240:
  1569. 1540 0000 0000 .word gs(.L239)
  1570. 1541 0002 0000 .word gs(.L241)
  1571. 1542 0004 0000 .word gs(.L242)
  1572. 1543 0006 0000 .word gs(.L243)
  1573. 1544 0008 0000 .word gs(.L244)
  1574. 1545 000a 0000 .word gs(.L245)
  1575. 1546 000c 0000 .word gs(.L246)
  1576. 1547 000e 0000 .word gs(.L247)
  1577. 1548 0010 0000 .word gs(.L248)
  1578. 1549 0012 0000 .word gs(.L249)
  1579. 1550 0014 0000 .word gs(.L238)
  1580. 1551 0016 0000 .word gs(.L239)
  1581. 1552 .section .text.NutTcpStateProcess
  1582. 1553 .L244:
  1583. 1554 005e ED81 ldd r30,Y+5
  1584. 1555 0060 FE81 ldd r31,Y+6
  1585. 1556 0062 27A8 ldd r2,Z+55
  1586. 1557 0064 30AC ldd r3,Z+56
  1587. 1558 0066 27A1 ldd r18,Z+39
  1588. 1559 0068 30A5 ldd r19,Z+40
  1589. 1560 006a 41A5 ldd r20,Z+41
  1590. 1561 006c 52A5 ldd r21,Z+42
  1591. 1562 006e 2983 std Y+1,r18
  1592. 1563 0070 3A83 std Y+2,r19
  1593. 1564 0072 4B83 std Y+3,r20
  1594. 1565 0074 5C83 std Y+4,r21
  1595. 1566 0076 F2FE sbrs r15,2
  1596. 1567 0078 00C0 rjmp .L251
  1597. 1568 007a CB01 movw r24,r22
  1598. 1569 007c 0E94 0000 call NutNetBufFree
  1599. 1570 0080 66E3 ldi r22,lo8(54)
  1600. 1571 0082 70E0 ldi r23,0
  1601. 1572 0084 8D81 ldd r24,Y+5
  1602. 1573 0086 9E81 ldd r25,Y+6
  1603. 1574 0088 0E94 0000 call NutTcpAbortSocket
  1604. 1575 008c 00C0 rjmp .L252
  1605. 1576 .L251:
  1606. 1577 008e F1FE sbrs r15,1
  1607. 1578 0090 00C0 rjmp .L253
  1608. 1579 0092 F601 movw r30,r12
  1609. 1580 0094 6481 ldd r22,Z+4
  1610. 1581 0096 7581 ldd r23,Z+5
  1611. 1582 0098 8681 ldd r24,Z+6
  1612. 1583 009a 9781 ldd r25,Z+7
  1613. 1584 009c 0E94 0000 call __byte_swap4
  1614. 1585 00a0 ED81 ldd r30,Y+5
  1615. 1586 00a2 FE81 ldd r31,Y+6
  1616. 1587 00a4 E05C subi r30,-64
  1617. 1588 00a6 FF4F sbci r31,-1
  1618. 1589 00a8 C080 ld r12,Z
  1619. 1590 00aa D180 ldd r13,Z+1
  1620. 1591 00ac E280 ldd r14,Z+2
  1621. 1592 00ae F380 ldd r15,Z+3
  1622. 1593 00b0 6C15 cp r22,r12
  1623. 1594 00b2 7D05 cpc r23,r13
  1624. 1595 00b4 8E05 cpc r24,r14
  1625. GAS LISTING /tmp/ccxdCeAh.s page 29
  1626. 1596 00b6 9F05 cpc r25,r15
  1627. 1597 00b8 01F0 breq .L254
  1628. 1598 00ba C801 movw r24,r16
  1629. 1599 00bc 0E94 0000 call NutTcpReject
  1630. 1600 00c0 00C0 rjmp .L252
  1631. 1601 .L253:
  1632. 1602 00c2 F4FC sbrc r15,4
  1633. 1603 00c4 00C0 rjmp .L339
  1634. 1604 .L254:
  1635. 1605 00c6 C801 movw r24,r16
  1636. 1606 00c8 0E94 0000 call NutNetBufFree
  1637. 1607 00cc 00C0 rjmp .L252
  1638. 1608 .L339:
  1639. 1609 00ce DB01 movw r26,r22
  1640. 1610 00d0 5196 adiw r26,17
  1641. 1611 00d2 4D91 ld r20,X+
  1642. 1612 00d4 5C91 ld r21,X
  1643. 1613 00d6 5297 sbiw r26,17+1
  1644. 1614 00d8 B601 movw r22,r12
  1645. 1615 00da 8D81 ldd r24,Y+5
  1646. 1616 00dc 9E81 ldd r25,Y+6
  1647. 1617 00de 0E94 0000 call NutTcpProcessAck
  1648. 1618 00e2 AD80 ldd r10,Y+5
  1649. 1619 00e4 BE80 ldd r11,Y+6
  1650. 1620 00e6 B4E4 ldi r27,68
  1651. 1621 00e8 AB0E add r10,r27
  1652. 1622 00ea B11C adc r11,__zero_reg__
  1653. 1623 00ec F501 movw r30,r10
  1654. 1624 00ee 4080 ld r4,Z
  1655. 1625 00f0 5180 ldd r5,Z+1
  1656. 1626 00f2 6280 ldd r6,Z+2
  1657. 1627 00f4 7380 ldd r7,Z+3
  1658. 1628 00f6 D601 movw r26,r12
  1659. 1629 00f8 1496 adiw r26,4
  1660. 1630 00fa 6D91 ld r22,X+
  1661. 1631 00fc 7D91 ld r23,X+
  1662. 1632 00fe 8D91 ld r24,X+
  1663. 1633 0100 9C91 ld r25,X
  1664. 1634 0102 1797 sbiw r26,4+3
  1665. 1635 0104 0E94 0000 call __byte_swap4
  1666. 1636 0108 461A sub r4,r22
  1667. 1637 010a 570A sbc r5,r23
  1668. 1638 010c 680A sbc r6,r24
  1669. 1639 010e 790A sbc r7,r25
  1670. 1640 0110 77FE sbrs r7,7
  1671. 1641 0112 00C0 rjmp .L255
  1672. 1642 0114 F801 movw r30,r16
  1673. 1643 0116 2189 ldd r18,Z+17
  1674. 1644 0118 3289 ldd r19,Z+18
  1675. 1645 011a 2115 cp r18,__zero_reg__
  1676. 1646 011c 3105 cpc r19,__zero_reg__
  1677. 1647 011e 01F4 brne .+2
  1678. 1648 0120 00C0 rjmp .L256
  1679. 1649 0122 8091 0000 lds r24,tcp_adv_cnt
  1680. 1650 0126 9091 0000 lds r25,tcp_adv_cnt+1
  1681. 1651 012a 8896 adiw r24,40
  1682. 1652 012c 4581 ldd r20,Z+5
  1683. GAS LISTING /tmp/ccxdCeAh.s page 30
  1684. 1653 012e 5681 ldd r21,Z+6
  1685. 1654 0130 840F add r24,r20
  1686. 1655 0132 951F adc r25,r21
  1687. 1656 0134 820F add r24,r18
  1688. 1657 0136 931F adc r25,r19
  1689. 1658 0138 9093 0000 sts tcp_adv_cnt+1,r25
  1690. 1659 013c 8093 0000 sts tcp_adv_cnt,r24
  1691. 1660 0140 8139 cpi r24,-111
  1692. 1661 0142 9C40 sbci r25,12
  1693. 1662 0144 00F0 brlo .L257
  1694. 1663 0146 C801 movw r24,r16
  1695. 1664 0148 0E94 0000 call NutNetBufFree
  1696. 1665 014c 8091 0000 lds r24,tcp_adv_cnt
  1697. 1666 0150 9091 0000 lds r25,tcp_adv_cnt+1
  1698. 1667 0154 8897 sbiw r24,40
  1699. 1668 0156 D801 movw r26,r16
  1700. 1669 0158 1596 adiw r26,5
  1701. 1670 015a 2D91 ld r18,X+
  1702. 1671 015c 3C91 ld r19,X
  1703. 1672 015e 1697 sbiw r26,5+1
  1704. 1673 0160 821B sub r24,r18
  1705. 1674 0162 930B sbc r25,r19
  1706. 1675 0164 5196 adiw r26,17
  1707. 1676 0166 2D91 ld r18,X+
  1708. 1677 0168 3C91 ld r19,X
  1709. 1678 016a 5297 sbiw r26,17+1
  1710. 1679 016c 821B sub r24,r18
  1711. 1680 016e 930B sbc r25,r19
  1712. 1681 0170 9093 0000 sts tcp_adv_cnt+1,r25
  1713. 1682 0174 8093 0000 sts tcp_adv_cnt,r24
  1714. 1683 0178 00C0 rjmp .L258
  1715. 1684 .L257:
  1716. 1685 017a ED81 ldd r30,Y+5
  1717. 1686 017c FE81 ldd r31,Y+6
  1718. 1687 017e E95A subi r30,-87
  1719. 1688 0180 FF4F sbci r31,-1
  1720. 1689 0182 8080 ld r8,Z
  1721. 1690 0184 9180 ldd r9,Z+1
  1722. 1691 0186 5F01 movw r10,r30
  1723. 1692 .L259:
  1724. 1693 0188 8114 cp r8,__zero_reg__
  1725. 1694 018a 9104 cpc r9,__zero_reg__
  1726. 1695 018c 01F4 brne .+2
  1727. 1696 018e 00C0 rjmp .L340
  1728. 1697 0190 F401 movw r30,r8
  1729. 1698 0192 E384 ldd r14,Z+11
  1730. 1699 0194 F484 ldd r15,Z+12
  1731. 1700 0196 D601 movw r26,r12
  1732. 1701 0198 1496 adiw r26,4
  1733. 1702 019a 6D91 ld r22,X+
  1734. 1703 019c 7D91 ld r23,X+
  1735. 1704 019e 8D91 ld r24,X+
  1736. 1705 01a0 9C91 ld r25,X
  1737. 1706 01a2 1797 sbiw r26,4+3
  1738. 1707 01a4 0E94 0000 call __byte_swap4
  1739. 1708 01a8 2B01 movw r4,r22
  1740. 1709 01aa 3C01 movw r6,r24
  1741. GAS LISTING /tmp/ccxdCeAh.s page 31
  1742. 1710 01ac F701 movw r30,r14
  1743. 1711 01ae 6481 ldd r22,Z+4
  1744. 1712 01b0 7581 ldd r23,Z+5
  1745. 1713 01b2 8681 ldd r24,Z+6
  1746. 1714 01b4 9781 ldd r25,Z+7
  1747. 1715 01b6 0E94 0000 call __byte_swap4
  1748. 1716 01ba A301 movw r20,r6
  1749. 1717 01bc 9201 movw r18,r4
  1750. 1718 01be 261B sub r18,r22
  1751. 1719 01c0 370B sbc r19,r23
  1752. 1720 01c2 480B sbc r20,r24
  1753. 1721 01c4 590B sbc r21,r25
  1754. 1722 01c6 57FF sbrs r21,7
  1755. 1723 01c8 00C0 rjmp .L260
  1756. 1724 01ca D501 movw r26,r10
  1757. 1725 01cc 0D93 st X+,r16
  1758. 1726 01ce 1C93 st X,r17
  1759. 1727 01d0 F801 movw r30,r16
  1760. 1728 01d2 9182 std Z+1,r9
  1761. 1729 01d4 8082 st Z,r8
  1762. 1730 01d6 00C0 rjmp .L258
  1763. 1731 .L260:
  1764. 1732 01d8 4616 cp r4,r22
  1765. 1733 01da 5706 cpc r5,r23
  1766. 1734 01dc 6806 cpc r6,r24
  1767. 1735 01de 7906 cpc r7,r25
  1768. 1736 01e0 01F0 breq .L256
  1769. 1737 01e2 5401 movw r10,r8
  1770. 1738 01e4 F401 movw r30,r8
  1771. 1739 01e6 8080 ld r8,Z
  1772. 1740 01e8 9180 ldd r9,Z+1
  1773. 1741 01ea 00C0 rjmp .L259
  1774. 1742 .L256:
  1775. 1743 01ec C801 movw r24,r16
  1776. 1744 01ee 0E94 0000 call NutNetBufFree
  1777. 1745 .L258:
  1778. 1746 01f2 AD81 ldd r26,Y+5
  1779. 1747 01f4 BE81 ldd r27,Y+6
  1780. 1748 01f6 9296 adiw r26,34
  1781. 1749 01f8 8C91 ld r24,X
  1782. 1750 01fa 9297 sbiw r26,34
  1783. 1751 01fc 8861 ori r24,lo8(24)
  1784. 1752 01fe 9296 adiw r26,34
  1785. 1753 0200 8C93 st X,r24
  1786. 1754 0202 9297 sbiw r26,34
  1787. 1755 0204 40E0 ldi r20,0
  1788. 1756 0206 50E0 ldi r21,0
  1789. 1757 0208 60E0 ldi r22,0
  1790. 1758 020a 70E0 ldi r23,0
  1791. 1759 020c CD01 movw r24,r26
  1792. 1760 020e 0E94 0000 call NutTcpOutput
  1793. 1761 0212 00C0 rjmp .L252
  1794. 1762 .L255:
  1795. 1763 0214 F601 movw r30,r12
  1796. 1764 0216 6481 ldd r22,Z+4
  1797. 1765 0218 7581 ldd r23,Z+5
  1798. 1766 021a 8681 ldd r24,Z+6
  1799. GAS LISTING /tmp/ccxdCeAh.s page 32
  1800. 1767 021c 9781 ldd r25,Z+7
  1801. 1768 021e 0E94 0000 call __byte_swap4
  1802. 1769 0222 D501 movw r26,r10
  1803. 1770 0224 4D90 ld r4,X+
  1804. 1771 0226 5D90 ld r5,X+
  1805. 1772 0228 6D90 ld r6,X+
  1806. 1773 022a 7C90 ld r7,X
  1807. 1774 022c 6415 cp r22,r4
  1808. 1775 022e 7505 cpc r23,r5
  1809. 1776 0230 8605 cpc r24,r6
  1810. 1777 0232 9705 cpc r25,r7
  1811. 1778 0234 01F0 breq .L264
  1812. 1779 0236 ED81 ldd r30,Y+5
  1813. 1780 0238 FE81 ldd r31,Y+6
  1814. 1781 023a 82A1 ldd r24,Z+34
  1815. 1782 023c 8861 ori r24,lo8(24)
  1816. 1783 023e 82A3 std Z+34,r24
  1817. 1784 0240 EB58 subi r30,-117
  1818. 1785 0242 FF4F sbci r31,-1
  1819. 1786 0244 8081 ld r24,Z
  1820. 1787 0246 9181 ldd r25,Z+1
  1821. 1788 0248 A281 ldd r26,Z+2
  1822. 1789 024a B381 ldd r27,Z+3
  1823. 1790 024c 0196 adiw r24,1
  1824. 1791 024e A11D adc r26,__zero_reg__
  1825. 1792 0250 B11D adc r27,__zero_reg__
  1826. 1793 0252 8083 st Z,r24
  1827. 1794 0254 9183 std Z+1,r25
  1828. 1795 0256 A283 std Z+2,r26
  1829. 1796 0258 B383 std Z+3,r27
  1830. 1797 025a C801 movw r24,r16
  1831. 1798 025c 0E94 0000 call NutNetBufFree
  1832. 1799 0260 40E0 ldi r20,0
  1833. 1800 0262 50E0 ldi r21,0
  1834. 1801 0264 60E0 ldi r22,0
  1835. 1802 0266 70E0 ldi r23,0
  1836. 1803 0268 8D81 ldd r24,Y+5
  1837. 1804 026a 9E81 ldd r25,Y+6
  1838. 1805 026c 0E94 0000 call NutTcpOutput
  1839. 1806 0270 00C0 rjmp .L265
  1840. 1807 .L264:
  1841. 1808 0272 D801 movw r26,r16
  1842. 1809 0274 5196 adiw r26,17
  1843. 1810 0276 8D91 ld r24,X+
  1844. 1811 0278 9C91 ld r25,X
  1845. 1812 027a 5297 sbiw r26,17+1
  1846. 1813 027c 892B or r24,r25
  1847. 1814 027e 01F4 brne .+2
  1848. 1815 0280 00C0 rjmp .L266
  1849. 1816 0282 B801 movw r22,r16
  1850. 1817 0284 8D81 ldd r24,Y+5
  1851. 1818 0286 9E81 ldd r25,Y+6
  1852. 1819 0288 0E94 0000 call NutTcpProcessAppData
  1853. 1820 028c 8D80 ldd r8,Y+5
  1854. 1821 028e 9E80 ldd r9,Y+6
  1855. 1822 0290 B7E5 ldi r27,87
  1856. 1823 0292 8B0E add r8,r27
  1857. GAS LISTING /tmp/ccxdCeAh.s page 33
  1858. 1824 0294 911C adc r9,__zero_reg__
  1859. 1825 .L267:
  1860. 1826 0296 F401 movw r30,r8
  1861. 1827 0298 0081 ld r16,Z
  1862. 1828 029a 1181 ldd r17,Z+1
  1863. 1829 029c 0115 cp r16,__zero_reg__
  1864. 1830 029e 1105 cpc r17,__zero_reg__
  1865. 1831 02a0 01F0 breq .L272
  1866. 1832 02a2 F801 movw r30,r16
  1867. 1833 02a4 C384 ldd r12,Z+11
  1868. 1834 02a6 D484 ldd r13,Z+12
  1869. 1835 02a8 D501 movw r26,r10
  1870. 1836 02aa 4D90 ld r4,X+
  1871. 1837 02ac 5D90 ld r5,X+
  1872. 1838 02ae 6D90 ld r6,X+
  1873. 1839 02b0 7C90 ld r7,X
  1874. 1840 02b2 F601 movw r30,r12
  1875. 1841 02b4 6481 ldd r22,Z+4
  1876. 1842 02b6 7581 ldd r23,Z+5
  1877. 1843 02b8 8681 ldd r24,Z+6
  1878. 1844 02ba 9781 ldd r25,Z+7
  1879. 1845 02bc 0E94 0000 call __byte_swap4
  1880. 1846 02c0 461A sub r4,r22
  1881. 1847 02c2 570A sbc r5,r23
  1882. 1848 02c4 680A sbc r6,r24
  1883. 1849 02c6 790A sbc r7,r25
  1884. 1850 02c8 77FE sbrs r7,7
  1885. 1851 02ca 00C0 rjmp .L268
  1886. 1852 .L272:
  1887. 1853 02cc 8D81 ldd r24,Y+5
  1888. 1854 02ce 9E81 ldd r25,Y+6
  1889. 1855 02d0 8D5A subi r24,-83
  1890. 1856 02d2 9F4F sbci r25,-1
  1891. 1857 02d4 0E94 0000 call NutEventPost
  1892. 1858 02d8 61E0 ldi r22,lo8(1)
  1893. 1859 02da ED81 ldd r30,Y+5
  1894. 1860 02dc FE81 ldd r31,Y+6
  1895. 1861 02de EB5A subi r30,-85
  1896. 1862 02e0 FF4F sbci r31,-1
  1897. 1863 02e2 8081 ld r24,Z
  1898. 1864 02e4 9181 ldd r25,Z+1
  1899. 1865 02e6 0E94 0000 call NutSelectWakeup
  1900. 1866 02ea 00C0 rjmp .L265
  1901. 1867 .L268:
  1902. 1868 02ec D801 movw r26,r16
  1903. 1869 02ee 8D91 ld r24,X+
  1904. 1870 02f0 9C91 ld r25,X
  1905. 1871 02f2 1197 sbiw r26,1
  1906. 1872 02f4 F401 movw r30,r8
  1907. 1873 02f6 9183 std Z+1,r25
  1908. 1874 02f8 8083 st Z,r24
  1909. 1875 02fa 8091 0000 lds r24,tcp_adv_cnt
  1910. 1876 02fe 9091 0000 lds r25,tcp_adv_cnt+1
  1911. 1877 0302 8897 sbiw r24,40
  1912. 1878 0304 1596 adiw r26,5
  1913. 1879 0306 2D91 ld r18,X+
  1914. 1880 0308 3C91 ld r19,X
  1915. GAS LISTING /tmp/ccxdCeAh.s page 34
  1916. 1881 030a 1697 sbiw r26,5+1
  1917. 1882 030c 821B sub r24,r18
  1918. 1883 030e 930B sbc r25,r19
  1919. 1884 0310 5196 adiw r26,17
  1920. 1885 0312 2D91 ld r18,X+
  1921. 1886 0314 3C91 ld r19,X
  1922. 1887 0316 5297 sbiw r26,17+1
  1923. 1888 0318 821B sub r24,r18
  1924. 1889 031a 930B sbc r25,r19
  1925. 1890 031c 9093 0000 sts tcp_adv_cnt+1,r25
  1926. 1891 0320 8093 0000 sts tcp_adv_cnt,r24
  1927. 1892 0324 D601 movw r26,r12
  1928. 1893 0326 1496 adiw r26,4
  1929. 1894 0328 6D91 ld r22,X+
  1930. 1895 032a 7D91 ld r23,X+
  1931. 1896 032c 8D91 ld r24,X+
  1932. 1897 032e 9C91 ld r25,X
  1933. 1898 0330 1797 sbiw r26,4+3
  1934. 1899 0332 0E94 0000 call __byte_swap4
  1935. 1900 0336 F501 movw r30,r10
  1936. 1901 0338 4080 ld r4,Z
  1937. 1902 033a 5180 ldd r5,Z+1
  1938. 1903 033c 6280 ldd r6,Z+2
  1939. 1904 033e 7380 ldd r7,Z+3
  1940. 1905 0340 6415 cp r22,r4
  1941. 1906 0342 7505 cpc r23,r5
  1942. 1907 0344 8605 cpc r24,r6
  1943. 1908 0346 9705 cpc r25,r7
  1944. 1909 0348 01F4 brne .L269
  1945. 1910 034a B801 movw r22,r16
  1946. 1911 034c 8D81 ldd r24,Y+5
  1947. 1912 034e 9E81 ldd r25,Y+6
  1948. 1913 0350 0E94 0000 call NutTcpProcessAppData
  1949. 1914 0354 D601 movw r26,r12
  1950. 1915 0356 1D96 adiw r26,13
  1951. 1916 0358 8C91 ld r24,X
  1952. 1917 035a F82A or r15,r24
  1953. 1918 035c 00C0 rjmp .L267
  1954. 1919 .L269:
  1955. 1920 035e C801 movw r24,r16
  1956. 1921 0360 0E94 0000 call NutNetBufFree
  1957. 1922 0364 00C0 rjmp .L267
  1958. 1923 .L266:
  1959. 1924 0366 C801 movw r24,r16
  1960. 1925 0368 0E94 0000 call NutNetBufFree
  1961. 1926 .L265:
  1962. 1927 036c F0FE sbrs r15,0
  1963. 1928 036e 00C0 rjmp .L252
  1964. 1929 0370 F501 movw r30,r10
  1965. 1930 0372 8081 ld r24,Z
  1966. 1931 0374 9181 ldd r25,Z+1
  1967. 1932 0376 A281 ldd r26,Z+2
  1968. 1933 0378 B381 ldd r27,Z+3
  1969. 1934 037a 0196 adiw r24,1
  1970. 1935 037c A11D adc r26,__zero_reg__
  1971. 1936 037e B11D adc r27,__zero_reg__
  1972. 1937 0380 8083 st Z,r24
  1973. GAS LISTING /tmp/ccxdCeAh.s page 35
  1974. 1938 0382 9183 std Z+1,r25
  1975. 1939 0384 A283 std Z+2,r26
  1976. 1940 0386 B383 std Z+3,r27
  1977. 1941 0388 65E0 ldi r22,lo8(5)
  1978. 1942 038a 8D81 ldd r24,Y+5
  1979. 1943 038c 9E81 ldd r25,Y+6
  1980. 1944 038e 0E94 0000 call NutTcpStateChange
  1981. 1945 .L252:
  1982. 1946 0392 AD81 ldd r26,Y+5
  1983. 1947 0394 BE81 ldd r27,Y+6
  1984. 1948 0396 5596 adiw r26,21
  1985. 1949 0398 8C91 ld r24,X
  1986. 1950 039a 5597 sbiw r26,21
  1987. 1951 039c 8430 cpi r24,lo8(4)
  1988. 1952 039e 01F4 brne .L273
  1989. 1953 03a0 D796 adiw r26,55
  1990. 1954 03a2 8D91 ld r24,X+
  1991. 1955 03a4 9C91 ld r25,X
  1992. 1956 03a6 D897 sbiw r26,55+1
  1993. 1957 03a8 2816 cp r2,r24
  1994. 1958 03aa 3906 cpc r3,r25
  1995. 1959 03ac 00F0 brlo .L273
  1996. 1960 03ae 9796 adiw r26,39
  1997. 1961 03b0 8D91 ld r24,X+
  1998. 1962 03b2 9D91 ld r25,X+
  1999. 1963 03b4 0D90 ld __tmp_reg__,X+
  2000. 1964 03b6 BC91 ld r27,X
  2001. 1965 03b8 A02D mov r26,__tmp_reg__
  2002. 1966 03ba 2981 ldd r18,Y+1
  2003. 1967 03bc 3A81 ldd r19,Y+2
  2004. 1968 03be 4B81 ldd r20,Y+3
  2005. 1969 03c0 5C81 ldd r21,Y+4
  2006. 1970 03c2 2817 cp r18,r24
  2007. 1971 03c4 3907 cpc r19,r25
  2008. 1972 03c6 4A07 cpc r20,r26
  2009. 1973 03c8 5B07 cpc r21,r27
  2010. 1974 03ca 01F4 brne .+2
  2011. 1975 03cc 00C0 rjmp .L237
  2012. 1976 .L273:
  2013. 1977 03ce 8D81 ldd r24,Y+5
  2014. 1978 03d0 9E81 ldd r25,Y+6
  2015. 1979 03d2 CC96 adiw r24,60
  2016. 1980 03d4 0E94 0000 call NutEventBroadcast
  2017. 1981 03d8 62E0 ldi r22,lo8(2)
  2018. 1982 03da AD81 ldd r26,Y+5
  2019. 1983 03dc BE81 ldd r27,Y+6
  2020. 1984 03de DE96 adiw r26,62
  2021. 1985 03e0 8D91 ld r24,X+
  2022. 1986 03e2 9C91 ld r25,X
  2023. 1987 03e4 DF97 sbiw r26,62+1
  2024. 1988 /* epilogue start */
  2025. 1989 03e6 2696 adiw r28,6
  2026. 1990 03e8 0FB6 in __tmp_reg__,__SREG__
  2027. 1991 03ea F894 cli
  2028. 1992 03ec DEBF out __SP_H__,r29
  2029. 1993 03ee 0FBE out __SREG__,__tmp_reg__
  2030. 1994 03f0 CDBF out __SP_L__,r28
  2031. GAS LISTING /tmp/ccxdCeAh.s page 36
  2032. 1995 03f2 DF91 pop r29
  2033. 1996 03f4 CF91 pop r28
  2034. 1997 03f6 1F91 pop r17
  2035. 1998 03f8 0F91 pop r16
  2036. 1999 03fa FF90 pop r15
  2037. 2000 03fc EF90 pop r14
  2038. 2001 03fe DF90 pop r13
  2039. 2002 0400 CF90 pop r12
  2040. 2003 0402 BF90 pop r11
  2041. 2004 0404 AF90 pop r10
  2042. 2005 0406 9F90 pop r9
  2043. 2006 0408 8F90 pop r8
  2044. 2007 040a 7F90 pop r7
  2045. 2008 040c 6F90 pop r6
  2046. 2009 040e 5F90 pop r5
  2047. 2010 0410 4F90 pop r4
  2048. 2011 0412 3F90 pop r3
  2049. 2012 0414 2F90 pop r2
  2050. 2013 0416 0C94 0000 jmp NutSelectWakeup
  2051. 2014 .L241:
  2052. 2015 041a 8F2D mov r24,r15
  2053. 2016 041c 8671 andi r24,lo8(22)
  2054. 2017 041e 8230 cpi r24,lo8(2)
  2055. 2018 0420 01F0 breq .+2
  2056. 2019 0422 00C0 rjmp .L239
  2057. 2020 0424 FB01 movw r30,r22
  2058. 2021 0426 6781 ldd r22,Z+7
  2059. 2022 0428 7085 ldd r23,Z+8
  2060. 2023 042a A601 movw r20,r12
  2061. 2024 042c 8D81 ldd r24,Y+5
  2062. 2025 042e 9E81 ldd r25,Y+6
  2063. 2026 0430 0E94 0000 call NutTcpProcessSyn
  2064. 2027 0434 00C0 rjmp .L281
  2065. 2028 .L242:
  2066. 2029 0436 FF2D mov r31,r15
  2067. 2030 0438 F071 andi r31,lo8(16)
  2068. 2031 043a EF2E mov r14,r31
  2069. 2032 043c F4FE sbrs r15,4
  2070. 2033 043e 00C0 rjmp .L276
  2071. 2034 0440 D601 movw r26,r12
  2072. 2035 0442 1896 adiw r26,8
  2073. 2036 0444 6D91 ld r22,X+
  2074. 2037 0446 7D91 ld r23,X+
  2075. 2038 0448 8D91 ld r24,X+
  2076. 2039 044a 9C91 ld r25,X
  2077. 2040 044c 1B97 sbiw r26,8+3
  2078. 2041 044e 0E94 0000 call __byte_swap4
  2079. 2042 0452 ED81 ldd r30,Y+5
  2080. 2043 0454 FE81 ldd r31,Y+6
  2081. 2044 0456 83A0 ldd r8,Z+35
  2082. 2045 0458 94A0 ldd r9,Z+36
  2083. 2046 045a A5A0 ldd r10,Z+37
  2084. 2047 045c B6A0 ldd r11,Z+38
  2085. 2048 045e AB01 movw r20,r22
  2086. 2049 0460 BC01 movw r22,r24
  2087. 2050 0462 4819 sub r20,r8
  2088. 2051 0464 5909 sbc r21,r9
  2089. GAS LISTING /tmp/ccxdCeAh.s page 37
  2090. 2052 0466 6A09 sbc r22,r10
  2091. 2053 0468 7B09 sbc r23,r11
  2092. 2054 046a 4F5F subi r20,-1
  2093. 2055 046c 5F4F sbci r21,-1
  2094. 2056 046e 6F4F sbci r22,-1
  2095. 2057 0470 7F4F sbci r23,-1
  2096. 2058 0472 83A5 ldd r24,Z+43
  2097. 2059 0474 94A5 ldd r25,Z+44
  2098. 2060 0476 A5A5 ldd r26,Z+45
  2099. 2061 0478 B6A5 ldd r27,Z+46
  2100. 2062 047a 0196 adiw r24,1
  2101. 2063 047c A11D adc r26,__zero_reg__
  2102. 2064 047e B11D adc r27,__zero_reg__
  2103. 2065 0480 8819 sub r24,r8
  2104. 2066 0482 9909 sbc r25,r9
  2105. 2067 0484 AA09 sbc r26,r10
  2106. 2068 0486 BB09 sbc r27,r11
  2107. 2069 0488 8417 cp r24,r20
  2108. 2070 048a 9507 cpc r25,r21
  2109. 2071 048c A607 cpc r26,r22
  2110. 2072 048e B707 cpc r27,r23
  2111. 2073 0490 00F4 brsh .+2
  2112. 2074 0492 00C0 rjmp .L239
  2113. 2075 .L276:
  2114. 2076 0494 F2FE sbrs r15,2
  2115. 2077 0496 00C0 rjmp .L277
  2116. 2078 0498 EE20 tst r14
  2117. 2079 049a 01F4 brne .+2
  2118. 2080 049c 00C0 rjmp .L238
  2119. 2081 049e 6DE3 ldi r22,lo8(61)
  2120. 2082 04a0 70E0 ldi r23,0
  2121. 2083 04a2 8D81 ldd r24,Y+5
  2122. 2084 04a4 9E81 ldd r25,Y+6
  2123. 2085 04a6 0E94 0000 call NutTcpAbortSocket
  2124. 2086 04aa 00C0 rjmp .L238
  2125. 2087 .L277:
  2126. 2088 04ac F1FE sbrs r15,1
  2127. 2089 04ae 00C0 rjmp .L238
  2128. 2090 04b0 D801 movw r26,r16
  2129. 2091 04b2 1796 adiw r26,7
  2130. 2092 04b4 6D91 ld r22,X+
  2131. 2093 04b6 7C91 ld r23,X
  2132. 2094 04b8 1897 sbiw r26,7+1
  2133. 2095 04ba A601 movw r20,r12
  2134. 2096 04bc 8D81 ldd r24,Y+5
  2135. 2097 04be 9E81 ldd r25,Y+6
  2136. 2098 04c0 0E94 0000 call NutTcpProcessSyn
  2137. 2099 04c4 EE20 tst r14
  2138. 2100 04c6 01F0 breq .L281
  2139. 2101 04c8 F801 movw r30,r16
  2140. 2102 04ca 4189 ldd r20,Z+17
  2141. 2103 04cc 5289 ldd r21,Z+18
  2142. 2104 04ce B601 movw r22,r12
  2143. 2105 04d0 8D81 ldd r24,Y+5
  2144. 2106 04d2 9E81 ldd r25,Y+6
  2145. 2107 04d4 0E94 0000 call NutTcpProcessAck
  2146. 2108 04d8 64E0 ldi r22,lo8(4)
  2147. GAS LISTING /tmp/ccxdCeAh.s page 38
  2148. 2109 04da 8D81 ldd r24,Y+5
  2149. 2110 04dc 9E81 ldd r25,Y+6
  2150. 2111 04de 0E94 0000 call NutTcpStateChange
  2151. 2112 04e2 8D81 ldd r24,Y+5
  2152. 2113 04e4 9E81 ldd r25,Y+6
  2153. 2114 04e6 8559 subi r24,-107
  2154. 2115 04e8 9F4F sbci r25,-1
  2155. 2116 04ea 0E94 0000 call NutEventPost
  2156. 2117 04ee 00C0 rjmp .L238
  2157. 2118 .L281:
  2158. 2119 04f0 63E0 ldi r22,lo8(3)
  2159. 2120 04f2 00C0 rjmp .L335
  2160. 2121 .L243:
  2161. 2122 04f4 F2FE sbrs r15,2
  2162. 2123 04f6 00C0 rjmp .L282
  2163. 2124 04f8 ED81 ldd r30,Y+5
  2164. 2125 04fa FE81 ldd r31,Y+6
  2165. 2126 04fc E759 subi r30,-105
  2166. 2127 04fe FF4F sbci r31,-1
  2167. 2128 0500 8081 ld r24,Z
  2168. 2129 0502 9181 ldd r25,Z+1
  2169. 2130 0504 892B or r24,r25
  2170. 2131 0506 01F0 breq .L283
  2171. 2132 0508 61E0 ldi r22,lo8(1)
  2172. 2133 050a 8D81 ldd r24,Y+5
  2173. 2134 050c 9E81 ldd r25,Y+6
  2174. 2135 050e 0E94 0000 call NutTcpStateChange
  2175. 2136 0512 00C0 rjmp .L284
  2176. 2137 .L283:
  2177. 2138 0514 6DE3 ldi r22,lo8(61)
  2178. 2139 0516 70E0 ldi r23,0
  2179. 2140 0518 8D81 ldd r24,Y+5
  2180. 2141 051a 9E81 ldd r25,Y+6
  2181. 2142 051c 0E94 0000 call NutTcpAbortSocket
  2182. 2143 .L284:
  2183. 2144 0520 C801 movw r24,r16
  2184. 2145 0522 0E94 0000 call NutNetBufFree
  2185. 2146 0526 ED81 ldd r30,Y+5
  2186. 2147 0528 FE81 ldd r31,Y+6
  2187. 2148 052a EB59 subi r30,-101
  2188. 2149 052c FF4F sbci r31,-1
  2189. 2150 052e 1182 std Z+1,__zero_reg__
  2190. 2151 0530 1082 st Z,__zero_reg__
  2191. 2152 0532 8D81 ldd r24,Y+5
  2192. 2153 0534 9E81 ldd r25,Y+6
  2193. 2154 /* epilogue start */
  2194. 2155 0536 2696 adiw r28,6
  2195. 2156 0538 0FB6 in __tmp_reg__,__SREG__
  2196. 2157 053a F894 cli
  2197. 2158 053c DEBF out __SP_H__,r29
  2198. 2159 053e 0FBE out __SREG__,__tmp_reg__
  2199. 2160 0540 CDBF out __SP_L__,r28
  2200. 2161 0542 DF91 pop r29
  2201. 2162 0544 CF91 pop r28
  2202. 2163 0546 1F91 pop r17
  2203. 2164 0548 0F91 pop r16
  2204. 2165 054a FF90 pop r15
  2205. GAS LISTING /tmp/ccxdCeAh.s page 39
  2206. 2166 054c EF90 pop r14
  2207. 2167 054e DF90 pop r13
  2208. 2168 0550 CF90 pop r12
  2209. 2169 0552 BF90 pop r11
  2210. 2170 0554 AF90 pop r10
  2211. 2171 0556 9F90 pop r9
  2212. 2172 0558 8F90 pop r8
  2213. 2173 055a 7F90 pop r7
  2214. 2174 055c 6F90 pop r6
  2215. 2175 055e 5F90 pop r5
  2216. 2176 0560 4F90 pop r4
  2217. 2177 0562 3F90 pop r3
  2218. 2178 0564 2F90 pop r2
  2219. 2179 0566 0C94 0000 jmp NutTcpDiscardBuffers
  2220. 2180 .L282:
  2221. 2181 056a F1FC sbrc r15,1
  2222. 2182 056c 00C0 rjmp .L238
  2223. 2183 056e F4FE sbrs r15,4
  2224. 2184 0570 00C0 rjmp .L238
  2225. 2185 0572 D601 movw r26,r12
  2226. 2186 0574 1896 adiw r26,8
  2227. 2187 0576 6D91 ld r22,X+
  2228. 2188 0578 7D91 ld r23,X+
  2229. 2189 057a 8D91 ld r24,X+
  2230. 2190 057c 9C91 ld r25,X
  2231. 2191 057e 1B97 sbiw r26,8+3
  2232. 2192 0580 0E94 0000 call __byte_swap4
  2233. 2193 0584 ED81 ldd r30,Y+5
  2234. 2194 0586 FE81 ldd r31,Y+6
  2235. 2195 0588 87A0 ldd r8,Z+39
  2236. 2196 058a 90A4 ldd r9,Z+40
  2237. 2197 058c A1A4 ldd r10,Z+41
  2238. 2198 058e B2A4 ldd r11,Z+42
  2239. 2199 0590 AB01 movw r20,r22
  2240. 2200 0592 BC01 movw r22,r24
  2241. 2201 0594 4819 sub r20,r8
  2242. 2202 0596 5909 sbc r21,r9
  2243. 2203 0598 6A09 sbc r22,r10
  2244. 2204 059a 7B09 sbc r23,r11
  2245. 2205 059c 4F5F subi r20,-1
  2246. 2206 059e 5F4F sbci r21,-1
  2247. 2207 05a0 6F4F sbci r22,-1
  2248. 2208 05a2 7F4F sbci r23,-1
  2249. 2209 05a4 83A5 ldd r24,Z+43
  2250. 2210 05a6 94A5 ldd r25,Z+44
  2251. 2211 05a8 A5A5 ldd r26,Z+45
  2252. 2212 05aa B6A5 ldd r27,Z+46
  2253. 2213 05ac 0196 adiw r24,1
  2254. 2214 05ae A11D adc r26,__zero_reg__
  2255. 2215 05b0 B11D adc r27,__zero_reg__
  2256. 2216 05b2 8819 sub r24,r8
  2257. 2217 05b4 9909 sbc r25,r9
  2258. 2218 05b6 AA09 sbc r26,r10
  2259. 2219 05b8 BB09 sbc r27,r11
  2260. 2220 05ba 8417 cp r24,r20
  2261. 2221 05bc 9507 cpc r25,r21
  2262. 2222 05be A607 cpc r26,r22
  2263. GAS LISTING /tmp/ccxdCeAh.s page 40
  2264. 2223 05c0 B707 cpc r27,r23
  2265. 2224 05c2 00F4 brsh .+2
  2266. 2225 05c4 00C0 rjmp .L239
  2267. 2226 05c6 D801 movw r26,r16
  2268. 2227 05c8 5196 adiw r26,17
  2269. 2228 05ca 4D91 ld r20,X+
  2270. 2229 05cc 5C91 ld r21,X
  2271. 2230 05ce 5297 sbiw r26,17+1
  2272. 2231 05d0 B601 movw r22,r12
  2273. 2232 05d2 CF01 movw r24,r30
  2274. 2233 05d4 0E94 0000 call NutTcpProcessAck
  2275. 2234 05d8 F801 movw r30,r16
  2276. 2235 05da 8189 ldd r24,Z+17
  2277. 2236 05dc 9289 ldd r25,Z+18
  2278. 2237 05de 892B or r24,r25
  2279. 2238 05e0 01F0 breq .L285
  2280. 2239 05e2 B801 movw r22,r16
  2281. 2240 05e4 8D81 ldd r24,Y+5
  2282. 2241 05e6 9E81 ldd r25,Y+6
  2283. 2242 05e8 0E94 0000 call NutTcpProcessAppData
  2284. 2243 05ec 00C0 rjmp .L286
  2285. 2244 .L285:
  2286. 2245 05ee C801 movw r24,r16
  2287. 2246 05f0 0E94 0000 call NutNetBufFree
  2288. 2247 .L286:
  2289. 2248 05f4 F0FE sbrs r15,0
  2290. 2249 05f6 00C0 rjmp .L287
  2291. 2250 05f8 ED81 ldd r30,Y+5
  2292. 2251 05fa FE81 ldd r31,Y+6
  2293. 2252 05fc EC5B subi r30,-68
  2294. 2253 05fe FF4F sbci r31,-1
  2295. 2254 0600 8081 ld r24,Z
  2296. 2255 0602 9181 ldd r25,Z+1
  2297. 2256 0604 A281 ldd r26,Z+2
  2298. 2257 0606 B381 ldd r27,Z+3
  2299. 2258 0608 0196 adiw r24,1
  2300. 2259 060a A11D adc r26,__zero_reg__
  2301. 2260 060c B11D adc r27,__zero_reg__
  2302. 2261 060e 8083 st Z,r24
  2303. 2262 0610 9183 std Z+1,r25
  2304. 2263 0612 A283 std Z+2,r26
  2305. 2264 0614 B383 std Z+3,r27
  2306. 2265 0616 65E0 ldi r22,lo8(5)
  2307. 2266 0618 00C0 rjmp .L336
  2308. 2267 .L287:
  2309. 2268 061a 64E0 ldi r22,lo8(4)
  2310. 2269 061c 8D81 ldd r24,Y+5
  2311. 2270 061e 9E81 ldd r25,Y+6
  2312. 2271 0620 0E94 0000 call NutTcpStateChange
  2313. 2272 0624 8D81 ldd r24,Y+5
  2314. 2273 0626 9E81 ldd r25,Y+6
  2315. 2274 0628 8759 subi r24,-105
  2316. 2275 062a 9F4F sbci r25,-1
  2317. 2276 062c 0E94 0000 call NutEventPost
  2318. 2277 0630 8D81 ldd r24,Y+5
  2319. 2278 0632 9E81 ldd r25,Y+6
  2320. 2279 0634 8559 subi r24,-107
  2321. GAS LISTING /tmp/ccxdCeAh.s page 41
  2322. 2280 0636 9F4F sbci r25,-1
  2323. 2281 /* epilogue start */
  2324. 2282 0638 2696 adiw r28,6
  2325. 2283 063a 0FB6 in __tmp_reg__,__SREG__
  2326. 2284 063c F894 cli
  2327. 2285 063e DEBF out __SP_H__,r29
  2328. 2286 0640 0FBE out __SREG__,__tmp_reg__
  2329. 2287 0642 CDBF out __SP_L__,r28
  2330. 2288 0644 DF91 pop r29
  2331. 2289 0646 CF91 pop r28
  2332. 2290 0648 1F91 pop r17
  2333. 2291 064a 0F91 pop r16
  2334. 2292 064c FF90 pop r15
  2335. 2293 064e EF90 pop r14
  2336. 2294 0650 DF90 pop r13
  2337. 2295 0652 CF90 pop r12
  2338. 2296 0654 BF90 pop r11
  2339. 2297 0656 AF90 pop r10
  2340. 2298 0658 9F90 pop r9
  2341. 2299 065a 8F90 pop r8
  2342. 2300 065c 7F90 pop r7
  2343. 2301 065e 6F90 pop r6
  2344. 2302 0660 5F90 pop r5
  2345. 2303 0662 4F90 pop r4
  2346. 2304 0664 3F90 pop r3
  2347. 2305 0666 2F90 pop r2
  2348. 2306 0668 0C94 0000 jmp NutEventPost
  2349. 2307 .L246:
  2350. 2308 066c F2FE sbrs r15,2
  2351. 2309 066e 00C0 rjmp .L288
  2352. 2310 .L294:
  2353. 2311 0670 C801 movw r24,r16
  2354. 2312 0672 0E94 0000 call NutNetBufFree
  2355. 2313 0676 00C0 rjmp .L337
  2356. 2314 .L288:
  2357. 2315 0678 F1FC sbrc r15,1
  2358. 2316 067a 00C0 rjmp .L239
  2359. 2317 067c F4FE sbrs r15,4
  2360. 2318 067e 00C0 rjmp .L238
  2361. 2319 0680 DB01 movw r26,r22
  2362. 2320 0682 5196 adiw r26,17
  2363. 2321 0684 4D91 ld r20,X+
  2364. 2322 0686 5C91 ld r21,X
  2365. 2323 0688 5297 sbiw r26,17+1
  2366. 2324 068a B601 movw r22,r12
  2367. 2325 068c 8D81 ldd r24,Y+5
  2368. 2326 068e 9E81 ldd r25,Y+6
  2369. 2327 0690 0E94 0000 call NutTcpProcessAck
  2370. 2328 0694 ED81 ldd r30,Y+5
  2371. 2329 0696 FE81 ldd r31,Y+6
  2372. 2330 0698 43A5 ldd r20,Z+43
  2373. 2331 069a 54A5 ldd r21,Z+44
  2374. 2332 069c 65A5 ldd r22,Z+45
  2375. 2333 069e 76A5 ldd r23,Z+46
  2376. 2334 06a0 87A1 ldd r24,Z+39
  2377. 2335 06a2 90A5 ldd r25,Z+40
  2378. 2336 06a4 A1A5 ldd r26,Z+41
  2379. GAS LISTING /tmp/ccxdCeAh.s page 42
  2380. 2337 06a6 B2A5 ldd r27,Z+42
  2381. 2338 06a8 4817 cp r20,r24
  2382. 2339 06aa 5907 cpc r21,r25
  2383. 2340 06ac 6A07 cpc r22,r26
  2384. 2341 06ae 7B07 cpc r23,r27
  2385. 2342 06b0 01F4 brne .L289
  2386. 2343 06b2 69E0 ldi r22,lo8(9)
  2387. 2344 06b4 CF01 movw r24,r30
  2388. 2345 06b6 0E94 0000 call NutTcpStateChange
  2389. 2346 .L289:
  2390. 2347 06ba D801 movw r26,r16
  2391. 2348 06bc 5196 adiw r26,17
  2392. 2349 06be 8D91 ld r24,X+
  2393. 2350 06c0 9C91 ld r25,X
  2394. 2351 06c2 5297 sbiw r26,17+1
  2395. 2352 06c4 892B or r24,r25
  2396. 2353 06c6 01F0 breq .L290
  2397. 2354 06c8 B801 movw r22,r16
  2398. 2355 06ca 8D81 ldd r24,Y+5
  2399. 2356 06cc 9E81 ldd r25,Y+6
  2400. 2357 06ce 0E94 0000 call NutTcpProcessAppData
  2401. 2358 06d2 8D81 ldd r24,Y+5
  2402. 2359 06d4 9E81 ldd r25,Y+6
  2403. 2360 06d6 8D5A subi r24,-83
  2404. 2361 06d8 9F4F sbci r25,-1
  2405. 2362 06da 0E94 0000 call NutEventPost
  2406. 2363 06de 61E0 ldi r22,lo8(1)
  2407. 2364 06e0 ED81 ldd r30,Y+5
  2408. 2365 06e2 FE81 ldd r31,Y+6
  2409. 2366 06e4 EB5A subi r30,-85
  2410. 2367 06e6 FF4F sbci r31,-1
  2411. 2368 06e8 8081 ld r24,Z
  2412. 2369 06ea 9181 ldd r25,Z+1
  2413. 2370 06ec 0E94 0000 call NutSelectWakeup
  2414. 2371 06f0 00C0 rjmp .L291
  2415. 2372 .L290:
  2416. 2373 06f2 C801 movw r24,r16
  2417. 2374 06f4 0E94 0000 call NutNetBufFree
  2418. 2375 .L291:
  2419. 2376 06f8 F0FE sbrs r15,0
  2420. 2377 06fa 00C0 rjmp .L237
  2421. 2378 06fc ED81 ldd r30,Y+5
  2422. 2379 06fe FE81 ldd r31,Y+6
  2423. 2380 0700 EC5B subi r30,-68
  2424. 2381 0702 FF4F sbci r31,-1
  2425. 2382 0704 8081 ld r24,Z
  2426. 2383 0706 9181 ldd r25,Z+1
  2427. 2384 0708 A281 ldd r26,Z+2
  2428. 2385 070a B381 ldd r27,Z+3
  2429. 2386 070c 0196 adiw r24,1
  2430. 2387 070e A11D adc r26,__zero_reg__
  2431. 2388 0710 B11D adc r27,__zero_reg__
  2432. 2389 0712 8083 st Z,r24
  2433. 2390 0714 9183 std Z+1,r25
  2434. 2391 0716 A283 std Z+2,r26
  2435. 2392 0718 B383 std Z+3,r27
  2436. 2393 071a ED81 ldd r30,Y+5
  2437. GAS LISTING /tmp/ccxdCeAh.s page 43
  2438. 2394 071c FE81 ldd r31,Y+6
  2439. 2395 071e ED59 subi r30,-99
  2440. 2396 0720 FF4F sbci r31,-1
  2441. 2397 0722 1182 std Z+1,__zero_reg__
  2442. 2398 0724 1082 st Z,__zero_reg__
  2443. 2399 0726 ED81 ldd r30,Y+5
  2444. 2400 0728 FE81 ldd r31,Y+6
  2445. 2401 072a 8589 ldd r24,Z+21
  2446. 2402 072c 8930 cpi r24,lo8(9)
  2447. 2403 072e 01F4 brne .L293
  2448. 2404 0730 6AE0 ldi r22,lo8(10)
  2449. 2405 0732 CF01 movw r24,r30
  2450. 2406 0734 00C0 rjmp .L338
  2451. 2407 .L293:
  2452. 2408 0736 67E0 ldi r22,lo8(7)
  2453. 2409 0738 00C0 rjmp .L336
  2454. 2410 .L249:
  2455. 2411 073a F2FC sbrc r15,2
  2456. 2412 073c 00C0 rjmp .L294
  2457. 2413 073e F1FC sbrc r15,1
  2458. 2414 0740 00C0 rjmp .L239
  2459. 2415 0742 F4FE sbrs r15,4
  2460. 2416 0744 00C0 rjmp .L238
  2461. 2417 0746 DB01 movw r26,r22
  2462. 2418 0748 5196 adiw r26,17
  2463. 2419 074a 4D91 ld r20,X+
  2464. 2420 074c 5C91 ld r21,X
  2465. 2421 074e 5297 sbiw r26,17+1
  2466. 2422 0750 B601 movw r22,r12
  2467. 2423 0752 8D81 ldd r24,Y+5
  2468. 2424 0754 9E81 ldd r25,Y+6
  2469. 2425 0756 0E94 0000 call NutTcpProcessAck
  2470. 2426 075a F801 movw r30,r16
  2471. 2427 075c 8189 ldd r24,Z+17
  2472. 2428 075e 9289 ldd r25,Z+18
  2473. 2429 0760 892B or r24,r25
  2474. 2430 0762 01F0 breq .L295
  2475. 2431 0764 B801 movw r22,r16
  2476. 2432 0766 8D81 ldd r24,Y+5
  2477. 2433 0768 9E81 ldd r25,Y+6
  2478. 2434 076a 0E94 0000 call NutTcpProcessAppData
  2479. 2435 076e 8D81 ldd r24,Y+5
  2480. 2436 0770 9E81 ldd r25,Y+6
  2481. 2437 0772 8D5A subi r24,-83
  2482. 2438 0774 9F4F sbci r25,-1
  2483. 2439 0776 0E94 0000 call NutEventPost
  2484. 2440 077a 61E0 ldi r22,lo8(1)
  2485. 2441 077c ED81 ldd r30,Y+5
  2486. 2442 077e FE81 ldd r31,Y+6
  2487. 2443 0780 EB5A subi r30,-85
  2488. 2444 0782 FF4F sbci r31,-1
  2489. 2445 0784 8081 ld r24,Z
  2490. 2446 0786 9181 ldd r25,Z+1
  2491. 2447 0788 0E94 0000 call NutSelectWakeup
  2492. 2448 078c 00C0 rjmp .L296
  2493. 2449 .L295:
  2494. 2450 078e C801 movw r24,r16
  2495. GAS LISTING /tmp/ccxdCeAh.s page 44
  2496. 2451 0790 0E94 0000 call NutNetBufFree
  2497. 2452 .L296:
  2498. 2453 0794 F0FE sbrs r15,0
  2499. 2454 0796 00C0 rjmp .L237
  2500. 2455 0798 ED81 ldd r30,Y+5
  2501. 2456 079a FE81 ldd r31,Y+6
  2502. 2457 079c EC5B subi r30,-68
  2503. 2458 079e FF4F sbci r31,-1
  2504. 2459 07a0 8081 ld r24,Z
  2505. 2460 07a2 9181 ldd r25,Z+1
  2506. 2461 07a4 A281 ldd r26,Z+2
  2507. 2462 07a6 B381 ldd r27,Z+3
  2508. 2463 07a8 0196 adiw r24,1
  2509. 2464 07aa A11D adc r26,__zero_reg__
  2510. 2465 07ac B11D adc r27,__zero_reg__
  2511. 2466 07ae 8083 st Z,r24
  2512. 2467 07b0 9183 std Z+1,r25
  2513. 2468 07b2 A283 std Z+2,r26
  2514. 2469 07b4 B383 std Z+3,r27
  2515. 2470 07b6 ED81 ldd r30,Y+5
  2516. 2471 07b8 FE81 ldd r31,Y+6
  2517. 2472 07ba ED59 subi r30,-99
  2518. 2473 07bc FF4F sbci r31,-1
  2519. 2474 07be 1182 std Z+1,__zero_reg__
  2520. 2475 07c0 1082 st Z,__zero_reg__
  2521. 2476 07c2 6AE0 ldi r22,lo8(10)
  2522. 2477 07c4 00C0 rjmp .L336
  2523. 2478 .L245:
  2524. 2479 07c6 F2FE sbrs r15,2
  2525. 2480 07c8 00C0 rjmp .L297
  2526. 2481 07ca CB01 movw r24,r22
  2527. 2482 07cc 0E94 0000 call NutNetBufFree
  2528. 2483 07d0 66E3 ldi r22,lo8(54)
  2529. 2484 07d2 70E0 ldi r23,0
  2530. 2485 07d4 8D81 ldd r24,Y+5
  2531. 2486 07d6 9E81 ldd r25,Y+6
  2532. 2487 /* epilogue start */
  2533. 2488 07d8 2696 adiw r28,6
  2534. 2489 07da 0FB6 in __tmp_reg__,__SREG__
  2535. 2490 07dc F894 cli
  2536. 2491 07de DEBF out __SP_H__,r29
  2537. 2492 07e0 0FBE out __SREG__,__tmp_reg__
  2538. 2493 07e2 CDBF out __SP_L__,r28
  2539. 2494 07e4 DF91 pop r29
  2540. 2495 07e6 CF91 pop r28
  2541. 2496 07e8 1F91 pop r17
  2542. 2497 07ea 0F91 pop r16
  2543. 2498 07ec FF90 pop r15
  2544. 2499 07ee EF90 pop r14
  2545. 2500 07f0 DF90 pop r13
  2546. 2501 07f2 CF90 pop r12
  2547. 2502 07f4 BF90 pop r11
  2548. 2503 07f6 AF90 pop r10
  2549. 2504 07f8 9F90 pop r9
  2550. 2505 07fa 8F90 pop r8
  2551. 2506 07fc 7F90 pop r7
  2552. 2507 07fe 6F90 pop r6
  2553. GAS LISTING /tmp/ccxdCeAh.s page 45
  2554. 2508 0800 5F90 pop r5
  2555. 2509 0802 4F90 pop r4
  2556. 2510 0804 3F90 pop r3
  2557. 2511 0806 2F90 pop r2
  2558. 2512 0808 0C94 0000 jmp NutTcpAbortSocket
  2559. 2513 .L297:
  2560. 2514 080c F1FC sbrc r15,1
  2561. 2515 080e 00C0 rjmp .L239
  2562. 2516 0810 F4FE sbrs r15,4
  2563. 2517 0812 00C0 rjmp .L238
  2564. 2518 0814 DB01 movw r26,r22
  2565. 2519 0816 5196 adiw r26,17
  2566. 2520 0818 4D91 ld r20,X+
  2567. 2521 081a 5C91 ld r21,X
  2568. 2522 081c 5297 sbiw r26,17+1
  2569. 2523 081e B601 movw r22,r12
  2570. 2524 0820 8D81 ldd r24,Y+5
  2571. 2525 0822 9E81 ldd r25,Y+6
  2572. 2526 0824 0E94 0000 call NutTcpProcessAck
  2573. 2527 0828 00C0 rjmp .L238
  2574. 2528 .L247:
  2575. 2529 082a F2FC sbrc r15,2
  2576. 2530 082c 00C0 rjmp .L294
  2577. 2531 082e F1FC sbrc r15,1
  2578. 2532 0830 00C0 rjmp .L239
  2579. 2533 0832 F4FE sbrs r15,4
  2580. 2534 0834 00C0 rjmp .L238
  2581. 2535 0836 FB01 movw r30,r22
  2582. 2536 0838 4189 ldd r20,Z+17
  2583. 2537 083a 5289 ldd r21,Z+18
  2584. 2538 083c B601 movw r22,r12
  2585. 2539 083e 8D81 ldd r24,Y+5
  2586. 2540 0840 9E81 ldd r25,Y+6
  2587. 2541 0842 0E94 0000 call NutTcpProcessAck
  2588. 2542 0846 AD81 ldd r26,Y+5
  2589. 2543 0848 BE81 ldd r27,Y+6
  2590. 2544 084a 9B96 adiw r26,43
  2591. 2545 084c 4D91 ld r20,X+
  2592. 2546 084e 5D91 ld r21,X+
  2593. 2547 0850 6D91 ld r22,X+
  2594. 2548 0852 7C91 ld r23,X
  2595. 2549 0854 9E97 sbiw r26,43+3
  2596. 2550 0856 9796 adiw r26,39
  2597. 2551 0858 8D91 ld r24,X+
  2598. 2552 085a 9D91 ld r25,X+
  2599. 2553 085c 0D90 ld __tmp_reg__,X+
  2600. 2554 085e BC91 ld r27,X
  2601. 2555 0860 A02D mov r26,__tmp_reg__
  2602. 2556 0862 4817 cp r20,r24
  2603. 2557 0864 5907 cpc r21,r25
  2604. 2558 0866 6A07 cpc r22,r26
  2605. 2559 0868 7B07 cpc r23,r27
  2606. 2560 086a 01F0 breq .+2
  2607. 2561 086c 00C0 rjmp .L238
  2608. 2562 086e ED81 ldd r30,Y+5
  2609. 2563 0870 FE81 ldd r31,Y+6
  2610. 2564 0872 ED59 subi r30,-99
  2611. GAS LISTING /tmp/ccxdCeAh.s page 46
  2612. 2565 0874 FF4F sbci r31,-1
  2613. 2566 0876 1182 std Z+1,__zero_reg__
  2614. 2567 0878 1082 st Z,__zero_reg__
  2615. 2568 087a 6AE0 ldi r22,lo8(10)
  2616. 2569 .L335:
  2617. 2570 087c 8D81 ldd r24,Y+5
  2618. 2571 087e 9E81 ldd r25,Y+6
  2619. 2572 0880 0E94 0000 call NutTcpStateChange
  2620. 2573 0884 00C0 rjmp .L238
  2621. 2574 .L248:
  2622. 2575 0886 F2FC sbrc r15,2
  2623. 2576 0888 00C0 rjmp .L294
  2624. 2577 088a F1FC sbrc r15,1
  2625. 2578 088c 00C0 rjmp .L239
  2626. 2579 088e F4FE sbrs r15,4
  2627. 2580 0890 00C0 rjmp .L238
  2628. 2581 0892 FB01 movw r30,r22
  2629. 2582 0894 4189 ldd r20,Z+17
  2630. 2583 0896 5289 ldd r21,Z+18
  2631. 2584 0898 B601 movw r22,r12
  2632. 2585 089a 8D81 ldd r24,Y+5
  2633. 2586 089c 9E81 ldd r25,Y+6
  2634. 2587 089e 0E94 0000 call NutTcpProcessAck
  2635. 2588 08a2 C801 movw r24,r16
  2636. 2589 08a4 0E94 0000 call NutNetBufFree
  2637. 2590 08a8 AD81 ldd r26,Y+5
  2638. 2591 08aa BE81 ldd r27,Y+6
  2639. 2592 08ac 9B96 adiw r26,43
  2640. 2593 08ae 4D91 ld r20,X+
  2641. 2594 08b0 5D91 ld r21,X+
  2642. 2595 08b2 6D91 ld r22,X+
  2643. 2596 08b4 7C91 ld r23,X
  2644. 2597 08b6 9E97 sbiw r26,43+3
  2645. 2598 08b8 9796 adiw r26,39
  2646. 2599 08ba 8D91 ld r24,X+
  2647. 2600 08bc 9D91 ld r25,X+
  2648. 2601 08be 0D90 ld __tmp_reg__,X+
  2649. 2602 08c0 BC91 ld r27,X
  2650. 2603 08c2 A02D mov r26,__tmp_reg__
  2651. 2604 08c4 4817 cp r20,r24
  2652. 2605 08c6 5907 cpc r21,r25
  2653. 2606 08c8 6A07 cpc r22,r26
  2654. 2607 08ca 7B07 cpc r23,r27
  2655. 2608 08cc 01F0 breq .+2
  2656. 2609 08ce 00C0 rjmp .L237
  2657. 2610 .L337:
  2658. 2611 08d0 6BE0 ldi r22,lo8(11)
  2659. 2612 .L336:
  2660. 2613 08d2 8D81 ldd r24,Y+5
  2661. 2614 08d4 9E81 ldd r25,Y+6
  2662. 2615 .L338:
  2663. 2616 /* epilogue start */
  2664. 2617 08d6 2696 adiw r28,6
  2665. 2618 08d8 0FB6 in __tmp_reg__,__SREG__
  2666. 2619 08da F894 cli
  2667. 2620 08dc DEBF out __SP_H__,r29
  2668. 2621 08de 0FBE out __SREG__,__tmp_reg__
  2669. GAS LISTING /tmp/ccxdCeAh.s page 47
  2670. 2622 08e0 CDBF out __SP_L__,r28
  2671. 2623 08e2 DF91 pop r29
  2672. 2624 08e4 CF91 pop r28
  2673. 2625 08e6 1F91 pop r17
  2674. 2626 08e8 0F91 pop r16
  2675. 2627 08ea FF90 pop r15
  2676. 2628 08ec EF90 pop r14
  2677. 2629 08ee DF90 pop r13
  2678. 2630 08f0 CF90 pop r12
  2679. 2631 08f2 BF90 pop r11
  2680. 2632 08f4 AF90 pop r10
  2681. 2633 08f6 9F90 pop r9
  2682. 2634 08f8 8F90 pop r8
  2683. 2635 08fa 7F90 pop r7
  2684. 2636 08fc 6F90 pop r6
  2685. 2637 08fe 5F90 pop r5
  2686. 2638 0900 4F90 pop r4
  2687. 2639 0902 3F90 pop r3
  2688. 2640 0904 2F90 pop r2
  2689. 2641 0906 0C94 0000 jmp NutTcpStateChange
  2690. 2642 .L239:
  2691. 2643 090a C801 movw r24,r16
  2692. 2644 /* epilogue start */
  2693. 2645 090c 2696 adiw r28,6
  2694. 2646 090e 0FB6 in __tmp_reg__,__SREG__
  2695. 2647 0910 F894 cli
  2696. 2648 0912 DEBF out __SP_H__,r29
  2697. 2649 0914 0FBE out __SREG__,__tmp_reg__
  2698. 2650 0916 CDBF out __SP_L__,r28
  2699. 2651 0918 DF91 pop r29
  2700. 2652 091a CF91 pop r28
  2701. 2653 091c 1F91 pop r17
  2702. 2654 091e 0F91 pop r16
  2703. 2655 0920 FF90 pop r15
  2704. 2656 0922 EF90 pop r14
  2705. 2657 0924 DF90 pop r13
  2706. 2658 0926 CF90 pop r12
  2707. 2659 0928 BF90 pop r11
  2708. 2660 092a AF90 pop r10
  2709. 2661 092c 9F90 pop r9
  2710. 2662 092e 8F90 pop r8
  2711. 2663 0930 7F90 pop r7
  2712. 2664 0932 6F90 pop r6
  2713. 2665 0934 5F90 pop r5
  2714. 2666 0936 4F90 pop r4
  2715. 2667 0938 3F90 pop r3
  2716. 2668 093a 2F90 pop r2
  2717. 2669 093c 0C94 0000 jmp NutTcpReject
  2718. 2670 .L238:
  2719. 2671 0940 C801 movw r24,r16
  2720. 2672 /* epilogue start */
  2721. 2673 0942 2696 adiw r28,6
  2722. 2674 0944 0FB6 in __tmp_reg__,__SREG__
  2723. 2675 0946 F894 cli
  2724. 2676 0948 DEBF out __SP_H__,r29
  2725. 2677 094a 0FBE out __SREG__,__tmp_reg__
  2726. 2678 094c CDBF out __SP_L__,r28
  2727. GAS LISTING /tmp/ccxdCeAh.s page 48
  2728. 2679 094e DF91 pop r29
  2729. 2680 0950 CF91 pop r28
  2730. 2681 0952 1F91 pop r17
  2731. 2682 0954 0F91 pop r16
  2732. 2683 0956 FF90 pop r15
  2733. 2684 0958 EF90 pop r14
  2734. 2685 095a DF90 pop r13
  2735. 2686 095c CF90 pop r12
  2736. 2687 095e BF90 pop r11
  2737. 2688 0960 AF90 pop r10
  2738. 2689 0962 9F90 pop r9
  2739. 2690 0964 8F90 pop r8
  2740. 2691 0966 7F90 pop r7
  2741. 2692 0968 6F90 pop r6
  2742. 2693 096a 5F90 pop r5
  2743. 2694 096c 4F90 pop r4
  2744. 2695 096e 3F90 pop r3
  2745. 2696 0970 2F90 pop r2
  2746. 2697 0972 0C94 0000 jmp NutNetBufFree
  2747. 2698 .L340:
  2748. 2699 0976 F501 movw r30,r10
  2749. 2700 0978 1183 std Z+1,r17
  2750. 2701 097a 0083 st Z,r16
  2751. 2702 097c D801 movw r26,r16
  2752. 2703 097e 1D92 st X+,__zero_reg__
  2753. 2704 0980 1C92 st X,__zero_reg__
  2754. 2705 0982 00C0 rjmp .L258
  2755. 2706 .L237:
  2756. 2707 /* epilogue start */
  2757. 2708 0984 2696 adiw r28,6
  2758. 2709 0986 0FB6 in __tmp_reg__,__SREG__
  2759. 2710 0988 F894 cli
  2760. 2711 098a DEBF out __SP_H__,r29
  2761. 2712 098c 0FBE out __SREG__,__tmp_reg__
  2762. 2713 098e CDBF out __SP_L__,r28
  2763. 2714 0990 DF91 pop r29
  2764. 2715 0992 CF91 pop r28
  2765. 2716 0994 1F91 pop r17
  2766. 2717 0996 0F91 pop r16
  2767. 2718 0998 FF90 pop r15
  2768. 2719 099a EF90 pop r14
  2769. 2720 099c DF90 pop r13
  2770. 2721 099e CF90 pop r12
  2771. 2722 09a0 BF90 pop r11
  2772. 2723 09a2 AF90 pop r10
  2773. 2724 09a4 9F90 pop r9
  2774. 2725 09a6 8F90 pop r8
  2775. 2726 09a8 7F90 pop r7
  2776. 2727 09aa 6F90 pop r6
  2777. 2728 09ac 5F90 pop r5
  2778. 2729 09ae 4F90 pop r4
  2779. 2730 09b0 3F90 pop r3
  2780. 2731 09b2 2F90 pop r2
  2781. 2732 09b4 0895 ret
  2782. 2733 .size NutTcpStateProcess, .-NutTcpStateProcess
  2783. 2734 .section .text.NutTcpStatePassiveOpenEvent,"ax",@progbits
  2784. 2735 .global NutTcpStatePassiveOpenEvent
  2785. GAS LISTING /tmp/ccxdCeAh.s page 49
  2786. 2736 .type NutTcpStatePassiveOpenEvent, @function
  2787. 2737 NutTcpStatePassiveOpenEvent:
  2788. 2738 0000 0F93 push r16
  2789. 2739 0002 1F93 push r17
  2790. 2740 0004 CF93 push r28
  2791. 2741 0006 DF93 push r29
  2792. 2742 /* prologue: function */
  2793. 2743 /* frame size = 0 */
  2794. 2744 /* stack size = 4 */
  2795. 2745 .L__stack_usage = 4
  2796. 2746 0008 EC01 movw r28,r24
  2797. 2747 000a 8D89 ldd r24,Y+21
  2798. 2748 000c 8823 tst r24
  2799. 2749 000e 01F0 breq .L342
  2800. 2750 0010 C959 subi r28,-103
  2801. 2751 0012 DF4F sbci r29,-1
  2802. 2752 0014 88E3 ldi r24,lo8(56)
  2803. 2753 0016 90E0 ldi r25,0
  2804. 2754 0018 00C0 rjmp .L362
  2805. 2755 .L342:
  2806. 2756 001a 61E0 ldi r22,lo8(1)
  2807. 2757 001c CE01 movw r24,r28
  2808. 2758 001e 0E94 0000 call NutTcpStateChange
  2809. 2759 0022 6A8D ldd r22,Y+26
  2810. 2760 0024 7B8D ldd r23,Y+27
  2811. 2761 0026 40E0 ldi r20,lo8(tcp_backlog)
  2812. 2762 0028 50E0 ldi r21,hi8(tcp_backlog)
  2813. 2763 002a A0E0 ldi r26,lo8(tcp_backlog_time)
  2814. 2764 002c B0E0 ldi r27,hi8(tcp_backlog_time)
  2815. 2765 002e 18E0 ldi r17,lo8(8)
  2816. 2766 0030 80E0 ldi r24,0
  2817. 2767 .L345:
  2818. 2768 0032 FA01 movw r30,r20
  2819. 2769 0034 2191 ld r18,Z+
  2820. 2770 0036 3191 ld r19,Z+
  2821. 2771 0038 AF01 movw r20,r30
  2822. 2772 003a 2115 cp r18,__zero_reg__
  2823. 2773 003c 3105 cpc r19,__zero_reg__
  2824. 2774 003e 01F0 breq .L344
  2825. 2775 0040 F901 movw r30,r18
  2826. 2776 0042 2385 ldd r18,Z+11
  2827. 2777 0044 3485 ldd r19,Z+12
  2828. 2778 0046 F901 movw r30,r18
  2829. 2779 0048 2281 ldd r18,Z+2
  2830. 2780 004a 3381 ldd r19,Z+3
  2831. 2781 004c 6217 cp r22,r18
  2832. 2782 004e 7307 cpc r23,r19
  2833. 2783 0050 01F4 brne .L344
  2834. 2784 0052 1830 cpi r17,lo8(8)
  2835. 2785 0054 01F0 breq .L348
  2836. 2786 0056 212F mov r18,r17
  2837. 2787 0058 30E0 ldi r19,0
  2838. 2788 005a 2050 subi r18,lo8(-(tcp_backlog_time))
  2839. 2789 005c 3040 sbci r19,hi8(-(tcp_backlog_time))
  2840. 2790 005e 0C91 ld r16,X
  2841. 2791 0060 F901 movw r30,r18
  2842. 2792 0062 9081 ld r25,Z
  2843. GAS LISTING /tmp/ccxdCeAh.s page 50
  2844. 2793 0064 9017 cp r25,r16
  2845. 2794 0066 00F4 brsh .L344
  2846. 2795 .L348:
  2847. 2796 0068 182F mov r17,r24
  2848. 2797 .L344:
  2849. 2798 006a 8F5F subi r24,lo8(-(1))
  2850. 2799 006c 1196 adiw r26,1
  2851. 2800 006e 8830 cpi r24,lo8(8)
  2852. 2801 0070 01F4 brne .L345
  2853. 2802 0072 1830 cpi r17,lo8(8)
  2854. 2803 0074 01F0 breq .L346
  2855. 2804 0076 E12F mov r30,r17
  2856. 2805 0078 F0E0 ldi r31,0
  2857. 2806 007a EE0F lsl r30
  2858. 2807 007c FF1F rol r31
  2859. 2808 007e E050 subi r30,lo8(-(tcp_backlog))
  2860. 2809 0080 F040 sbci r31,hi8(-(tcp_backlog))
  2861. 2810 0082 0081 ld r16,Z
  2862. 2811 0084 1181 ldd r17,Z+1
  2863. 2812 0086 1182 std Z+1,__zero_reg__
  2864. 2813 0088 1082 st Z,__zero_reg__
  2865. 2814 008a 0115 cp r16,__zero_reg__
  2866. 2815 008c 1105 cpc r17,__zero_reg__
  2867. 2816 008e 01F0 breq .L346
  2868. 2817 0090 B801 movw r22,r16
  2869. 2818 0092 CE01 movw r24,r28
  2870. 2819 0094 0E94 0000 call NutTcpInputOptions
  2871. 2820 0098 B801 movw r22,r16
  2872. 2821 009a CE01 movw r24,r28
  2873. 2822 009c 0E94 0000 call NutTcpStateProcess
  2874. 2823 00a0 80E0 ldi r24,0
  2875. 2824 00a2 90E0 ldi r25,0
  2876. 2825 00a4 00C0 rjmp .L343
  2877. 2826 .L346:
  2878. 2827 00a6 FE01 movw r30,r28
  2879. 2828 00a8 E359 subi r30,-109
  2880. 2829 00aa FF4F sbci r31,-1
  2881. 2830 00ac 4081 ld r20,Z
  2882. 2831 00ae 5181 ldd r21,Z+1
  2883. 2832 00b0 6281 ldd r22,Z+2
  2884. 2833 00b2 7381 ldd r23,Z+3
  2885. 2834 00b4 CE01 movw r24,r28
  2886. 2835 00b6 8759 subi r24,-105
  2887. 2836 00b8 9F4F sbci r25,-1
  2888. 2837 00ba 0E94 0000 call NutEventWait
  2889. 2838 00be 0097 sbiw r24,0
  2890. 2839 00c0 01F0 breq .L343
  2891. 2840 00c2 1D8A std Y+21,__zero_reg__
  2892. 2841 00c4 C959 subi r28,-103
  2893. 2842 00c6 DF4F sbci r29,-1
  2894. 2843 00c8 8CE3 ldi r24,lo8(60)
  2895. 2844 00ca 90E0 ldi r25,0
  2896. 2845 .L362:
  2897. 2846 00cc 9983 std Y+1,r25
  2898. 2847 00ce 8883 st Y,r24
  2899. 2848 00d0 8FEF ldi r24,lo8(-1)
  2900. 2849 00d2 9FEF ldi r25,lo8(-1)
  2901. GAS LISTING /tmp/ccxdCeAh.s page 51
  2902. 2850 .L343:
  2903. 2851 /* epilogue start */
  2904. 2852 00d4 DF91 pop r29
  2905. 2853 00d6 CF91 pop r28
  2906. 2854 00d8 1F91 pop r17
  2907. 2855 00da 0F91 pop r16
  2908. 2856 00dc 0895 ret
  2909. 2857 .size NutTcpStatePassiveOpenEvent, .-NutTcpStatePassiveOpenEvent
  2910. 2858 .section .text.NutTcpSm,"ax",@progbits
  2911. 2859 .global NutTcpSm
  2912. 2860 .type NutTcpSm, @function
  2913. 2861 NutTcpSm:
  2914. 2862 /* prologue: function */
  2915. 2863 /* frame size = 0 */
  2916. 2864 /* stack size = 0 */
  2917. 2865 .L__stack_usage = 0
  2918. 2866 0000 80E2 ldi r24,lo8(32)
  2919. 2867 0002 0E94 0000 call NutThreadSetPriority
  2920. 2868 0006 F12C mov r15,__zero_reg__
  2921. 2869 0008 CC24 clr r12
  2922. 2870 000a C394 inc r12
  2923. 2871 .L364:
  2924. 2872 000c 8091 0000 lds r24,tcp_run_gc
  2925. 2873 0010 9091 0000 lds r25,tcp_run_gc+1
  2926. 2874 0014 892B or r24,r25
  2927. 2875 0016 01F0 breq .L365
  2928. 2876 0018 1092 0000 sts tcp_run_gc+1,__zero_reg__
  2929. 2877 001c 1092 0000 sts tcp_run_gc,__zero_reg__
  2930. 2878 0020 0E94 0000 call NutTcpGarbadgeCollect
  2931. 2879 .L365:
  2932. 2880 0024 F394 inc r15
  2933. 2881 0026 83E0 ldi r24,lo8(3)
  2934. 2882 0028 8F15 cp r24,r15
  2935. 2883 002a 00F4 brsh .L366
  2936. 2884 .L368:
  2937. 2885 002c C0E0 ldi r28,lo8(tcp_backlog)
  2938. 2886 002e D0E0 ldi r29,hi8(tcp_backlog)
  2939. 2887 0030 A0E0 ldi r26,lo8(tcp_backlog_time)
  2940. 2888 0032 B0E0 ldi r27,hi8(tcp_backlog_time)
  2941. 2889 0034 E8E0 ldi r30,lo8(8)
  2942. 2890 0036 80E0 ldi r24,0
  2943. 2891 0038 00C0 rjmp .L367
  2944. 2892 .L366:
  2945. 2893 003a 48EC ldi r20,lo8(-56)
  2946. 2894 003c 50E0 ldi r21,0
  2947. 2895 003e 60E0 ldi r22,0
  2948. 2896 0040 70E0 ldi r23,0
  2949. 2897 0042 80E0 ldi r24,lo8(tcp_in_rdy)
  2950. 2898 0044 90E0 ldi r25,hi8(tcp_in_rdy)
  2951. 2899 0046 0E94 0000 call NutEventWait
  2952. 2900 004a 892B or r24,r25
  2953. 2901 004c 01F4 brne .L368
  2954. 2902 004e C091 0000 lds r28,tcp_in_nbq
  2955. 2903 0052 D091 0000 lds r29,tcp_in_nbq+1
  2956. 2904 0056 1092 0000 sts tcp_in_nbq+1,__zero_reg__
  2957. 2905 005a 1092 0000 sts tcp_in_nbq,__zero_reg__
  2958. 2906 005e 1092 0000 sts tcp_in_cnt+1,__zero_reg__
  2959. GAS LISTING /tmp/ccxdCeAh.s page 52
  2960. 2907 0062 1092 0000 sts tcp_in_cnt,__zero_reg__
  2961. 2908 0066 00C0 rjmp .L386
  2962. 2909 .L421:
  2963. 2910 0068 9C91 ld r25,X
  2964. 2911 006a 9530 cpi r25,lo8(5)
  2965. 2912 006c 00F4 brsh .L394
  2966. 2913 006e 9F5F subi r25,lo8(-(1))
  2967. 2914 0070 9C93 st X,r25
  2968. 2915 .L370:
  2969. 2916 0072 8F5F subi r24,lo8(-(1))
  2970. 2917 0074 1196 adiw r26,1
  2971. 2918 0076 8830 cpi r24,lo8(8)
  2972. 2919 0078 01F0 breq .L420
  2973. 2920 .L367:
  2974. 2921 007a 2991 ld r18,Y+
  2975. 2922 007c 3991 ld r19,Y+
  2976. 2923 007e 232B or r18,r19
  2977. 2924 0080 01F4 brne .L421
  2978. 2925 0082 00C0 rjmp .L370
  2979. 2926 .L394:
  2980. 2927 0084 E82F mov r30,r24
  2981. 2928 0086 00C0 rjmp .L370
  2982. 2929 .L420:
  2983. 2930 0088 E830 cpi r30,lo8(8)
  2984. 2931 008a 01F0 breq .L372
  2985. 2932 008c F0E0 ldi r31,0
  2986. 2933 008e EE0F lsl r30
  2987. 2934 0090 FF1F rol r31
  2988. 2935 0092 E050 subi r30,lo8(-(tcp_backlog))
  2989. 2936 0094 F040 sbci r31,hi8(-(tcp_backlog))
  2990. 2937 0096 8081 ld r24,Z
  2991. 2938 0098 9181 ldd r25,Z+1
  2992. 2939 009a 1182 std Z+1,__zero_reg__
  2993. 2940 009c 1082 st Z,__zero_reg__
  2994. 2941 009e 0097 sbiw r24,0
  2995. 2942 00a0 01F0 breq .L372
  2996. 2943 00a2 0E94 0000 call NutTcpReject
  2997. 2944 .L372:
  2998. 2945 00a6 C091 0000 lds r28,tcpSocketList
  2999. 2946 00aa D091 0000 lds r29,tcpSocketList+1
  3000. 2947 .L374:
  3001. 2948 00ae 2097 sbiw r28,0
  3002. 2949 00b0 01F4 brne .+2
  3003. 2950 00b2 00C0 rjmp .L419
  3004. 2951 00b4 8AA1 ldd r24,Y+34
  3005. 2952 00b6 84FF sbrs r24,4
  3006. 2953 00b8 00C0 rjmp .L375
  3007. 2954 00ba 8860 ori r24,lo8(8)
  3008. 2955 00bc 8AA3 std Y+34,r24
  3009. 2956 00be 40E0 ldi r20,0
  3010. 2957 00c0 50E0 ldi r21,0
  3011. 2958 00c2 60E0 ldi r22,0
  3012. 2959 00c4 70E0 ldi r23,0
  3013. 2960 00c6 CE01 movw r24,r28
  3014. 2961 00c8 0E94 0000 call NutTcpOutput
  3015. 2962 .L375:
  3016. 2963 00cc 8AAD ldd r24,Y+58
  3017. GAS LISTING /tmp/ccxdCeAh.s page 53
  3018. 2964 00ce 9BAD ldd r25,Y+59
  3019. 2965 00d0 892B or r24,r25
  3020. 2966 00d2 01F0 breq .L377
  3021. 2967 00d4 8E01 movw r16,r28
  3022. 2968 00d6 0B59 subi r16,-101
  3023. 2969 00d8 1F4F sbci r17,-1
  3024. 2970 00da F801 movw r30,r16
  3025. 2971 00dc 8081 ld r24,Z
  3026. 2972 00de 9181 ldd r25,Z+1
  3027. 2973 00e0 892B or r24,r25
  3028. 2974 00e2 01F0 breq .L377
  3029. 2975 00e4 0E94 0000 call NutGetMillis
  3030. 2976 00e8 F801 movw r30,r16
  3031. 2977 00ea 2081 ld r18,Z
  3032. 2978 00ec 3181 ldd r19,Z+1
  3033. 2979 00ee 2E7F andi r18,254
  3034. 2980 00f0 621B sub r22,r18
  3035. 2981 00f2 730B sbc r23,r19
  3036. 2982 00f4 3697 sbiw r30,6
  3037. 2983 00f6 8081 ld r24,Z
  3038. 2984 00f8 9181 ldd r25,Z+1
  3039. 2985 00fa 6817 cp r22,r24
  3040. 2986 00fc 7907 cpc r23,r25
  3041. 2987 00fe 00F0 brlo .L377
  3042. 2988 0100 CE01 movw r24,r28
  3043. 2989 0102 0E94 0000 call NutTcpStateRetranTimeout
  3044. 2990 .L377:
  3045. 2991 0106 8D89 ldd r24,Y+21
  3046. 2992 0108 8A30 cpi r24,lo8(10)
  3047. 2993 010a 01F0 breq .L379
  3048. 2994 010c 8D89 ldd r24,Y+21
  3049. 2995 010e 8930 cpi r24,lo8(9)
  3050. 2996 0110 01F4 brne .L380
  3051. 2997 .L379:
  3052. 2998 0112 FE01 movw r30,r28
  3053. 2999 0114 ED59 subi r30,-99
  3054. 3000 0116 FF4F sbci r31,-1
  3055. 3001 0118 8081 ld r24,Z
  3056. 3002 011a 9181 ldd r25,Z+1
  3057. 3003 011c 9C01 movw r18,r24
  3058. 3004 011e 2F5F subi r18,-1
  3059. 3005 0120 3F4F sbci r19,-1
  3060. 3006 0122 3183 std Z+1,r19
  3061. 3007 0124 2083 st Z,r18
  3062. 3008 0126 0997 sbiw r24,9
  3063. 3009 0128 00F0 brlo .L382
  3064. 3010 012a 6BE0 ldi r22,lo8(11)
  3065. 3011 012c CE01 movw r24,r28
  3066. 3012 012e 0E94 0000 call NutTcpStateChange
  3067. 3013 0132 00C0 rjmp .L419
  3068. 3014 .L380:
  3069. 3015 0134 8D89 ldd r24,Y+21
  3070. 3016 0136 8330 cpi r24,lo8(3)
  3071. 3017 0138 01F4 brne .L382
  3072. 3018 013a FE01 movw r30,r28
  3073. 3019 013c ED59 subi r30,-99
  3074. 3020 013e FF4F sbci r31,-1
  3075. GAS LISTING /tmp/ccxdCeAh.s page 54
  3076. 3021 0140 8081 ld r24,Z
  3077. 3022 0142 9181 ldd r25,Z+1
  3078. 3023 0144 9C01 movw r18,r24
  3079. 3024 0146 2F5F subi r18,-1
  3080. 3025 0148 3F4F sbci r19,-1
  3081. 3026 014a 3183 std Z+1,r19
  3082. 3027 014c 2083 st Z,r18
  3083. 3028 014e 8D97 sbiw r24,45
  3084. 3029 0150 00F0 brlo .L382
  3085. 3030 0152 CD8A std Y+21,r12
  3086. 3031 0154 1182 std Z+1,__zero_reg__
  3087. 3032 0156 1082 st Z,__zero_reg__
  3088. 3033 .L382:
  3089. 3034 0158 0A80 ldd __tmp_reg__,Y+2
  3090. 3035 015a DB81 ldd r29,Y+3
  3091. 3036 015c C02D mov r28,__tmp_reg__
  3092. 3037 015e 00C0 rjmp .L374
  3093. 3038 .L419:
  3094. 3039 0160 F12C mov r15,__zero_reg__
  3095. 3040 0162 00C0 rjmp .L364
  3096. 3041 .L393:
  3097. 3042 0164 EB85 ldd r30,Y+11
  3098. 3043 0166 FC85 ldd r31,Y+12
  3099. 3044 0168 AF81 ldd r26,Y+7
  3100. 3045 016a B885 ldd r27,Y+8
  3101. 3046 016c 1C96 adiw r26,12
  3102. 3047 016e 2D91 ld r18,X+
  3103. 3048 0170 3D91 ld r19,X+
  3104. 3049 0172 4D91 ld r20,X+
  3105. 3050 0174 5C91 ld r21,X
  3106. 3051 0176 1F97 sbiw r26,12+3
  3107. 3052 0178 6081 ld r22,Z
  3108. 3053 017a 7181 ldd r23,Z+1
  3109. 3054 017c 8281 ldd r24,Z+2
  3110. 3055 017e 9381 ldd r25,Z+3
  3111. 3056 0180 0E94 0000 call NutTcpFindSocket
  3112. 3057 0184 8C01 movw r16,r24
  3113. 3058 0186 E880 ld r14,Y
  3114. 3059 0188 D980 ldd r13,Y+1
  3115. 3060 018a 0097 sbiw r24,0
  3116. 3061 018c 01F0 breq .L387
  3117. 3062 018e BE01 movw r22,r28
  3118. 3063 0190 0E94 0000 call NutTcpInputOptions
  3119. 3064 0194 BE01 movw r22,r28
  3120. 3065 0196 C801 movw r24,r16
  3121. 3066 0198 0E94 0000 call NutTcpStateProcess
  3122. 3067 .L388:
  3123. 3068 019c CE2D mov r28,r14
  3124. 3069 019e DD2D mov r29,r13
  3125. 3070 .L386:
  3126. 3071 01a0 2097 sbiw r28,0
  3127. 3072 01a2 01F4 brne .L393
  3128. 3073 01a4 00C0 rjmp .L364
  3129. 3074 .L387:
  3130. 3075 01a6 2F81 ldd r18,Y+7
  3131. 3076 01a8 3885 ldd r19,Y+8
  3132. 3077 01aa AB85 ldd r26,Y+11
  3133. GAS LISTING /tmp/ccxdCeAh.s page 55
  3134. 3078 01ac BC85 ldd r27,Y+12
  3135. 3079 01ae 1D96 adiw r26,13
  3136. 3080 01b0 8C91 ld r24,X
  3137. 3081 01b2 1D97 sbiw r26,13
  3138. 3082 01b4 8671 andi r24,lo8(22)
  3139. 3083 01b6 8230 cpi r24,lo8(2)
  3140. 3084 01b8 01F0 breq .+2
  3141. 3085 01ba 00C0 rjmp .L389
  3142. 3086 01bc 40E0 ldi r20,lo8(tcp_backlog)
  3143. 3087 01be 842E mov r8,r20
  3144. 3088 01c0 40E0 ldi r20,hi8(tcp_backlog)
  3145. 3089 01c2 942E mov r9,r20
  3146. 3090 01c4 00E0 ldi r16,0
  3147. 3091 01c6 10E0 ldi r17,0
  3148. 3092 01c8 58E0 ldi r21,lo8(8)
  3149. 3093 01ca B52E mov r11,r21
  3150. 3094 .L392:
  3151. 3095 01cc F401 movw r30,r8
  3152. 3096 01ce 8191 ld r24,Z+
  3153. 3097 01d0 9191 ld r25,Z+
  3154. 3098 01d2 4F01 movw r8,r30
  3155. 3099 01d4 0097 sbiw r24,0
  3156. 3100 01d6 01F4 brne .L390
  3157. 3101 01d8 F8E0 ldi r31,lo8(8)
  3158. 3102 01da BF12 cpse r11,r31
  3159. 3103 01dc 00C0 rjmp .L391
  3160. 3104 01de B02E mov r11,r16
  3161. 3105 01e0 00C0 rjmp .L391
  3162. 3106 .L390:
  3163. 3107 01e2 FC01 movw r30,r24
  3164. 3108 01e4 4781 ldd r20,Z+7
  3165. 3109 01e6 5085 ldd r21,Z+8
  3166. 3110 01e8 FA01 movw r30,r20
  3167. 3111 01ea 4484 ldd r4,Z+12
  3168. 3112 01ec 5584 ldd r5,Z+13
  3169. 3113 01ee 6684 ldd r6,Z+14
  3170. 3114 01f0 7784 ldd r7,Z+15
  3171. 3115 01f2 F901 movw r30,r18
  3172. 3116 01f4 4485 ldd r20,Z+12
  3173. 3117 01f6 5585 ldd r21,Z+13
  3174. 3118 01f8 6685 ldd r22,Z+14
  3175. 3119 01fa 7785 ldd r23,Z+15
  3176. 3120 01fc 4416 cp r4,r20
  3177. 3121 01fe 5506 cpc r5,r21
  3178. 3122 0200 6606 cpc r6,r22
  3179. 3123 0202 7706 cpc r7,r23
  3180. 3124 0204 01F4 brne .L391
  3181. 3125 0206 FC01 movw r30,r24
  3182. 3126 0208 4385 ldd r20,Z+11
  3183. 3127 020a 5485 ldd r21,Z+12
  3184. 3128 020c FA01 movw r30,r20
  3185. 3129 020e 6081 ld r22,Z
  3186. 3130 0210 7181 ldd r23,Z+1
  3187. 3131 0212 4D91 ld r20,X+
  3188. 3132 0214 5C91 ld r21,X
  3189. 3133 0216 1197 sbiw r26,1
  3190. 3134 0218 6417 cp r22,r20
  3191. GAS LISTING /tmp/ccxdCeAh.s page 56
  3192. 3135 021a 7507 cpc r23,r21
  3193. 3136 021c 01F4 brne .L391
  3194. 3137 021e 0E94 0000 call NutNetBufFree
  3195. 3138 0222 000F lsl r16
  3196. 3139 0224 111F rol r17
  3197. 3140 0226 F801 movw r30,r16
  3198. 3141 0228 E050 subi r30,lo8(-(tcp_backlog))
  3199. 3142 022a F040 sbci r31,hi8(-(tcp_backlog))
  3200. 3143 022c 1182 std Z+1,__zero_reg__
  3201. 3144 022e 1082 st Z,__zero_reg__
  3202. 3145 0230 00C0 rjmp .L389
  3203. 3146 .L391:
  3204. 3147 0232 0F5F subi r16,-1
  3205. 3148 0234 1F4F sbci r17,-1
  3206. 3149 0236 0830 cpi r16,8
  3207. 3150 0238 1105 cpc r17,__zero_reg__
  3208. 3151 023a 01F4 brne .L392
  3209. 3152 023c F8E0 ldi r31,lo8(8)
  3210. 3153 023e BF16 cp r11,r31
  3211. 3154 0240 01F0 breq .L389
  3212. 3155 0242 8B2D mov r24,r11
  3213. 3156 0244 90E0 ldi r25,0
  3214. 3157 0246 FC01 movw r30,r24
  3215. 3158 0248 EE0F lsl r30
  3216. 3159 024a FF1F rol r31
  3217. 3160 024c E050 subi r30,lo8(-(tcp_backlog))
  3218. 3161 024e F040 sbci r31,hi8(-(tcp_backlog))
  3219. 3162 0250 D183 std Z+1,r29
  3220. 3163 0252 C083 st Z,r28
  3221. 3164 0254 FC01 movw r30,r24
  3222. 3165 0256 E050 subi r30,lo8(-(tcp_backlog_time))
  3223. 3166 0258 F040 sbci r31,hi8(-(tcp_backlog_time))
  3224. 3167 025a 1082 st Z,__zero_reg__
  3225. 3168 025c 00C0 rjmp .L388
  3226. 3169 .L389:
  3227. 3170 025e CE01 movw r24,r28
  3228. 3171 0260 0E94 0000 call NutTcpReject
  3229. 3172 0264 00C0 rjmp .L388
  3230. 3173 .size NutTcpSm, .-NutTcpSm
  3231. 3174 .local tcp_run_gc
  3232. 3175 .comm tcp_run_gc,2,1
  3233. 3176 .local tcp_adv_cnt
  3234. 3177 .comm tcp_adv_cnt,2,1
  3235. 3178 .local tcp_backlog_time
  3236. 3179 .comm tcp_backlog_time,8,1
  3237. 3180 .local tcp_backlog
  3238. 3181 .comm tcp_backlog,16,1
  3239. 3182 .local tcpThread
  3240. 3183 .comm tcpThread,2,1
  3241. 3184 .local tcp_in_cnt
  3242. 3185 .comm tcp_in_cnt,2,1
  3243. 3186 .comm tcp_in_nbq,2,1
  3244. 3187 .comm tcp_in_rdy,2,1
  3245. 3188 .ident "GCC: (GNU) 5.3.0"
  3246. 3189 .global __do_copy_data
  3247. 3190 .global __do_clear_bss
  3248. GAS LISTING /tmp/ccxdCeAh.s page 57
  3249. DEFINED SYMBOLS
  3250. *ABS*:0000000000000000 tcpsm.c
  3251. /tmp/ccxdCeAh.s:2 *ABS*:000000000000003e __SP_H__
  3252. /tmp/ccxdCeAh.s:3 *ABS*:000000000000003d __SP_L__
  3253. /tmp/ccxdCeAh.s:4 *ABS*:000000000000003f __SREG__
  3254. /tmp/ccxdCeAh.s:5 *ABS*:000000000000003b __RAMPZ__
  3255. /tmp/ccxdCeAh.s:6 *ABS*:0000000000000000 __tmp_reg__
  3256. /tmp/ccxdCeAh.s:7 *ABS*:0000000000000001 __zero_reg__
  3257. /tmp/ccxdCeAh.s:10 .text.__byte_swap4:0000000000000000 __byte_swap4
  3258. /tmp/ccxdCeAh.s:30 .text.NutTcpInputOptions:0000000000000000 NutTcpInputOptions
  3259. /tmp/ccxdCeAh.s:94 .text.NutTcpStateChange:0000000000000000 NutTcpStateChange
  3260. .bss:0000000000000000 tcp_run_gc
  3261. /tmp/ccxdCeAh.s:318 .text.NutTcpProcessAppData:0000000000000000 NutTcpProcessAppData
  3262. /tmp/ccxdCeAh.s:495 .text.NutTcpProcessSyn:0000000000000000 NutTcpProcessSyn
  3263. /tmp/ccxdCeAh.s:628 .text.NutTcpStateCloseEvent:0000000000000000 NutTcpStateCloseEvent
  3264. /tmp/ccxdCeAh.s:705 .text.NutTcpStateWindowEvent:0000000000000000 NutTcpStateWindowEvent
  3265. /tmp/ccxdCeAh.s:732 .text.NutTcpGarbadgeCollect:0000000000000000 NutTcpGarbadgeCollect
  3266. /tmp/ccxdCeAh.s:777 .text.NutTcpStateMachine:0000000000000000 NutTcpStateMachine
  3267. /tmp/ccxdCeAh.s:3181 .bss:000000000000001c tcpThread
  3268. *COM*:0000000000000002 tcp_in_nbq
  3269. /tmp/ccxdCeAh.s:3183 .bss:000000000000001e tcp_in_cnt
  3270. *COM*:0000000000000002 tcp_in_rdy
  3271. /tmp/ccxdCeAh.s:889 .text.NutTcpInitStateMachine:0000000000000000 NutTcpInitStateMachine
  3272. /tmp/ccxdCeAh.s:2861 .text.NutTcpSm:0000000000000000 NutTcpSm
  3273. /tmp/ccxdCeAh.s:929 .text.NutTcpAbortSocket:0000000000000000 NutTcpAbortSocket
  3274. /tmp/ccxdCeAh.s:1011 .text.NutTcpStateActiveOpenEvent:0000000000000000 NutTcpStateActiveOpenEvent
  3275. /tmp/ccxdCeAh.s:1072 .text.NutTcpStateRetranTimeout:0000000000000000 NutTcpStateRetranTimeout
  3276. /tmp/ccxdCeAh.s:1162 .text.NutTcpProcessAck:0000000000000000 NutTcpProcessAck
  3277. /tmp/ccxdCeAh.s:1486 .text.NutTcpStateProcess:0000000000000000 NutTcpStateProcess
  3278. /tmp/ccxdCeAh.s:3175 .bss:0000000000000002 tcp_adv_cnt
  3279. /tmp/ccxdCeAh.s:2737 .text.NutTcpStatePassiveOpenEvent:0000000000000000 NutTcpStatePassiveOpenEvent
  3280. /tmp/ccxdCeAh.s:3179 .bss:000000000000000c tcp_backlog
  3281. /tmp/ccxdCeAh.s:3177 .bss:0000000000000004 tcp_backlog_time
  3282. UNDEFINED SYMBOLS
  3283. __tablejump2__
  3284. NutTcpOutput
  3285. NutEventPostAsync
  3286. NutEventBroadcast
  3287. NutSelectWakeup
  3288. NutNetBufCollect
  3289. NutIpRouteQuery
  3290. NutThreadYield
  3291. tcpSocketList
  3292. NutTcpDestroySocket
  3293. NutTcpReject
  3294. heapFreeList
  3295. NutHeapRootAvailable
  3296. NutEventPost
  3297. NutNetBufFree
  3298. NutThreadCreate
  3299. NutTcpDiscardBuffers
  3300. NutEventWait
  3301. NutIpOutput
  3302. NutGetMillis
  3303. NutTcpCalcRtt
  3304. NutThreadSetPriority
  3305. GAS LISTING /tmp/ccxdCeAh.s page 58
  3306. NutTcpFindSocket
  3307. __do_copy_data
  3308. __do_clear_bss