discover.lst 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614
  1. GAS LISTING /tmp/ccJAogwW.s page 1
  2. 1 .file "discover.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.NutDiscoveryAnnTele,"ax",@progbits
  10. 9 .global NutDiscoveryAnnTele
  11. 10 .type NutDiscoveryAnnTele, @function
  12. 11 NutDiscoveryAnnTele:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 /* prologue: function */
  16. 15 /* frame size = 0 */
  17. 16 /* stack size = 2 */
  18. 17 .L__stack_usage = 2
  19. 18 0004 EC01 movw r28,r24
  20. 19 0006 80E8 ldi r24,lo8(-128)
  21. 20 0008 FE01 movw r30,r28
  22. 21 0:
  23. 22 000a 1192 st Z+,__zero_reg__
  24. 23 000c 8A95 dec r24
  25. 24 000e 01F4 brne 0b
  26. 25 0010 8091 0000 lds r24,xid
  27. 26 0014 9091 0000 lds r25,xid+1
  28. 27 0018 A091 0000 lds r26,xid+2
  29. 28 001c B091 0000 lds r27,xid+3
  30. 29 0020 8883 st Y,r24
  31. 30 0022 9983 std Y+1,r25
  32. 31 0024 AA83 std Y+2,r26
  33. 32 0026 BB83 std Y+3,r27
  34. 33 0028 81E0 ldi r24,lo8(1)
  35. 34 002a 8C83 std Y+4,r24
  36. 35 002c 80E1 ldi r24,lo8(16)
  37. 36 002e 8D83 std Y+5,r24
  38. 37 0030 80E0 ldi r24,lo8(confnet)
  39. 38 0032 90E0 ldi r25,hi8(confnet)
  40. 39 0034 26E0 ldi r18,lo8(6)
  41. 40 0036 E0E0 ldi r30,lo8(confnet+10)
  42. 41 0038 F0E0 ldi r31,hi8(confnet+10)
  43. 42 003a DE01 movw r26,r28
  44. 43 003c 1696 adiw r26,6
  45. 44 0:
  46. 45 003e 0190 ld r0,Z+
  47. 46 0040 0D92 st X+,r0
  48. 47 0042 2A95 dec r18
  49. 48 0044 01F4 brne 0b
  50. 49 0046 FC01 movw r30,r24
  51. 50 0048 4089 ldd r20,Z+16
  52. 51 004a 5189 ldd r21,Z+17
  53. 52 004c 6289 ldd r22,Z+18
  54. 53 004e 7389 ldd r23,Z+19
  55. 54 0050 4C87 std Y+12,r20
  56. 55 0052 5D87 std Y+13,r21
  57. 56 0054 6E87 std Y+14,r22
  58. 57 0056 7F87 std Y+15,r23
  59. GAS LISTING /tmp/ccJAogwW.s page 2
  60. 58 0058 4489 ldd r20,Z+20
  61. 59 005a 5589 ldd r21,Z+21
  62. 60 005c 6689 ldd r22,Z+22
  63. 61 005e 7789 ldd r23,Z+23
  64. 62 0060 488B std Y+16,r20
  65. 63 0062 598B std Y+17,r21
  66. 64 0064 6A8B std Y+18,r22
  67. 65 0066 7B8B std Y+19,r23
  68. 66 0068 408D ldd r20,Z+24
  69. 67 006a 518D ldd r21,Z+25
  70. 68 006c 628D ldd r22,Z+26
  71. 69 006e 738D ldd r23,Z+27
  72. 70 0070 4C8B std Y+20,r20
  73. 71 0072 5D8B std Y+21,r21
  74. 72 0074 6E8B std Y+22,r22
  75. 73 0076 7F8B std Y+23,r23
  76. 74 0078 848D ldd r24,Z+28
  77. 75 007a 958D ldd r25,Z+29
  78. 76 007c A68D ldd r26,Z+30
  79. 77 007e B78D ldd r27,Z+31
  80. 78 0080 888F std Y+24,r24
  81. 79 0082 998F std Y+25,r25
  82. 80 0084 AA8F std Y+26,r26
  83. 81 0086 BB8F std Y+27,r27
  84. 82 0088 DE01 movw r26,r28
  85. 83 008a 5C96 adiw r26,28
  86. 84 008c 88E0 ldi r24,lo8(8)
  87. 85 008e E0E0 ldi r30,lo8(confos+3)
  88. 86 0090 F0E0 ldi r31,hi8(confos+3)
  89. 87 0:
  90. 88 0092 0190 ld r0,Z+
  91. 89 0094 0D92 st X+,r0
  92. 90 0096 8A95 dec r24
  93. 91 0098 01F4 brne 0b
  94. 92 009a 84E2 ldi r24,lo8(36)
  95. 93 009c 90E0 ldi r25,0
  96. 94 /* epilogue start */
  97. 95 009e DF91 pop r29
  98. 96 00a0 CF91 pop r28
  99. 97 00a2 0895 ret
  100. 98 .size NutDiscoveryAnnTele, .-NutDiscoveryAnnTele
  101. 99 .section .text.DiscoveryResponder,"ax",@progbits
  102. 100 .global DiscoveryResponder
  103. 101 .type DiscoveryResponder, @function
  104. 102 DiscoveryResponder:
  105. 103 0000 CF93 push r28
  106. 104 0002 DF93 push r29
  107. 105 0004 00D0 rcall .
  108. 106 0006 00D0 rcall .
  109. 107 0008 CDB7 in r28,__SP_L__
  110. 108 000a DEB7 in r29,__SP_H__
  111. 109 /* prologue: function */
  112. 110 /* frame size = 6 */
  113. 111 /* stack size = 8 */
  114. 112 .L__stack_usage = 8
  115. 113 .L3:
  116. 114 000c 80E8 ldi r24,lo8(-128)
  117. GAS LISTING /tmp/ccJAogwW.s page 3
  118. 115 000e 90E0 ldi r25,0
  119. 116 0010 0E94 0000 call malloc
  120. 117 0014 5C01 movw r10,r24
  121. 118 0016 892B or r24,r25
  122. 119 0018 01F4 brne .L5
  123. 120 001a 68EE ldi r22,lo8(-24)
  124. 121 001c 73E0 ldi r23,lo8(3)
  125. 122 001e 80E0 ldi r24,0
  126. 123 0020 90E0 ldi r25,0
  127. 124 0022 0E94 0000 call NutSleep
  128. 125 0026 00C0 rjmp .L3
  129. 126 .L5:
  130. 127 0028 8091 0000 lds r24,disopt+4
  131. 128 002c 9091 0000 lds r25,disopt+4+1
  132. 129 0030 0E94 0000 call NutUdpCreateSocket
  133. 130 0034 4C01 movw r8,r24
  134. 131 0036 892B or r24,r25
  135. 132 0038 01F4 brne .L22
  136. 133 003a 68EE ldi r22,lo8(-24)
  137. 134 003c 73E0 ldi r23,lo8(3)
  138. 135 003e 80E0 ldi r24,0
  139. 136 0040 90E0 ldi r25,0
  140. 137 0042 0E94 0000 call NutSleep
  141. 138 0046 00C0 rjmp .L5
  142. 139 .L22:
  143. 140 0048 80E8 ldi r24,lo8(-128)
  144. 141 004a 91E0 ldi r25,lo8(1)
  145. 142 004c 9A83 std Y+2,r25
  146. 143 004e 8983 std Y+1,r24
  147. 144 0050 22E0 ldi r18,lo8(2)
  148. 145 0052 30E0 ldi r19,0
  149. 146 0054 AE01 movw r20,r28
  150. 147 0056 4F5F subi r20,-1
  151. 148 0058 5F4F sbci r21,-1
  152. 149 005a 62E0 ldi r22,lo8(2)
  153. 150 005c 70E1 ldi r23,lo8(16)
  154. 151 005e C401 movw r24,r8
  155. 152 0060 0E94 0000 call NutUdpSetSockOpt
  156. 153 0064 8091 0000 lds r24,confnet+12
  157. 154 0068 9091 0000 lds r25,confnet+12+1
  158. 155 006c A091 0000 lds r26,confnet+12+2
  159. 156 0070 B091 0000 lds r27,confnet+12+3
  160. 157 0074 8093 0000 sts xid,r24
  161. 158 0078 9093 0000 sts xid+1,r25
  162. 159 007c A093 0000 sts xid+2,r26
  163. 160 0080 B093 0000 sts xid+3,r27
  164. 161 0084 0E94 0000 call NutGetTickCount
  165. 162 0088 0091 0000 lds r16,xid
  166. 163 008c 1091 0000 lds r17,xid+1
  167. 164 0090 2091 0000 lds r18,xid+2
  168. 165 0094 3091 0000 lds r19,xid+3
  169. 166 0098 DC01 movw r26,r24
  170. 167 009a CB01 movw r24,r22
  171. 168 009c 800F add r24,r16
  172. 169 009e 911F adc r25,r17
  173. 170 00a0 A21F adc r26,r18
  174. 171 00a2 B31F adc r27,r19
  175. GAS LISTING /tmp/ccJAogwW.s page 4
  176. 172 00a4 8093 0000 sts xid,r24
  177. 173 00a8 9093 0000 sts xid+1,r25
  178. 174 00ac A093 0000 sts xid+2,r26
  179. 175 00b0 B093 0000 sts xid+3,r27
  180. 176 00b4 2091 0000 lds r18,disopt+6
  181. 177 00b8 20FF sbrs r18,0
  182. 178 00ba 00C0 rjmp .L8
  183. 179 00bc 9770 andi r25,7
  184. 180 00be AA27 clr r26
  185. 181 00c0 BB27 clr r27
  186. 182 00c2 BC01 movw r22,r24
  187. 183 00c4 CD01 movw r24,r26
  188. 184 00c6 6C50 subi r22,12
  189. 185 00c8 7E4F sbci r23,-2
  190. 186 00ca 8F4F sbci r24,-1
  191. 187 00cc 9F4F sbci r25,-1
  192. 188 00ce 0E94 0000 call NutSleep
  193. 189 00d2 C501 movw r24,r10
  194. 190 00d4 0E94 0000 call NutDiscoveryAnnTele
  195. 191 00d8 1816 cp __zero_reg__,r24
  196. 192 00da 1906 cpc __zero_reg__,r25
  197. 193 00dc 04F4 brge .L8
  198. 194 00de 2091 0000 lds r18,disopt+4
  199. 195 00e2 3091 0000 lds r19,disopt+4+1
  200. 196 00e6 7C01 movw r14,r24
  201. 197 00e8 8501 movw r16,r10
  202. 198 00ea 4FEF ldi r20,lo8(-1)
  203. 199 00ec 5FEF ldi r21,lo8(-1)
  204. 200 00ee BA01 movw r22,r20
  205. 201 00f0 C401 movw r24,r8
  206. 202 00f2 0E94 0000 call NutUdpSendTo
  207. 203 .L8:
  208. 204 00f6 4424 clr r4
  209. 205 00f8 4A94 dec r4
  210. 206 00fa 542C mov r5,r4
  211. 207 00fc 3201 movw r6,r4
  212. 208 .L14:
  213. 209 00fe C12C mov r12,__zero_reg__
  214. 210 0100 D12C mov r13,__zero_reg__
  215. 211 0102 7601 movw r14,r12
  216. 212 0104 00E8 ldi r16,lo8(-128)
  217. 213 0106 10E0 ldi r17,0
  218. 214 0108 9501 movw r18,r10
  219. 215 010a AE01 movw r20,r28
  220. 216 010c 4B5F subi r20,-5
  221. 217 010e 5F4F sbci r21,-1
  222. 218 0110 BE01 movw r22,r28
  223. 219 0112 6F5F subi r22,-1
  224. 220 0114 7F4F sbci r23,-1
  225. 221 0116 C401 movw r24,r8
  226. 222 0118 0E94 0000 call NutUdpReceiveFrom
  227. 223 011c 8C01 movw r16,r24
  228. 224 011e 6981 ldd r22,Y+1
  229. 225 0120 7A81 ldd r23,Y+2
  230. 226 0122 8B81 ldd r24,Y+3
  231. 227 0124 9C81 ldd r25,Y+4
  232. 228 0126 C090 0000 lds r12,disopt
  233. GAS LISTING /tmp/ccJAogwW.s page 5
  234. 229 012a D090 0000 lds r13,disopt+1
  235. 230 012e E090 0000 lds r14,disopt+2
  236. 231 0132 F090 0000 lds r15,disopt+3
  237. 232 0136 C622 and r12,r22
  238. 233 0138 D722 and r13,r23
  239. 234 013a E822 and r14,r24
  240. 235 013c F922 and r15,r25
  241. 236 013e 6C15 cp r22,r12
  242. 237 0140 7D05 cpc r23,r13
  243. 238 0142 8E05 cpc r24,r14
  244. 239 0144 9F05 cpc r25,r15
  245. 240 0146 01F0 breq .+2
  246. 241 0148 00C0 rjmp .L11
  247. 242 014a 1016 cp __zero_reg__,r16
  248. 243 014c 1106 cpc __zero_reg__,r17
  249. 244 014e 04F4 brge .L11
  250. 245 0150 E091 0000 lds r30,discovery_callback
  251. 246 0154 F091 0000 lds r31,discovery_callback+1
  252. 247 0158 3097 sbiw r30,0
  253. 248 015a 01F0 breq .L11
  254. 249 015c 4D81 ldd r20,Y+5
  255. 250 015e 5E81 ldd r21,Y+6
  256. 251 0160 9501 movw r18,r10
  257. 252 0162 1995 eicall
  258. 253 0164 1816 cp __zero_reg__,r24
  259. 254 0166 1906 cpc __zero_reg__,r25
  260. 255 0168 04F4 brge .L11
  261. 256 016a 0091 0000 lds r16,confnet+16
  262. 257 016e 1091 0000 lds r17,confnet+16+1
  263. 258 0172 2091 0000 lds r18,confnet+16+2
  264. 259 0176 3091 0000 lds r19,confnet+16+3
  265. 260 017a 4981 ldd r20,Y+1
  266. 261 017c 5A81 ldd r21,Y+2
  267. 262 017e 6B81 ldd r22,Y+3
  268. 263 0180 7C81 ldd r23,Y+4
  269. 264 0182 4027 eor r20,r16
  270. 265 0184 5127 eor r21,r17
  271. 266 0186 6227 eor r22,r18
  272. 267 0188 7327 eor r23,r19
  273. 268 018a 0091 0000 lds r16,confnet+20
  274. 269 018e 1091 0000 lds r17,confnet+20+1
  275. 270 0192 2091 0000 lds r18,confnet+20+2
  276. 271 0196 3091 0000 lds r19,confnet+20+3
  277. 272 019a 4023 and r20,r16
  278. 273 019c 5123 and r21,r17
  279. 274 019e 6223 and r22,r18
  280. 275 01a0 7323 and r23,r19
  281. 276 01a2 452B or r20,r21
  282. 277 01a4 462B or r20,r22
  283. 278 01a6 472B or r20,r23
  284. 279 01a8 01F0 breq .L13
  285. 280 01aa 4982 std Y+1,r4
  286. 281 01ac 5A82 std Y+2,r5
  287. 282 01ae 6B82 std Y+3,r6
  288. 283 01b0 7C82 std Y+4,r7
  289. 284 .L13:
  290. 285 01b2 2091 0000 lds r18,disopt+4
  291. GAS LISTING /tmp/ccJAogwW.s page 6
  292. 286 01b6 3091 0000 lds r19,disopt+4+1
  293. 287 01ba 4981 ldd r20,Y+1
  294. 288 01bc 5A81 ldd r21,Y+2
  295. 289 01be 6B81 ldd r22,Y+3
  296. 290 01c0 7C81 ldd r23,Y+4
  297. 291 01c2 7C01 movw r14,r24
  298. 292 01c4 8501 movw r16,r10
  299. 293 01c6 C401 movw r24,r8
  300. 294 01c8 0E94 0000 call NutUdpSendTo
  301. 295 .L11:
  302. 296 01cc 64E6 ldi r22,lo8(100)
  303. 297 01ce 70E0 ldi r23,0
  304. 298 01d0 80E0 ldi r24,0
  305. 299 01d2 90E0 ldi r25,0
  306. 300 01d4 0E94 0000 call NutSleep
  307. 301 01d8 00C0 rjmp .L14
  308. 302 .size DiscoveryResponder, .-DiscoveryResponder
  309. 303 .section .text.NutDiscoveryAppConf,"ax",@progbits
  310. 304 .global NutDiscoveryAppConf
  311. 305 .type NutDiscoveryAppConf, @function
  312. 306 NutDiscoveryAppConf:
  313. 307 0000 CF93 push r28
  314. 308 0002 DF93 push r29
  315. 309 /* prologue: function */
  316. 310 /* frame size = 0 */
  317. 311 /* stack size = 2 */
  318. 312 .L__stack_usage = 2
  319. 313 0004 EC01 movw r28,r24
  320. 314 0006 80E1 ldi r24,lo8(16)
  321. 315 0008 E0E0 ldi r30,lo8(confos+3)
  322. 316 000a F0E0 ldi r31,hi8(confos+3)
  323. 317 000c DF01 movw r26,r30
  324. 318 0:
  325. 319 000e 1D92 st X+,__zero_reg__
  326. 320 0010 8A95 dec r24
  327. 321 0012 01F4 brne 0b
  328. 322 0014 BE01 movw r22,r28
  329. 323 0016 645E subi r22,-28
  330. 324 0018 7F4F sbci r23,-1
  331. 325 001a 4FE0 ldi r20,lo8(15)
  332. 326 001c 50E0 ldi r21,0
  333. 327 001e CF01 movw r24,r30
  334. 328 0020 0E94 0000 call strncpy
  335. 329 0024 0E94 0000 call NutSaveConfig
  336. 330 0028 86E0 ldi r24,lo8(6)
  337. 331 002a FE01 movw r30,r28
  338. 332 002c 3696 adiw r30,6
  339. 333 002e A0E0 ldi r26,lo8(confnet+10)
  340. 334 0030 B0E0 ldi r27,hi8(confnet+10)
  341. 335 0:
  342. 336 0032 0190 ld r0,Z+
  343. 337 0034 0D92 st X+,r0
  344. 338 0036 8A95 dec r24
  345. 339 0038 01F4 brne 0b
  346. 340 003a E0E0 ldi r30,lo8(confnet)
  347. 341 003c F0E0 ldi r31,hi8(confnet)
  348. 342 003e 8C85 ldd r24,Y+12
  349. GAS LISTING /tmp/ccJAogwW.s page 7
  350. 343 0040 9D85 ldd r25,Y+13
  351. 344 0042 AE85 ldd r26,Y+14
  352. 345 0044 BF85 ldd r27,Y+15
  353. 346 0046 808B std Z+16,r24
  354. 347 0048 918B std Z+17,r25
  355. 348 004a A28B std Z+18,r26
  356. 349 004c B38B std Z+19,r27
  357. 350 004e 8889 ldd r24,Y+16
  358. 351 0050 9989 ldd r25,Y+17
  359. 352 0052 AA89 ldd r26,Y+18
  360. 353 0054 BB89 ldd r27,Y+19
  361. 354 0056 848B std Z+20,r24
  362. 355 0058 958B std Z+21,r25
  363. 356 005a A68B std Z+22,r26
  364. 357 005c B78B std Z+23,r27
  365. 358 005e 8C89 ldd r24,Y+20
  366. 359 0060 9D89 ldd r25,Y+21
  367. 360 0062 AE89 ldd r26,Y+22
  368. 361 0064 BF89 ldd r27,Y+23
  369. 362 0066 808F std Z+24,r24
  370. 363 0068 918F std Z+25,r25
  371. 364 006a A28F std Z+26,r26
  372. 365 006c B38F std Z+27,r27
  373. 366 006e 888D ldd r24,Y+24
  374. 367 0070 998D ldd r25,Y+25
  375. 368 0072 AA8D ldd r26,Y+26
  376. 369 0074 BB8D ldd r27,Y+27
  377. 370 0076 848F std Z+28,r24
  378. 371 0078 958F std Z+29,r25
  379. 372 007a A68F std Z+30,r26
  380. 373 007c B78F std Z+31,r27
  381. 374 /* epilogue start */
  382. 375 007e DF91 pop r29
  383. 376 0080 CF91 pop r28
  384. 377 0082 0C94 0000 jmp NutNetSaveConfig
  385. 378 .size NutDiscoveryAppConf, .-NutDiscoveryAppConf
  386. 379 .section .text.NutDiscoveryHandler,"ax",@progbits
  387. 380 .type NutDiscoveryHandler, @function
  388. 381 NutDiscoveryHandler:
  389. 382 0000 0F93 push r16
  390. 383 0002 1F93 push r17
  391. 384 0004 CF93 push r28
  392. 385 0006 DF93 push r29
  393. 386 /* prologue: function */
  394. 387 /* frame size = 0 */
  395. 388 /* stack size = 4 */
  396. 389 .L__stack_usage = 4
  397. 390 0008 E901 movw r28,r18
  398. 391 000a 0432 cpi r16,36
  399. 392 000c 1105 cpc r17,__zero_reg__
  400. 393 000e 00F4 brsh .+2
  401. 394 0010 00C0 rjmp .L25
  402. 395 0012 8C81 ldd r24,Y+4
  403. 396 0014 8111 cpse r24,__zero_reg__
  404. 397 0016 00C0 rjmp .L26
  405. 398 0018 C901 movw r24,r18
  406. 399 /* epilogue start */
  407. GAS LISTING /tmp/ccJAogwW.s page 8
  408. 400 001a DF91 pop r29
  409. 401 001c CF91 pop r28
  410. 402 001e 1F91 pop r17
  411. 403 0020 0F91 pop r16
  412. 404 0022 0C94 0000 jmp NutDiscoveryAnnTele
  413. 405 .L26:
  414. 406 0026 8230 cpi r24,lo8(2)
  415. 407 0028 01F4 brne .L25
  416. 408 002a 4881 ld r20,Y
  417. 409 002c 5981 ldd r21,Y+1
  418. 410 002e 6A81 ldd r22,Y+2
  419. 411 0030 7B81 ldd r23,Y+3
  420. 412 0032 8091 0000 lds r24,xid
  421. 413 0036 9091 0000 lds r25,xid+1
  422. 414 003a A091 0000 lds r26,xid+2
  423. 415 003e B091 0000 lds r27,xid+3
  424. 416 0042 4817 cp r20,r24
  425. 417 0044 5907 cpc r21,r25
  426. 418 0046 6A07 cpc r22,r26
  427. 419 0048 7B07 cpc r23,r27
  428. 420 004a 01F4 brne .L25
  429. 421 004c 8D81 ldd r24,Y+5
  430. 422 004e 8031 cpi r24,lo8(16)
  431. 423 0050 01F4 brne .L25
  432. 424 0052 0E94 0000 call NutGetTickCount
  433. 425 0056 0091 0000 lds r16,xid
  434. 426 005a 1091 0000 lds r17,xid+1
  435. 427 005e 2091 0000 lds r18,xid+2
  436. 428 0062 3091 0000 lds r19,xid+3
  437. 429 0066 DC01 movw r26,r24
  438. 430 0068 CB01 movw r24,r22
  439. 431 006a 800F add r24,r16
  440. 432 006c 911F adc r25,r17
  441. 433 006e A21F adc r26,r18
  442. 434 0070 B31F adc r27,r19
  443. 435 0072 8093 0000 sts xid,r24
  444. 436 0076 9093 0000 sts xid+1,r25
  445. 437 007a A093 0000 sts xid+2,r26
  446. 438 007e B093 0000 sts xid+3,r27
  447. 439 0082 CE01 movw r24,r28
  448. 440 /* epilogue start */
  449. 441 0084 DF91 pop r29
  450. 442 0086 CF91 pop r28
  451. 443 0088 1F91 pop r17
  452. 444 008a 0F91 pop r16
  453. 445 008c 0C94 0000 jmp NutDiscoveryAppConf
  454. 446 .L25:
  455. 447 0090 8FEF ldi r24,lo8(-1)
  456. 448 0092 9FEF ldi r25,lo8(-1)
  457. 449 /* epilogue start */
  458. 450 0094 DF91 pop r29
  459. 451 0096 CF91 pop r28
  460. 452 0098 1F91 pop r17
  461. 453 009a 0F91 pop r16
  462. 454 009c 0895 ret
  463. 455 .size NutDiscoveryHandler, .-NutDiscoveryHandler
  464. 456 .section .text.NutRegisterDiscoveryCallback,"ax",@progbits
  465. GAS LISTING /tmp/ccJAogwW.s page 9
  466. 457 .global NutRegisterDiscoveryCallback
  467. 458 .type NutRegisterDiscoveryCallback, @function
  468. 459 NutRegisterDiscoveryCallback:
  469. 460 /* prologue: function */
  470. 461 /* frame size = 0 */
  471. 462 /* stack size = 0 */
  472. 463 .L__stack_usage = 0
  473. 464 0000 2091 0000 lds r18,discovery_callback
  474. 465 0004 3091 0000 lds r19,discovery_callback+1
  475. 466 0008 9093 0000 sts discovery_callback+1,r25
  476. 467 000c 8093 0000 sts discovery_callback,r24
  477. 468 0010 C901 movw r24,r18
  478. 469 0012 0895 ret
  479. 470 .size NutRegisterDiscoveryCallback, .-NutRegisterDiscoveryCallback
  480. 471 .section .rodata.str1.1,"aMS",@progbits,1
  481. 472 .LC0:
  482. 473 0000 7564 6973 .string "udisc"
  483. 473 6300
  484. 474 .section .text.NutRegisterDiscovery,"ax",@progbits
  485. 475 .global NutRegisterDiscovery
  486. 476 .type NutRegisterDiscovery, @function
  487. 477 NutRegisterDiscovery:
  488. 478 /* prologue: function */
  489. 479 /* frame size = 0 */
  490. 480 /* stack size = 0 */
  491. 481 .L__stack_usage = 0
  492. 482 0000 E091 0000 lds r30,tid.2933
  493. 483 0004 F091 0000 lds r31,tid.2933+1
  494. 484 0008 EF2B or r30,r31
  495. 485 000a 01F4 brne .L36
  496. 486 000c 6093 0000 sts disopt,r22
  497. 487 0010 7093 0000 sts disopt+1,r23
  498. 488 0014 8093 0000 sts disopt+2,r24
  499. 489 0018 9093 0000 sts disopt+3,r25
  500. 490 001c 4115 cp r20,__zero_reg__
  501. 491 001e 5105 cpc r21,__zero_reg__
  502. 492 0020 01F0 breq .L37
  503. 493 0022 942F mov r25,r20
  504. 494 0024 852F mov r24,r21
  505. 495 0026 00C0 rjmp .L34
  506. 496 .L37:
  507. 497 0028 9EE4 ldi r25,lo8(78)
  508. 498 002a 86E2 ldi r24,lo8(38)
  509. 499 .L34:
  510. 500 002c 9093 0000 sts disopt+4,r25
  511. 501 0030 8093 0000 sts disopt+5,r24
  512. 502 0034 3093 0000 sts disopt+6+1,r19
  513. 503 0038 2093 0000 sts disopt+6,r18
  514. 504 003c 20EE ldi r18,lo8(-32)
  515. 505 003e 30E0 ldi r19,0
  516. 506 0040 40E0 ldi r20,0
  517. 507 0042 50E0 ldi r21,0
  518. 508 0044 60E0 ldi r22,lo8(gs(DiscoveryResponder))
  519. 509 0046 70E0 ldi r23,hi8(gs(DiscoveryResponder))
  520. 510 0048 80E0 ldi r24,lo8(.LC0)
  521. 511 004a 90E0 ldi r25,hi8(.LC0)
  522. 512 004c 0E94 0000 call NutThreadCreate
  523. GAS LISTING /tmp/ccJAogwW.s page 10
  524. 513 0050 9093 0000 sts tid.2933+1,r25
  525. 514 0054 8093 0000 sts tid.2933,r24
  526. 515 0058 21E0 ldi r18,lo8(1)
  527. 516 005a 30E0 ldi r19,0
  528. 517 005c 892B or r24,r25
  529. 518 005e 01F0 breq .L35
  530. 519 0060 20E0 ldi r18,0
  531. 520 0062 30E0 ldi r19,0
  532. 521 .L35:
  533. 522 0064 8827 clr r24
  534. 523 0066 9927 clr r25
  535. 524 0068 821B sub r24,r18
  536. 525 006a 930B sbc r25,r19
  537. 526 006c 0895 ret
  538. 527 .L36:
  539. 528 006e 8FEF ldi r24,lo8(-1)
  540. 529 0070 9FEF ldi r25,lo8(-1)
  541. 530 0072 0895 ret
  542. 531 .size NutRegisterDiscovery, .-NutRegisterDiscovery
  543. 532 .local tid.2933
  544. 533 .comm tid.2933,2,1
  545. 534 .data
  546. 535 .type discovery_callback, @object
  547. 536 .size discovery_callback, 2
  548. 537 discovery_callback:
  549. 538 0000 0000 .word gs(NutDiscoveryHandler)
  550. 539 .local xid
  551. 540 .comm xid,4,1
  552. 541 .local disopt
  553. 542 .comm disopt,8,1
  554. 543 .ident "GCC: (GNU) 5.3.0"
  555. 544 .global __do_copy_data
  556. 545 .global __do_clear_bss
  557. GAS LISTING /tmp/ccJAogwW.s page 11
  558. DEFINED SYMBOLS
  559. *ABS*:0000000000000000 discover.c
  560. /tmp/ccJAogwW.s:2 *ABS*:000000000000003e __SP_H__
  561. /tmp/ccJAogwW.s:3 *ABS*:000000000000003d __SP_L__
  562. /tmp/ccJAogwW.s:4 *ABS*:000000000000003f __SREG__
  563. /tmp/ccJAogwW.s:5 *ABS*:000000000000003b __RAMPZ__
  564. /tmp/ccJAogwW.s:6 *ABS*:0000000000000000 __tmp_reg__
  565. /tmp/ccJAogwW.s:7 *ABS*:0000000000000001 __zero_reg__
  566. /tmp/ccJAogwW.s:11 .text.NutDiscoveryAnnTele:0000000000000000 NutDiscoveryAnnTele
  567. /tmp/ccJAogwW.s:533 .bss:0000000000000002 xid
  568. /tmp/ccJAogwW.s:102 .text.DiscoveryResponder:0000000000000000 DiscoveryResponder
  569. /tmp/ccJAogwW.s:540 .bss:0000000000000006 disopt
  570. /tmp/ccJAogwW.s:537 .data:0000000000000000 discovery_callback
  571. /tmp/ccJAogwW.s:306 .text.NutDiscoveryAppConf:0000000000000000 NutDiscoveryAppConf
  572. /tmp/ccJAogwW.s:381 .text.NutDiscoveryHandler:0000000000000000 NutDiscoveryHandler
  573. /tmp/ccJAogwW.s:459 .text.NutRegisterDiscoveryCallback:0000000000000000 NutRegisterDiscoveryCallback
  574. /tmp/ccJAogwW.s:477 .text.NutRegisterDiscovery:0000000000000000 NutRegisterDiscovery
  575. .bss:0000000000000000 tid.2933
  576. UNDEFINED SYMBOLS
  577. confnet
  578. confos
  579. malloc
  580. NutSleep
  581. NutUdpCreateSocket
  582. NutUdpSetSockOpt
  583. NutGetTickCount
  584. NutUdpSendTo
  585. NutUdpReceiveFrom
  586. strncpy
  587. NutSaveConfig
  588. NutNetSaveConfig
  589. NutThreadCreate
  590. __do_copy_data
  591. __do_clear_bss