upnp_dev.lst 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347
  1. GAS LISTING /tmp/ccEHcQCQ.s page 1
  2. 1 .file "upnp_dev.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 .rodata.str1.1,"aMS",@progbits,1
  10. 9 .LC0:
  11. 10 0000 3C73 7065 .string "<specVersion>\r\n"
  12. 10 6356 6572
  13. 10 7369 6F6E
  14. 10 3E0D 0A00
  15. 11 .LC1:
  16. 12 0010 3C6D 616A .string "<major>1</major>\r\n"
  17. 12 6F72 3E31
  18. 12 3C2F 6D61
  19. 12 6A6F 723E
  20. 12 0D0A 00
  21. 13 .LC2:
  22. 14 0023 3C6D 696E .string "<minor>0</minor>\r\n"
  23. 14 6F72 3E30
  24. 14 3C2F 6D69
  25. 14 6E6F 723E
  26. 14 0D0A 00
  27. 15 .LC3:
  28. 16 0036 3C2F 7370 .string "</specVersion>\r\n"
  29. 16 6563 5665
  30. 16 7273 696F
  31. 16 6E3E 0D0A
  32. 16 00
  33. 17 .section .text.SpecVersion,"ax",@progbits
  34. 18 .type SpecVersion, @function
  35. 19 SpecVersion:
  36. 20 0000 CF93 push r28
  37. 21 0002 DF93 push r29
  38. 22 /* prologue: function */
  39. 23 /* frame size = 0 */
  40. 24 /* stack size = 2 */
  41. 25 .L__stack_usage = 2
  42. 26 0004 EC01 movw r28,r24
  43. 27 0006 BC01 movw r22,r24
  44. 28 0008 80E0 ldi r24,lo8(.LC0)
  45. 29 000a 90E0 ldi r25,hi8(.LC0)
  46. 30 000c 0E94 0000 call fputs
  47. 31 0010 BE01 movw r22,r28
  48. 32 0012 80E0 ldi r24,lo8(.LC1)
  49. 33 0014 90E0 ldi r25,hi8(.LC1)
  50. 34 0016 0E94 0000 call fputs
  51. 35 001a BE01 movw r22,r28
  52. 36 001c 80E0 ldi r24,lo8(.LC2)
  53. 37 001e 90E0 ldi r25,hi8(.LC2)
  54. 38 0020 0E94 0000 call fputs
  55. 39 0024 BE01 movw r22,r28
  56. 40 0026 80E0 ldi r24,lo8(.LC3)
  57. 41 0028 90E0 ldi r25,hi8(.LC3)
  58. 42 /* epilogue start */
  59. GAS LISTING /tmp/ccEHcQCQ.s page 2
  60. 43 002a DF91 pop r29
  61. 44 002c CF91 pop r28
  62. 45 002e 0C94 0000 jmp fputs
  63. 46 .size SpecVersion, .-SpecVersion
  64. 47 .section .rodata.str1.1
  65. 48 .LC4:
  66. 49 0047 3C25 733E .string "<%s>"
  67. 49 00
  68. 50 .LC5:
  69. 51 004c 2573 3C2F .string "%s</%s>\r\n"
  70. 51 2573 3E0D
  71. 51 0A00
  72. 52 .section .text.WritePrepTag,"ax",@progbits
  73. 53 .type WritePrepTag, @function
  74. 54 WritePrepTag:
  75. 55 0000 CF92 push r12
  76. 56 0002 DF92 push r13
  77. 57 0004 EF92 push r14
  78. 58 0006 FF92 push r15
  79. 59 0008 0F93 push r16
  80. 60 000a 1F93 push r17
  81. 61 000c CF93 push r28
  82. 62 000e DF93 push r29
  83. 63 /* prologue: function */
  84. 64 /* frame size = 0 */
  85. 65 /* stack size = 8 */
  86. 66 .L__stack_usage = 8
  87. 67 0010 182F mov r17,r24
  88. 68 0012 092F mov r16,r25
  89. 69 0014 F62E mov r15,r22
  90. 70 0016 E72E mov r14,r23
  91. 71 0018 EA01 movw r28,r20
  92. 72 001a 6901 movw r12,r18
  93. 73 001c 2097 sbiw r28,0
  94. 74 001e 01F0 breq .L2
  95. 75 0020 7F93 push r23
  96. 76 0022 6F93 push r22
  97. 77 0024 80E0 ldi r24,lo8(.LC4)
  98. 78 0026 90E0 ldi r25,hi8(.LC4)
  99. 79 0028 9F93 push r25
  100. 80 002a 8F93 push r24
  101. 81 002c 0F93 push r16
  102. 82 002e 1F93 push r17
  103. 83 0030 0E94 0000 call fprintf
  104. 84 0034 0F90 pop __tmp_reg__
  105. 85 0036 0F90 pop __tmp_reg__
  106. 86 0038 0F90 pop __tmp_reg__
  107. 87 003a 0F90 pop __tmp_reg__
  108. 88 003c 0F90 pop __tmp_reg__
  109. 89 003e 0F90 pop __tmp_reg__
  110. 90 0040 C114 cp r12,__zero_reg__
  111. 91 0042 D104 cpc r13,__zero_reg__
  112. 92 0044 01F0 breq .L4
  113. 93 0046 8881 ld r24,Y
  114. 94 0048 8B32 cpi r24,lo8(43)
  115. 95 004a 01F4 brne .L4
  116. 96 004c 2196 adiw r28,1
  117. GAS LISTING /tmp/ccEHcQCQ.s page 3
  118. 97 004e 612F mov r22,r17
  119. 98 0050 702F mov r23,r16
  120. 99 0052 C601 movw r24,r12
  121. 100 0054 0E94 0000 call fputs
  122. 101 .L4:
  123. 102 0058 EF92 push r14
  124. 103 005a FF92 push r15
  125. 104 005c DF93 push r29
  126. 105 005e CF93 push r28
  127. 106 0060 80E0 ldi r24,lo8(.LC5)
  128. 107 0062 90E0 ldi r25,hi8(.LC5)
  129. 108 0064 9F93 push r25
  130. 109 0066 8F93 push r24
  131. 110 0068 0F93 push r16
  132. 111 006a 1F93 push r17
  133. 112 006c 0E94 0000 call fprintf
  134. 113 0070 8DB7 in r24,__SP_L__
  135. 114 0072 9EB7 in r25,__SP_H__
  136. 115 0074 0896 adiw r24,8
  137. 116 0076 0FB6 in __tmp_reg__,__SREG__
  138. 117 0078 F894 cli
  139. 118 007a 9EBF out __SP_H__,r25
  140. 119 007c 0FBE out __SREG__,__tmp_reg__
  141. 120 007e 8DBF out __SP_L__,r24
  142. 121 .L2:
  143. 122 /* epilogue start */
  144. 123 0080 DF91 pop r29
  145. 124 0082 CF91 pop r28
  146. 125 0084 1F91 pop r17
  147. 126 0086 0F91 pop r16
  148. 127 0088 FF90 pop r15
  149. 128 008a EF90 pop r14
  150. 129 008c DF90 pop r13
  151. 130 008e CF90 pop r12
  152. 131 0090 0895 ret
  153. 132 .size WritePrepTag, .-WritePrepTag
  154. 133 .section .text.WriteTag,"ax",@progbits
  155. 134 .type WriteTag, @function
  156. 135 WriteTag:
  157. 136 /* prologue: function */
  158. 137 /* frame size = 0 */
  159. 138 /* stack size = 0 */
  160. 139 .L__stack_usage = 0
  161. 140 0000 20E0 ldi r18,0
  162. 141 0002 30E0 ldi r19,0
  163. 142 0004 0C94 0000 jmp WritePrepTag
  164. 143 .size WriteTag, .-WriteTag
  165. 144 .section .rodata.str1.1
  166. 145 .LC6:
  167. 146 0056 5345 5256 .string "SERVER: NutOS/5.0 UPnP/1.0 TestUPnP/1.0\r\n"
  168. 146 4552 3A20
  169. 146 4E75 744F
  170. 146 532F 352E
  171. 146 3020 5550
  172. 147 .LC7:
  173. 148 0080 786D 6C00 .string "xml"
  174. 149 .LC8:
  175. GAS LISTING /tmp/ccEHcQCQ.s page 4
  176. 150 0084 7465 7874 .string "text"
  177. 150 00
  178. 151 .LC9:
  179. 152 0089 3C3F 786D .string "<?xml version=\"1.0\"?>\r\n"
  180. 152 6C20 7665
  181. 152 7273 696F
  182. 152 6E3D 2231
  183. 152 2E30 223F
  184. 153 .section .text.XmlHead,"ax",@progbits
  185. 154 .type XmlHead, @function
  186. 155 XmlHead:
  187. 156 0000 EF92 push r14
  188. 157 0002 FF92 push r15
  189. 158 0004 0F93 push r16
  190. 159 0006 1F93 push r17
  191. 160 0008 CF93 push r28
  192. 161 000a DF93 push r29
  193. 162 /* prologue: function */
  194. 163 /* frame size = 0 */
  195. 164 /* stack size = 6 */
  196. 165 .L__stack_usage = 6
  197. 166 000c EC01 movw r28,r24
  198. 167 000e 68EC ldi r22,lo8(-56)
  199. 168 0010 70E0 ldi r23,0
  200. 169 0012 0E94 0000 call HttpSendStreamHeaderTop
  201. 170 0016 BE01 movw r22,r28
  202. 171 0018 80E0 ldi r24,lo8(.LC6)
  203. 172 001a 90E0 ldi r25,hi8(.LC6)
  204. 173 001c 0E94 0000 call fputs
  205. 174 0020 EE24 clr r14
  206. 175 0022 EA94 dec r14
  207. 176 0024 FE2C mov r15,r14
  208. 177 0026 8701 movw r16,r14
  209. 178 0028 21E0 ldi r18,lo8(1)
  210. 179 002a 30E0 ldi r19,0
  211. 180 002c 40E0 ldi r20,lo8(.LC7)
  212. 181 002e 50E0 ldi r21,hi8(.LC7)
  213. 182 0030 60E0 ldi r22,lo8(.LC8)
  214. 183 0032 70E0 ldi r23,hi8(.LC8)
  215. 184 0034 CE01 movw r24,r28
  216. 185 0036 0E94 0000 call HttpSendStreamHeaderBottom
  217. 186 003a BE01 movw r22,r28
  218. 187 003c 80E0 ldi r24,lo8(.LC9)
  219. 188 003e 90E0 ldi r25,hi8(.LC9)
  220. 189 /* epilogue start */
  221. 190 0040 DF91 pop r29
  222. 191 0042 CF91 pop r28
  223. 192 0044 1F91 pop r17
  224. 193 0046 0F91 pop r16
  225. 194 0048 FF90 pop r15
  226. 195 004a EF90 pop r14
  227. 196 004c 0C94 0000 jmp fputs
  228. 197 .size XmlHead, .-XmlHead
  229. 198 .section .rodata.str1.1
  230. 199 .LC10:
  231. 200 00a1 7965 7300 .string "yes"
  232. 201 .LC11:
  233. GAS LISTING /tmp/ccEHcQCQ.s page 5
  234. 202 00a5 6E6F 00 .string "no"
  235. 203 .LC12:
  236. 204 00a8 3C61 6374 .string "<actionList>\r\n"
  237. 204 696F 6E4C
  238. 204 6973 743E
  239. 204 0D0A 00
  240. 205 .LC13:
  241. 206 00b7 3C61 6374 .string "<action>\r\n"
  242. 206 696F 6E3E
  243. 206 0D0A 00
  244. 207 .LC14:
  245. 208 00c2 6E61 6D65 .string "name"
  246. 208 00
  247. 209 .LC15:
  248. 210 00c7 3C61 7267 .string "<argumentList>\r\n"
  249. 210 756D 656E
  250. 210 744C 6973
  251. 210 743E 0D0A
  252. 210 00
  253. 211 .LC16:
  254. 212 00d8 3C61 7267 .string "<argument>\r\n"
  255. 212 756D 656E
  256. 212 743E 0D0A
  257. 212 00
  258. 213 .LC17:
  259. 214 00e5 7265 6C61 .string "relatedStateVariable"
  260. 214 7465 6453
  261. 214 7461 7465
  262. 214 5661 7269
  263. 214 6162 6C65
  264. 215 .LC18:
  265. 216 00fa 696E 00 .string "in"
  266. 217 .LC19:
  267. 218 00fd 6469 7265 .string "direction"
  268. 218 6374 696F
  269. 218 6E00
  270. 219 .LC20:
  271. 220 0107 3C2F 6172 .string "</argument>\r\n"
  272. 220 6775 6D65
  273. 220 6E74 3E0D
  274. 220 0A00
  275. 221 .LC21:
  276. 222 0115 6F75 7400 .string "out"
  277. 223 .LC22:
  278. 224 0119 3C2F 6172 .string "</argumentList>\r\n"
  279. 224 6775 6D65
  280. 224 6E74 4C69
  281. 224 7374 3E0D
  282. 224 0A00
  283. 225 .LC23:
  284. 226 012b 3C2F 6163 .string "</action>\r\n"
  285. 226 7469 6F6E
  286. 226 3E0D 0A00
  287. 227 .LC24:
  288. 228 0137 3C2F 6163 .string "</actionList>\r\n"
  289. 228 7469 6F6E
  290. 228 4C69 7374
  291. GAS LISTING /tmp/ccEHcQCQ.s page 6
  292. 228 3E0D 0A00
  293. 229 .LC25:
  294. 230 0147 3C73 6572 .string "<serviceStateTable>\r\n"
  295. 230 7669 6365
  296. 230 5374 6174
  297. 230 6554 6162
  298. 230 6C65 3E0D
  299. 231 .LC26:
  300. 232 015d 3C73 7461 .string "<stateVariable sendEvents=\"%s\">\r\n"
  301. 232 7465 5661
  302. 232 7269 6162
  303. 232 6C65 2073
  304. 232 656E 6445
  305. 233 .LC27:
  306. 234 017f 6461 7461 .string "dataType"
  307. 234 5479 7065
  308. 234 00
  309. 235 .LC28:
  310. 236 0188 6465 6661 .string "defaultValue"
  311. 236 756C 7456
  312. 236 616C 7565
  313. 236 00
  314. 237 .LC29:
  315. 238 0195 3C2F 7374 .string "</stateVariable>\r\n"
  316. 238 6174 6556
  317. 238 6172 6961
  318. 238 626C 653E
  319. 238 0D0A 00
  320. 239 .LC30:
  321. 240 01a8 3C2F 7365 .string "</serviceStateTable>\r\n"
  322. 240 7276 6963
  323. 240 6553 7461
  324. 240 7465 5461
  325. 240 626C 653E
  326. 241 .LC31:
  327. 242 01bf 3C2F 7363 .string "</scpd>\r\n"
  328. 242 7064 3E0D
  329. 242 0A00
  330. 243 .LC32:
  331. 244 01c9 3C73 6370 .string "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\r\n"
  332. 244 6420 786D
  333. 244 6C6E 733D
  334. 244 2275 726E
  335. 244 3A73 6368
  336. 245 .section .text.UpnpCgiServiceDescription,"ax",@progbits
  337. 246 .type UpnpCgiServiceDescription, @function
  338. 247 UpnpCgiServiceDescription:
  339. 248 0000 AF92 push r10
  340. 249 0002 BF92 push r11
  341. 250 0004 CF92 push r12
  342. 251 0006 DF92 push r13
  343. 252 0008 EF92 push r14
  344. 253 000a FF92 push r15
  345. 254 000c 0F93 push r16
  346. 255 000e 1F93 push r17
  347. 256 0010 CF93 push r28
  348. 257 0012 DF93 push r29
  349. GAS LISTING /tmp/ccEHcQCQ.s page 7
  350. 258 /* prologue: function */
  351. 259 /* frame size = 0 */
  352. 260 /* stack size = 10 */
  353. 261 .L__stack_usage = 10
  354. 262 0014 7C01 movw r14,r24
  355. 263 0016 DC01 movw r26,r24
  356. 264 0018 CC91 ld r28,X
  357. 265 001a 1196 adiw r26,1
  358. 266 001c DC91 ld r29,X
  359. 267 001e 8C01 movw r16,r24
  360. 268 0020 0E5F subi r16,-2
  361. 269 0022 1F4F sbci r17,-1
  362. 270 0024 C801 movw r24,r16
  363. 271 0026 0E94 0000 call HttpArgParseFirst
  364. 272 002a 5C01 movw r10,r24
  365. 273 002c 892B or r24,r25
  366. 274 002e 01F4 brne .+2
  367. 275 0030 00C0 rjmp .L32
  368. 276 0032 C801 movw r24,r16
  369. 277 0034 0E94 0000 call HttpArgValue
  370. 278 0038 6C01 movw r12,r24
  371. 279 003a 0091 0000 lds r16,device_registration
  372. 280 003e 1091 0000 lds r17,device_registration+1
  373. 281 .L16:
  374. 282 0042 0115 cp r16,__zero_reg__
  375. 283 0044 1105 cpc r17,__zero_reg__
  376. 284 0046 01F4 brne .+2
  377. 285 0048 00C0 rjmp .L32
  378. 286 004a B501 movw r22,r10
  379. 287 004c F801 movw r30,r16
  380. 288 004e 8485 ldd r24,Z+12
  381. 289 0050 9585 ldd r25,Z+13
  382. 290 0052 0E94 0000 call strcmp
  383. 291 0056 892B or r24,r25
  384. 292 0058 01F4 brne .L17
  385. 293 005a D801 movw r26,r16
  386. 294 005c 1496 adiw r26,4
  387. 295 005e 0D91 ld r16,X+
  388. 296 0060 1C91 ld r17,X
  389. 297 0062 1597 sbiw r26,4+1
  390. 298 .L18:
  391. 299 0064 0115 cp r16,__zero_reg__
  392. 300 0066 1105 cpc r17,__zero_reg__
  393. 301 0068 01F4 brne .+2
  394. 302 006a 00C0 rjmp .L32
  395. 303 006c B601 movw r22,r12
  396. 304 006e F801 movw r30,r16
  397. 305 0070 8681 ldd r24,Z+6
  398. 306 0072 9781 ldd r25,Z+7
  399. 307 0074 0E94 0000 call strcmp
  400. 308 0078 892B or r24,r25
  401. 309 007a 01F0 breq .L19
  402. 310 007c D801 movw r26,r16
  403. 311 007e 0D91 ld r16,X+
  404. 312 0080 1C91 ld r17,X
  405. 313 0082 00C0 rjmp .L18
  406. 314 .L17:
  407. GAS LISTING /tmp/ccEHcQCQ.s page 8
  408. 315 0084 F801 movw r30,r16
  409. 316 0086 0081 ld r16,Z
  410. 317 0088 1181 ldd r17,Z+1
  411. 318 008a 00C0 rjmp .L16
  412. 319 .L19:
  413. 320 008c F801 movw r30,r16
  414. 321 008e C084 ldd r12,Z+8
  415. 322 0090 D184 ldd r13,Z+9
  416. 323 0092 D701 movw r26,r14
  417. 324 0094 8D91 ld r24,X+
  418. 325 0096 9C91 ld r25,X
  419. 326 0098 0E94 0000 call XmlHead
  420. 327 009c BE01 movw r22,r28
  421. 328 009e 80E0 ldi r24,lo8(.LC32)
  422. 329 00a0 90E0 ldi r25,hi8(.LC32)
  423. 330 00a2 0E94 0000 call fputs
  424. 331 00a6 CE01 movw r24,r28
  425. 332 00a8 0E94 0000 call SpecVersion
  426. 333 00ac F601 movw r30,r12
  427. 334 00ae 0681 ldd r16,Z+6
  428. 335 00b0 1781 ldd r17,Z+7
  429. 336 00b2 0115 cp r16,__zero_reg__
  430. 337 00b4 1105 cpc r17,__zero_reg__
  431. 338 00b6 01F4 brne .+2
  432. 339 00b8 00C0 rjmp .L34
  433. 340 00ba BE01 movw r22,r28
  434. 341 00bc 80E0 ldi r24,lo8(.LC12)
  435. 342 00be 90E0 ldi r25,hi8(.LC12)
  436. 343 00c0 0E94 0000 call fputs
  437. 344 .L28:
  438. 345 00c4 BE01 movw r22,r28
  439. 346 00c6 80E0 ldi r24,lo8(.LC13)
  440. 347 00c8 90E0 ldi r25,hi8(.LC13)
  441. 348 00ca 0E94 0000 call fputs
  442. 349 00ce D801 movw r26,r16
  443. 350 00d0 1296 adiw r26,2
  444. 351 00d2 4D91 ld r20,X+
  445. 352 00d4 5C91 ld r21,X
  446. 353 00d6 1397 sbiw r26,2+1
  447. 354 00d8 60E0 ldi r22,lo8(.LC14)
  448. 355 00da 70E0 ldi r23,hi8(.LC14)
  449. 356 00dc CE01 movw r24,r28
  450. 357 00de 0E94 0000 call WriteTag
  451. 358 00e2 F801 movw r30,r16
  452. 359 00e4 8481 ldd r24,Z+4
  453. 360 00e6 9581 ldd r25,Z+5
  454. 361 00e8 892B or r24,r25
  455. 362 00ea 01F4 brne .L22
  456. 363 00ec 8681 ldd r24,Z+6
  457. 364 00ee 9781 ldd r25,Z+7
  458. 365 00f0 892B or r24,r25
  459. 366 00f2 01F4 brne .+2
  460. 367 00f4 00C0 rjmp .L23
  461. 368 .L22:
  462. 369 00f6 BE01 movw r22,r28
  463. 370 00f8 80E0 ldi r24,lo8(.LC15)
  464. 371 00fa 90E0 ldi r25,hi8(.LC15)
  465. GAS LISTING /tmp/ccEHcQCQ.s page 9
  466. 372 00fc 0E94 0000 call fputs
  467. 373 0100 D801 movw r26,r16
  468. 374 0102 1496 adiw r26,4
  469. 375 0104 ED90 ld r14,X+
  470. 376 0106 FC90 ld r15,X
  471. 377 0108 1597 sbiw r26,4+1
  472. 378 .L24:
  473. 379 010a E114 cp r14,__zero_reg__
  474. 380 010c F104 cpc r15,__zero_reg__
  475. 381 010e 01F0 breq .L48
  476. 382 0110 BE01 movw r22,r28
  477. 383 0112 80E0 ldi r24,lo8(.LC16)
  478. 384 0114 90E0 ldi r25,hi8(.LC16)
  479. 385 0116 0E94 0000 call fputs
  480. 386 011a F701 movw r30,r14
  481. 387 011c 4281 ldd r20,Z+2
  482. 388 011e 5381 ldd r21,Z+3
  483. 389 0120 60E0 ldi r22,lo8(.LC14)
  484. 390 0122 70E0 ldi r23,hi8(.LC14)
  485. 391 0124 CE01 movw r24,r28
  486. 392 0126 0E94 0000 call WriteTag
  487. 393 012a D701 movw r26,r14
  488. 394 012c 1696 adiw r26,6
  489. 395 012e ED91 ld r30,X+
  490. 396 0130 FC91 ld r31,X
  491. 397 0132 1797 sbiw r26,6+1
  492. 398 0134 4281 ldd r20,Z+2
  493. 399 0136 5381 ldd r21,Z+3
  494. 400 0138 60E0 ldi r22,lo8(.LC17)
  495. 401 013a 70E0 ldi r23,hi8(.LC17)
  496. 402 013c CE01 movw r24,r28
  497. 403 013e 0E94 0000 call WriteTag
  498. 404 0142 40E0 ldi r20,lo8(.LC18)
  499. 405 0144 50E0 ldi r21,hi8(.LC18)
  500. 406 0146 60E0 ldi r22,lo8(.LC19)
  501. 407 0148 70E0 ldi r23,hi8(.LC19)
  502. 408 014a CE01 movw r24,r28
  503. 409 014c 0E94 0000 call WriteTag
  504. 410 0150 BE01 movw r22,r28
  505. 411 0152 80E0 ldi r24,lo8(.LC20)
  506. 412 0154 90E0 ldi r25,hi8(.LC20)
  507. 413 0156 0E94 0000 call fputs
  508. 414 015a F701 movw r30,r14
  509. 415 015c E080 ld r14,Z
  510. 416 015e F180 ldd r15,Z+1
  511. 417 0160 00C0 rjmp .L24
  512. 418 .L48:
  513. 419 0162 D801 movw r26,r16
  514. 420 0164 1696 adiw r26,6
  515. 421 0166 ED90 ld r14,X+
  516. 422 0168 FC90 ld r15,X
  517. 423 016a 1797 sbiw r26,6+1
  518. 424 .L26:
  519. 425 016c BE01 movw r22,r28
  520. 426 016e E114 cp r14,__zero_reg__
  521. 427 0170 F104 cpc r15,__zero_reg__
  522. 428 0172 01F0 breq .L49
  523. GAS LISTING /tmp/ccEHcQCQ.s page 10
  524. 429 0174 80E0 ldi r24,lo8(.LC16)
  525. 430 0176 90E0 ldi r25,hi8(.LC16)
  526. 431 0178 0E94 0000 call fputs
  527. 432 017c F701 movw r30,r14
  528. 433 017e 4281 ldd r20,Z+2
  529. 434 0180 5381 ldd r21,Z+3
  530. 435 0182 60E0 ldi r22,lo8(.LC14)
  531. 436 0184 70E0 ldi r23,hi8(.LC14)
  532. 437 0186 CE01 movw r24,r28
  533. 438 0188 0E94 0000 call WriteTag
  534. 439 018c D701 movw r26,r14
  535. 440 018e 1696 adiw r26,6
  536. 441 0190 ED91 ld r30,X+
  537. 442 0192 FC91 ld r31,X
  538. 443 0194 1797 sbiw r26,6+1
  539. 444 0196 4281 ldd r20,Z+2
  540. 445 0198 5381 ldd r21,Z+3
  541. 446 019a 60E0 ldi r22,lo8(.LC17)
  542. 447 019c 70E0 ldi r23,hi8(.LC17)
  543. 448 019e CE01 movw r24,r28
  544. 449 01a0 0E94 0000 call WriteTag
  545. 450 01a4 40E0 ldi r20,lo8(.LC21)
  546. 451 01a6 50E0 ldi r21,hi8(.LC21)
  547. 452 01a8 60E0 ldi r22,lo8(.LC19)
  548. 453 01aa 70E0 ldi r23,hi8(.LC19)
  549. 454 01ac CE01 movw r24,r28
  550. 455 01ae 0E94 0000 call WriteTag
  551. 456 01b2 BE01 movw r22,r28
  552. 457 01b4 80E0 ldi r24,lo8(.LC20)
  553. 458 01b6 90E0 ldi r25,hi8(.LC20)
  554. 459 01b8 0E94 0000 call fputs
  555. 460 01bc F701 movw r30,r14
  556. 461 01be E080 ld r14,Z
  557. 462 01c0 F180 ldd r15,Z+1
  558. 463 01c2 00C0 rjmp .L26
  559. 464 .L49:
  560. 465 01c4 80E0 ldi r24,lo8(.LC22)
  561. 466 01c6 90E0 ldi r25,hi8(.LC22)
  562. 467 01c8 0E94 0000 call fputs
  563. 468 .L23:
  564. 469 01cc BE01 movw r22,r28
  565. 470 01ce 80E0 ldi r24,lo8(.LC23)
  566. 471 01d0 90E0 ldi r25,hi8(.LC23)
  567. 472 01d2 0E94 0000 call fputs
  568. 473 01d6 D801 movw r26,r16
  569. 474 01d8 0D91 ld r16,X+
  570. 475 01da 1C91 ld r17,X
  571. 476 01dc 0115 cp r16,__zero_reg__
  572. 477 01de 1105 cpc r17,__zero_reg__
  573. 478 01e0 01F0 breq .+2
  574. 479 01e2 00C0 rjmp .L28
  575. 480 01e4 BE01 movw r22,r28
  576. 481 01e6 80E0 ldi r24,lo8(.LC24)
  577. 482 01e8 90E0 ldi r25,hi8(.LC24)
  578. 483 01ea 0E94 0000 call fputs
  579. 484 .L34:
  580. 485 01ee F601 movw r30,r12
  581. GAS LISTING /tmp/ccEHcQCQ.s page 11
  582. 486 01f0 0085 ldd r16,Z+8
  583. 487 01f2 1185 ldd r17,Z+9
  584. 488 01f4 0115 cp r16,__zero_reg__
  585. 489 01f6 1105 cpc r17,__zero_reg__
  586. 490 01f8 01F4 brne .+2
  587. 491 01fa 00C0 rjmp .L29
  588. 492 01fc BE01 movw r22,r28
  589. 493 01fe 80E0 ldi r24,lo8(.LC25)
  590. 494 0200 90E0 ldi r25,hi8(.LC25)
  591. 495 0202 0E94 0000 call fputs
  592. 496 0206 80E0 ldi r24,lo8(.LC26)
  593. 497 0208 E82E mov r14,r24
  594. 498 020a 80E0 ldi r24,hi8(.LC26)
  595. 499 020c F82E mov r15,r24
  596. 500 .L31:
  597. 501 020e D801 movw r26,r16
  598. 502 0210 1496 adiw r26,4
  599. 503 0212 8D91 ld r24,X+
  600. 504 0214 9C91 ld r25,X
  601. 505 0216 1597 sbiw r26,4+1
  602. 506 0218 892B or r24,r25
  603. 507 021a 01F4 brne .L35
  604. 508 021c 80E0 ldi r24,lo8(.LC11)
  605. 509 021e 90E0 ldi r25,hi8(.LC11)
  606. 510 0220 00C0 rjmp .L30
  607. 511 .L35:
  608. 512 0222 80E0 ldi r24,lo8(.LC10)
  609. 513 0224 90E0 ldi r25,hi8(.LC10)
  610. 514 .L30:
  611. 515 0226 9F93 push r25
  612. 516 0228 8F93 push r24
  613. 517 022a FF92 push r15
  614. 518 022c EF92 push r14
  615. 519 022e DF93 push r29
  616. 520 0230 CF93 push r28
  617. 521 0232 0E94 0000 call fprintf
  618. 522 0236 F801 movw r30,r16
  619. 523 0238 4281 ldd r20,Z+2
  620. 524 023a 5381 ldd r21,Z+3
  621. 525 023c 60E0 ldi r22,lo8(.LC14)
  622. 526 023e 70E0 ldi r23,hi8(.LC14)
  623. 527 0240 CE01 movw r24,r28
  624. 528 0242 0E94 0000 call WriteTag
  625. 529 0246 D801 movw r26,r16
  626. 530 0248 8D91 ld r24,X+
  627. 531 024a 9C91 ld r25,X
  628. 532 024c 0E94 0000 call UpnpVarTypeString
  629. 533 0250 AC01 movw r20,r24
  630. 534 0252 60E0 ldi r22,lo8(.LC27)
  631. 535 0254 70E0 ldi r23,hi8(.LC27)
  632. 536 0256 CE01 movw r24,r28
  633. 537 0258 0E94 0000 call WriteTag
  634. 538 025c F801 movw r30,r16
  635. 539 025e 4681 ldd r20,Z+6
  636. 540 0260 5781 ldd r21,Z+7
  637. 541 0262 60E0 ldi r22,lo8(.LC28)
  638. 542 0264 70E0 ldi r23,hi8(.LC28)
  639. GAS LISTING /tmp/ccEHcQCQ.s page 12
  640. 543 0266 CE01 movw r24,r28
  641. 544 0268 0E94 0000 call WriteTag
  642. 545 026c BE01 movw r22,r28
  643. 546 026e 80E0 ldi r24,lo8(.LC29)
  644. 547 0270 90E0 ldi r25,hi8(.LC29)
  645. 548 0272 0E94 0000 call fputs
  646. 549 0276 D801 movw r26,r16
  647. 550 0278 1896 adiw r26,8
  648. 551 027a 0D91 ld r16,X+
  649. 552 027c 1C91 ld r17,X
  650. 553 027e 1997 sbiw r26,8+1
  651. 554 0280 0F90 pop __tmp_reg__
  652. 555 0282 0F90 pop __tmp_reg__
  653. 556 0284 0F90 pop __tmp_reg__
  654. 557 0286 0F90 pop __tmp_reg__
  655. 558 0288 0F90 pop __tmp_reg__
  656. 559 028a 0F90 pop __tmp_reg__
  657. 560 028c 0115 cp r16,__zero_reg__
  658. 561 028e 1105 cpc r17,__zero_reg__
  659. 562 0290 01F0 breq .+2
  660. 563 0292 00C0 rjmp .L31
  661. 564 0294 BE01 movw r22,r28
  662. 565 0296 80E0 ldi r24,lo8(.LC30)
  663. 566 0298 90E0 ldi r25,hi8(.LC30)
  664. 567 029a 0E94 0000 call fputs
  665. 568 .L29:
  666. 569 029e BE01 movw r22,r28
  667. 570 02a0 80E0 ldi r24,lo8(.LC31)
  668. 571 02a2 90E0 ldi r25,hi8(.LC31)
  669. 572 02a4 0E94 0000 call fputs
  670. 573 .L32:
  671. 574 02a8 CE01 movw r24,r28
  672. 575 02aa 0E94 0000 call fflush
  673. 576 02ae 80E0 ldi r24,0
  674. 577 02b0 90E0 ldi r25,0
  675. 578 /* epilogue start */
  676. 579 02b2 DF91 pop r29
  677. 580 02b4 CF91 pop r28
  678. 581 02b6 1F91 pop r17
  679. 582 02b8 0F91 pop r16
  680. 583 02ba FF90 pop r15
  681. 584 02bc EF90 pop r14
  682. 585 02be DF90 pop r13
  683. 586 02c0 CF90 pop r12
  684. 587 02c2 BF90 pop r11
  685. 588 02c4 AF90 pop r10
  686. 589 02c6 0895 ret
  687. 590 .size UpnpCgiServiceDescription, .-UpnpCgiServiceDescription
  688. 591 .section .rodata.str1.1
  689. 592 .LC33:
  690. 593 01fb 3C73 6572 .string "<serviceList>\r\n"
  691. 593 7669 6365
  692. 593 4C69 7374
  693. 593 3E0D 0A00
  694. 594 .LC34:
  695. 595 020b 3C73 6572 .string "<service>\r\n"
  696. 595 7669 6365
  697. GAS LISTING /tmp/ccEHcQCQ.s page 13
  698. 595 3E0D 0A00
  699. 596 .LC35:
  700. 597 0217 3C73 6572 .string "<serviceType>urn:schemas-upnp-org:service:%s:1</serviceType>\r\n"
  701. 597 7669 6365
  702. 597 5479 7065
  703. 597 3E75 726E
  704. 597 3A73 6368
  705. 598 .LC36:
  706. 599 0256 3C73 6572 .string "<serviceId>urn:upnp-org:serviceId:%s:1</serviceId>\r\n"
  707. 599 7669 6365
  708. 599 4964 3E75
  709. 599 726E 3A75
  710. 599 706E 702D
  711. 600 .LC37:
  712. 601 028b 3C53 4350 .string "<SCPDURL>%s?%s=%s</SCPDURL>"
  713. 601 4455 524C
  714. 601 3E25 733F
  715. 601 2573 3D25
  716. 601 733C 2F53
  717. 602 .LC38:
  718. 603 02a7 3C63 6F6E .string "<controlURL>%s?%s=%s</controlURL>"
  719. 603 7472 6F6C
  720. 603 5552 4C3E
  721. 603 2573 3F25
  722. 603 733D 2573
  723. 604 .LC39:
  724. 605 02c9 3C65 7665 .string "<eventSubURL>%s?%s=%s</eventSubURL>"
  725. 605 6E74 5375
  726. 605 6255 524C
  727. 605 3E25 733F
  728. 605 2573 3D25
  729. 606 .LC40:
  730. 607 02ed 3C2F 7365 .string "</service>\r\n"
  731. 607 7276 6963
  732. 607 653E 0D0A
  733. 607 00
  734. 608 .LC41:
  735. 609 02fa 3C2F 7365 .string "</serviceList>\r\n"
  736. 609 7276 6963
  737. 609 654C 6973
  738. 609 743E 0D0A
  739. 609 00
  740. 610 .LC42:
  741. 611 030b 7072 6573 .string "presentationURL"
  742. 611 656E 7461
  743. 611 7469 6F6E
  744. 611 5552 4C00
  745. 612 .LC43:
  746. 613 031b 3C2F 6465 .string "</device>\r\n"
  747. 613 7669 6365
  748. 613 3E0D 0A00
  749. 614 .LC44:
  750. 615 0327 3C2F 726F .string "</root>\r\n"
  751. 615 6F74 3E0D
  752. 615 0A00
  753. 616 .LC45:
  754. 617 0331 3C72 6F6F .string "<root xmlns=\"urn:schemas-upnp-org:device-1-0\">\r\n"
  755. GAS LISTING /tmp/ccEHcQCQ.s page 14
  756. 617 7420 786D
  757. 617 6C6E 733D
  758. 617 2275 726E
  759. 617 3A73 6368
  760. 618 .LC46:
  761. 619 0362 3C64 6576 .string "<device>\r\n"
  762. 619 6963 653E
  763. 619 0D0A 00
  764. 620 .LC47:
  765. 621 036d 3C64 6576 .string "<deviceType>urn:%s:device:%s:1</deviceType>\r\n"
  766. 621 6963 6554
  767. 621 7970 653E
  768. 621 7572 6E3A
  769. 621 2573 3A64
  770. 622 .LC48:
  771. 623 039b 6672 6965 .string "friendlyName"
  772. 623 6E64 6C79
  773. 623 4E61 6D65
  774. 623 00
  775. 624 .LC49:
  776. 625 03a8 6D61 6E75 .string "manufacturer"
  777. 625 6661 6374
  778. 625 7572 6572
  779. 625 00
  780. 626 .LC50:
  781. 627 03b5 6874 7470 .string "http://"
  782. 627 3A2F 2F00
  783. 628 .LC51:
  784. 629 03bd 6D61 6E75 .string "manufacturerURL"
  785. 629 6661 6374
  786. 629 7572 6572
  787. 629 5552 4C00
  788. 630 .LC52:
  789. 631 03cd 6D6F 6465 .string "modelDescription"
  790. 631 6C44 6573
  791. 631 6372 6970
  792. 631 7469 6F6E
  793. 631 00
  794. 632 .LC53:
  795. 633 03de 6D6F 6465 .string "modelName"
  796. 633 6C4E 616D
  797. 633 6500
  798. 634 .LC54:
  799. 635 03e8 6D6F 6465 .string "modelNumber"
  800. 635 6C4E 756D
  801. 635 6265 7200
  802. 636 .LC55:
  803. 637 03f4 6D6F 6465 .string "modelURL"
  804. 637 6C55 524C
  805. 637 00
  806. 638 .LC56:
  807. 639 03fd 5544 4E00 .string "UDN"
  808. 640 .section .text.UpnpCgiDeviceDescription,"ax",@progbits
  809. 641 .type UpnpCgiDeviceDescription, @function
  810. 642 UpnpCgiDeviceDescription:
  811. 643 0000 2F92 push r2
  812. 644 0002 3F92 push r3
  813. GAS LISTING /tmp/ccEHcQCQ.s page 15
  814. 645 0004 4F92 push r4
  815. 646 0006 5F92 push r5
  816. 647 0008 6F92 push r6
  817. 648 000a 7F92 push r7
  818. 649 000c 8F92 push r8
  819. 650 000e 9F92 push r9
  820. 651 0010 AF92 push r10
  821. 652 0012 BF92 push r11
  822. 653 0014 CF92 push r12
  823. 654 0016 DF92 push r13
  824. 655 0018 EF92 push r14
  825. 656 001a FF92 push r15
  826. 657 001c 0F93 push r16
  827. 658 001e 1F93 push r17
  828. 659 0020 CF93 push r28
  829. 660 0022 DF93 push r29
  830. 661 /* prologue: function */
  831. 662 /* frame size = 0 */
  832. 663 /* stack size = 18 */
  833. 664 .L__stack_usage = 18
  834. 665 0024 8C01 movw r16,r24
  835. 666 0026 DC01 movw r26,r24
  836. 667 0028 3C90 ld r3,X
  837. 668 002a 1196 adiw r26,1
  838. 669 002c 2C90 ld r2,X
  839. 670 002e 0296 adiw r24,2
  840. 671 0030 0E94 0000 call HttpArgParseFirst
  841. 672 0034 7C01 movw r14,r24
  842. 673 0036 892B or r24,r25
  843. 674 0038 01F4 brne .+2
  844. 675 003a 00C0 rjmp .L51
  845. 676 003c C091 0000 lds r28,device_registration
  846. 677 0040 D091 0000 lds r29,device_registration+1
  847. 678 .L52:
  848. 679 0044 2097 sbiw r28,0
  849. 680 0046 01F4 brne .+2
  850. 681 0048 00C0 rjmp .L51
  851. 682 004a B701 movw r22,r14
  852. 683 004c 8C85 ldd r24,Y+12
  853. 684 004e 9D85 ldd r25,Y+13
  854. 685 0050 0E94 0000 call strcmp
  855. 686 0054 892B or r24,r25
  856. 687 0056 01F0 breq .L53
  857. 688 0058 0990 ld __tmp_reg__,Y+
  858. 689 005a D881 ld r29,Y
  859. 690 005c C02D mov r28,__tmp_reg__
  860. 691 005e 00C0 rjmp .L52
  861. 692 .L53:
  862. 693 0060 E888 ldd r14,Y+16
  863. 694 0062 F988 ldd r15,Y+17
  864. 695 0064 F801 movw r30,r16
  865. 696 0066 8081 ld r24,Z
  866. 697 0068 9181 ldd r25,Z+1
  867. 698 006a 0E94 0000 call XmlHead
  868. 699 006e D801 movw r26,r16
  869. 700 0070 6D91 ld r22,X+
  870. 701 0072 7C91 ld r23,X
  871. GAS LISTING /tmp/ccEHcQCQ.s page 16
  872. 702 0074 80E0 ldi r24,lo8(.LC45)
  873. 703 0076 90E0 ldi r25,hi8(.LC45)
  874. 704 0078 0E94 0000 call fputs
  875. 705 007c 832D mov r24,r3
  876. 706 007e 922D mov r25,r2
  877. 707 0080 0E94 0000 call SpecVersion
  878. 708 0084 632D mov r22,r3
  879. 709 0086 722D mov r23,r2
  880. 710 0088 80E0 ldi r24,lo8(.LC46)
  881. 711 008a 90E0 ldi r25,hi8(.LC46)
  882. 712 008c 0E94 0000 call fputs
  883. 713 0090 8D85 ldd r24,Y+13
  884. 714 0092 8F93 push r24
  885. 715 0094 8C85 ldd r24,Y+12
  886. 716 0096 8F93 push r24
  887. 717 0098 8B85 ldd r24,Y+11
  888. 718 009a 8F93 push r24
  889. 719 009c 8A85 ldd r24,Y+10
  890. 720 009e 8F93 push r24
  891. 721 00a0 80E0 ldi r24,lo8(.LC47)
  892. 722 00a2 90E0 ldi r25,hi8(.LC47)
  893. 723 00a4 9F93 push r25
  894. 724 00a6 8F93 push r24
  895. 725 00a8 2F92 push r2
  896. 726 00aa 3F92 push r3
  897. 727 00ac 0E94 0000 call fprintf
  898. 728 00b0 F701 movw r30,r14
  899. 729 00b2 4081 ld r20,Z
  900. 730 00b4 5181 ldd r21,Z+1
  901. 731 00b6 60E0 ldi r22,lo8(.LC48)
  902. 732 00b8 70E0 ldi r23,hi8(.LC48)
  903. 733 00ba 832D mov r24,r3
  904. 734 00bc 922D mov r25,r2
  905. 735 00be 0E94 0000 call WriteTag
  906. 736 00c2 D701 movw r26,r14
  907. 737 00c4 1696 adiw r26,6
  908. 738 00c6 ED91 ld r30,X+
  909. 739 00c8 FC91 ld r31,X
  910. 740 00ca 1797 sbiw r26,6+1
  911. 741 00cc 4081 ld r20,Z
  912. 742 00ce 5181 ldd r21,Z+1
  913. 743 00d0 60E0 ldi r22,lo8(.LC49)
  914. 744 00d2 70E0 ldi r23,hi8(.LC49)
  915. 745 00d4 832D mov r24,r3
  916. 746 00d6 922D mov r25,r2
  917. 747 00d8 0E94 0000 call WriteTag
  918. 748 00dc D701 movw r26,r14
  919. 749 00de 1696 adiw r26,6
  920. 750 00e0 ED91 ld r30,X+
  921. 751 00e2 FC91 ld r31,X
  922. 752 00e4 1797 sbiw r26,6+1
  923. 753 00e6 4281 ldd r20,Z+2
  924. 754 00e8 5381 ldd r21,Z+3
  925. 755 00ea 20E0 ldi r18,lo8(.LC50)
  926. 756 00ec 30E0 ldi r19,hi8(.LC50)
  927. 757 00ee 60E0 ldi r22,lo8(.LC51)
  928. 758 00f0 70E0 ldi r23,hi8(.LC51)
  929. GAS LISTING /tmp/ccEHcQCQ.s page 17
  930. 759 00f2 832D mov r24,r3
  931. 760 00f4 922D mov r25,r2
  932. 761 00f6 0E94 0000 call WritePrepTag
  933. 762 00fa D701 movw r26,r14
  934. 763 00fc 1496 adiw r26,4
  935. 764 00fe ED91 ld r30,X+
  936. 765 0100 FC91 ld r31,X
  937. 766 0102 1597 sbiw r26,4+1
  938. 767 0104 4481 ldd r20,Z+4
  939. 768 0106 5581 ldd r21,Z+5
  940. 769 0108 60E0 ldi r22,lo8(.LC52)
  941. 770 010a 70E0 ldi r23,hi8(.LC52)
  942. 771 010c 832D mov r24,r3
  943. 772 010e 922D mov r25,r2
  944. 773 0110 0E94 0000 call WriteTag
  945. 774 0114 D701 movw r26,r14
  946. 775 0116 1496 adiw r26,4
  947. 776 0118 ED91 ld r30,X+
  948. 777 011a FC91 ld r31,X
  949. 778 011c 1597 sbiw r26,4+1
  950. 779 011e 4081 ld r20,Z
  951. 780 0120 5181 ldd r21,Z+1
  952. 781 0122 60E0 ldi r22,lo8(.LC53)
  953. 782 0124 70E0 ldi r23,hi8(.LC53)
  954. 783 0126 832D mov r24,r3
  955. 784 0128 922D mov r25,r2
  956. 785 012a 0E94 0000 call WriteTag
  957. 786 012e D701 movw r26,r14
  958. 787 0130 1496 adiw r26,4
  959. 788 0132 ED91 ld r30,X+
  960. 789 0134 FC91 ld r31,X
  961. 790 0136 1597 sbiw r26,4+1
  962. 791 0138 4281 ldd r20,Z+2
  963. 792 013a 5381 ldd r21,Z+3
  964. 793 013c 60E0 ldi r22,lo8(.LC54)
  965. 794 013e 70E0 ldi r23,hi8(.LC54)
  966. 795 0140 832D mov r24,r3
  967. 796 0142 922D mov r25,r2
  968. 797 0144 0E94 0000 call WriteTag
  969. 798 0148 D701 movw r26,r14
  970. 799 014a 1496 adiw r26,4
  971. 800 014c ED91 ld r30,X+
  972. 801 014e FC91 ld r31,X
  973. 802 0150 1597 sbiw r26,4+1
  974. 803 0152 4681 ldd r20,Z+6
  975. 804 0154 5781 ldd r21,Z+7
  976. 805 0156 20E0 ldi r18,lo8(.LC50)
  977. 806 0158 30E0 ldi r19,hi8(.LC50)
  978. 807 015a 60E0 ldi r22,lo8(.LC55)
  979. 808 015c 70E0 ldi r23,hi8(.LC55)
  980. 809 015e 832D mov r24,r3
  981. 810 0160 922D mov r25,r2
  982. 811 0162 0E94 0000 call WritePrepTag
  983. 812 0166 4E81 ldd r20,Y+6
  984. 813 0168 5F81 ldd r21,Y+7
  985. 814 016a 60E0 ldi r22,lo8(.LC56)
  986. 815 016c 70E0 ldi r23,hi8(.LC56)
  987. GAS LISTING /tmp/ccEHcQCQ.s page 18
  988. 816 016e 832D mov r24,r3
  989. 817 0170 922D mov r25,r2
  990. 818 0172 0E94 0000 call WriteTag
  991. 819 0176 EDB7 in r30,__SP_L__
  992. 820 0178 FEB7 in r31,__SP_H__
  993. 821 017a 3896 adiw r30,8
  994. 822 017c 0FB6 in __tmp_reg__,__SREG__
  995. 823 017e F894 cli
  996. 824 0180 FEBF out __SP_H__,r31
  997. 825 0182 0FBE out __SREG__,__tmp_reg__
  998. 826 0184 EDBF out __SP_L__,r30
  999. 827 0186 8C81 ldd r24,Y+4
  1000. 828 0188 9D81 ldd r25,Y+5
  1001. 829 018a 892B or r24,r25
  1002. 830 018c 01F4 brne .+2
  1003. 831 018e 00C0 rjmp .L58
  1004. 832 0190 632D mov r22,r3
  1005. 833 0192 722D mov r23,r2
  1006. 834 0194 80E0 ldi r24,lo8(.LC33)
  1007. 835 0196 90E0 ldi r25,hi8(.LC33)
  1008. 836 0198 0E94 0000 call fputs
  1009. 837 019c 0C81 ldd r16,Y+4
  1010. 838 019e 1D81 ldd r17,Y+5
  1011. 839 01a0 80E0 ldi r24,lo8(.LC36)
  1012. 840 01a2 482E mov r4,r24
  1013. 841 01a4 80E0 ldi r24,hi8(.LC36)
  1014. 842 01a6 582E mov r5,r24
  1015. 843 01a8 90E0 ldi r25,lo8(.LC37)
  1016. 844 01aa 692E mov r6,r25
  1017. 845 01ac 90E0 ldi r25,hi8(.LC37)
  1018. 846 01ae 792E mov r7,r25
  1019. 847 01b0 20E0 ldi r18,lo8(.LC38)
  1020. 848 01b2 A22E mov r10,r18
  1021. 849 01b4 20E0 ldi r18,hi8(.LC38)
  1022. 850 01b6 B22E mov r11,r18
  1023. 851 01b8 30E0 ldi r19,lo8(.LC39)
  1024. 852 01ba 832E mov r8,r19
  1025. 853 01bc 30E0 ldi r19,hi8(.LC39)
  1026. 854 01be 932E mov r9,r19
  1027. 855 .L55:
  1028. 856 01c0 0115 cp r16,__zero_reg__
  1029. 857 01c2 1105 cpc r17,__zero_reg__
  1030. 858 01c4 01F4 brne .+2
  1031. 859 01c6 00C0 rjmp .L63
  1032. 860 01c8 EC81 ldd r30,Y+4
  1033. 861 01ca FD81 ldd r31,Y+5
  1034. 862 01cc C084 ldd r12,Z+8
  1035. 863 01ce D184 ldd r13,Z+9
  1036. 864 01d0 632D mov r22,r3
  1037. 865 01d2 722D mov r23,r2
  1038. 866 01d4 80E0 ldi r24,lo8(.LC34)
  1039. 867 01d6 90E0 ldi r25,hi8(.LC34)
  1040. 868 01d8 0E94 0000 call fputs
  1041. 869 01dc EC81 ldd r30,Y+4
  1042. 870 01de FD81 ldd r31,Y+5
  1043. 871 01e0 8781 ldd r24,Z+7
  1044. 872 01e2 8F93 push r24
  1045. GAS LISTING /tmp/ccEHcQCQ.s page 19
  1046. 873 01e4 8681 ldd r24,Z+6
  1047. 874 01e6 8F93 push r24
  1048. 875 01e8 A0E0 ldi r26,lo8(.LC35)
  1049. 876 01ea B0E0 ldi r27,hi8(.LC35)
  1050. 877 01ec BF93 push r27
  1051. 878 01ee AF93 push r26
  1052. 879 01f0 2F92 push r2
  1053. 880 01f2 3F92 push r3
  1054. 881 01f4 0E94 0000 call fprintf
  1055. 882 01f8 EC81 ldd r30,Y+4
  1056. 883 01fa FD81 ldd r31,Y+5
  1057. 884 01fc 8781 ldd r24,Z+7
  1058. 885 01fe 8F93 push r24
  1059. 886 0200 8681 ldd r24,Z+6
  1060. 887 0202 8F93 push r24
  1061. 888 0204 5F92 push r5
  1062. 889 0206 4F92 push r4
  1063. 890 0208 2F92 push r2
  1064. 891 020a 3F92 push r3
  1065. 892 020c 0E94 0000 call fprintf
  1066. 893 0210 D801 movw r26,r16
  1067. 894 0212 1796 adiw r26,7
  1068. 895 0214 8C91 ld r24,X
  1069. 896 0216 1797 sbiw r26,7
  1070. 897 0218 8F93 push r24
  1071. 898 021a 1696 adiw r26,6
  1072. 899 021c 8C91 ld r24,X
  1073. 900 021e 8F93 push r24
  1074. 901 0220 8D85 ldd r24,Y+13
  1075. 902 0222 8F93 push r24
  1076. 903 0224 8C85 ldd r24,Y+12
  1077. 904 0226 8F93 push r24
  1078. 905 0228 F601 movw r30,r12
  1079. 906 022a 8181 ldd r24,Z+1
  1080. 907 022c 8F93 push r24
  1081. 908 022e 8081 ld r24,Z
  1082. 909 0230 8F93 push r24
  1083. 910 0232 7F92 push r7
  1084. 911 0234 6F92 push r6
  1085. 912 0236 2F92 push r2
  1086. 913 0238 3F92 push r3
  1087. 914 023a 0E94 0000 call fprintf
  1088. 915 023e D801 movw r26,r16
  1089. 916 0240 1796 adiw r26,7
  1090. 917 0242 8C91 ld r24,X
  1091. 918 0244 1797 sbiw r26,7
  1092. 919 0246 8F93 push r24
  1093. 920 0248 1696 adiw r26,6
  1094. 921 024a 8C91 ld r24,X
  1095. 922 024c 8F93 push r24
  1096. 923 024e 8D85 ldd r24,Y+13
  1097. 924 0250 8F93 push r24
  1098. 925 0252 8C85 ldd r24,Y+12
  1099. 926 0254 8F93 push r24
  1100. 927 0256 F601 movw r30,r12
  1101. 928 0258 8381 ldd r24,Z+3
  1102. 929 025a 8F93 push r24
  1103. GAS LISTING /tmp/ccEHcQCQ.s page 20
  1104. 930 025c 8281 ldd r24,Z+2
  1105. 931 025e 8F93 push r24
  1106. 932 0260 BF92 push r11
  1107. 933 0262 AF92 push r10
  1108. 934 0264 2F92 push r2
  1109. 935 0266 3F92 push r3
  1110. 936 0268 0E94 0000 call fprintf
  1111. 937 026c 8DB7 in r24,__SP_L__
  1112. 938 026e 9EB7 in r25,__SP_H__
  1113. 939 0270 8096 adiw r24,32
  1114. 940 0272 0FB6 in __tmp_reg__,__SREG__
  1115. 941 0274 F894 cli
  1116. 942 0276 9EBF out __SP_H__,r25
  1117. 943 0278 0FBE out __SREG__,__tmp_reg__
  1118. 944 027a 8DBF out __SP_L__,r24
  1119. 945 027c D801 movw r26,r16
  1120. 946 027e 1796 adiw r26,7
  1121. 947 0280 8C91 ld r24,X
  1122. 948 0282 1797 sbiw r26,7
  1123. 949 0284 8F93 push r24
  1124. 950 0286 1696 adiw r26,6
  1125. 951 0288 8C91 ld r24,X
  1126. 952 028a 8F93 push r24
  1127. 953 028c 8D85 ldd r24,Y+13
  1128. 954 028e 8F93 push r24
  1129. 955 0290 8C85 ldd r24,Y+12
  1130. 956 0292 8F93 push r24
  1131. 957 0294 F601 movw r30,r12
  1132. 958 0296 8581 ldd r24,Z+5
  1133. 959 0298 8F93 push r24
  1134. 960 029a 8481 ldd r24,Z+4
  1135. 961 029c 8F93 push r24
  1136. 962 029e 9F92 push r9
  1137. 963 02a0 8F92 push r8
  1138. 964 02a2 2F92 push r2
  1139. 965 02a4 3F92 push r3
  1140. 966 02a6 0E94 0000 call fprintf
  1141. 967 02aa 632D mov r22,r3
  1142. 968 02ac 722D mov r23,r2
  1143. 969 02ae 80E0 ldi r24,lo8(.LC40)
  1144. 970 02b0 90E0 ldi r25,hi8(.LC40)
  1145. 971 02b2 0E94 0000 call fputs
  1146. 972 02b6 D801 movw r26,r16
  1147. 973 02b8 0D91 ld r16,X+
  1148. 974 02ba 1C91 ld r17,X
  1149. 975 02bc EDB7 in r30,__SP_L__
  1150. 976 02be FEB7 in r31,__SP_H__
  1151. 977 02c0 3A96 adiw r30,10
  1152. 978 02c2 0FB6 in __tmp_reg__,__SREG__
  1153. 979 02c4 F894 cli
  1154. 980 02c6 FEBF out __SP_H__,r31
  1155. 981 02c8 0FBE out __SREG__,__tmp_reg__
  1156. 982 02ca EDBF out __SP_L__,r30
  1157. 983 02cc 00C0 rjmp .L55
  1158. 984 .L63:
  1159. 985 02ce 632D mov r22,r3
  1160. 986 02d0 722D mov r23,r2
  1161. GAS LISTING /tmp/ccEHcQCQ.s page 21
  1162. 987 02d2 80E0 ldi r24,lo8(.LC41)
  1163. 988 02d4 90E0 ldi r25,hi8(.LC41)
  1164. 989 02d6 0E94 0000 call fputs
  1165. 990 .L58:
  1166. 991 02da D701 movw r26,r14
  1167. 992 02dc 1296 adiw r26,2
  1168. 993 02de 4D91 ld r20,X+
  1169. 994 02e0 5C91 ld r21,X
  1170. 995 02e2 1397 sbiw r26,2+1
  1171. 996 02e4 60E0 ldi r22,lo8(.LC42)
  1172. 997 02e6 70E0 ldi r23,hi8(.LC42)
  1173. 998 02e8 832D mov r24,r3
  1174. 999 02ea 922D mov r25,r2
  1175. 1000 02ec 0E94 0000 call WriteTag
  1176. 1001 02f0 632D mov r22,r3
  1177. 1002 02f2 722D mov r23,r2
  1178. 1003 02f4 80E0 ldi r24,lo8(.LC43)
  1179. 1004 02f6 90E0 ldi r25,hi8(.LC43)
  1180. 1005 02f8 0E94 0000 call fputs
  1181. 1006 02fc 632D mov r22,r3
  1182. 1007 02fe 722D mov r23,r2
  1183. 1008 0300 80E0 ldi r24,lo8(.LC44)
  1184. 1009 0302 90E0 ldi r25,hi8(.LC44)
  1185. 1010 0304 0E94 0000 call fputs
  1186. 1011 .L51:
  1187. 1012 0308 832D mov r24,r3
  1188. 1013 030a 922D mov r25,r2
  1189. 1014 030c 0E94 0000 call fflush
  1190. 1015 0310 80E0 ldi r24,0
  1191. 1016 0312 90E0 ldi r25,0
  1192. 1017 /* epilogue start */
  1193. 1018 0314 DF91 pop r29
  1194. 1019 0316 CF91 pop r28
  1195. 1020 0318 1F91 pop r17
  1196. 1021 031a 0F91 pop r16
  1197. 1022 031c FF90 pop r15
  1198. 1023 031e EF90 pop r14
  1199. 1024 0320 DF90 pop r13
  1200. 1025 0322 CF90 pop r12
  1201. 1026 0324 BF90 pop r11
  1202. 1027 0326 AF90 pop r10
  1203. 1028 0328 9F90 pop r9
  1204. 1029 032a 8F90 pop r8
  1205. 1030 032c 7F90 pop r7
  1206. 1031 032e 6F90 pop r6
  1207. 1032 0330 5F90 pop r5
  1208. 1033 0332 4F90 pop r4
  1209. 1034 0334 3F90 pop r3
  1210. 1035 0336 2F90 pop r2
  1211. 1036 0338 0895 ret
  1212. 1037 .size UpnpCgiDeviceDescription, .-UpnpCgiDeviceDescription
  1213. 1038 .section .text.UpnpRegisterDeviceTree,"ax",@progbits
  1214. 1039 .global UpnpRegisterDeviceTree
  1215. 1040 .type UpnpRegisterDeviceTree, @function
  1216. 1041 UpnpRegisterDeviceTree:
  1217. 1042 0000 CF93 push r28
  1218. 1043 0002 DF93 push r29
  1219. GAS LISTING /tmp/ccEHcQCQ.s page 22
  1220. 1044 /* prologue: function */
  1221. 1045 /* frame size = 0 */
  1222. 1046 /* stack size = 2 */
  1223. 1047 .L__stack_usage = 2
  1224. 1048 0004 EB01 movw r28,r22
  1225. 1049 0006 0097 sbiw r24,0
  1226. 1050 0008 01F4 brne .L68
  1227. 1051 000a 8091 0000 lds r24,device_registration
  1228. 1052 000e 9091 0000 lds r25,device_registration+1
  1229. 1053 0012 9983 std Y+1,r25
  1230. 1054 0014 8883 st Y,r24
  1231. 1055 0016 7093 0000 sts device_registration+1,r23
  1232. 1056 001a 6093 0000 sts device_registration,r22
  1233. 1057 001e 60E0 ldi r22,lo8(gs(UpnpCgiDeviceDescription))
  1234. 1058 0020 70E0 ldi r23,hi8(gs(UpnpCgiDeviceDescription))
  1235. 1059 0022 8885 ldd r24,Y+8
  1236. 1060 0024 9985 ldd r25,Y+9
  1237. 1061 0026 0E94 0000 call HttpRegisterCgiFunction
  1238. 1062 002a EC81 ldd r30,Y+4
  1239. 1063 002c FD81 ldd r31,Y+5
  1240. 1064 002e 0084 ldd __tmp_reg__,Z+8
  1241. 1065 0030 F185 ldd r31,Z+9
  1242. 1066 0032 E02D mov r30,__tmp_reg__
  1243. 1067 0034 60E0 ldi r22,lo8(gs(UpnpCgiServiceDescription))
  1244. 1068 0036 70E0 ldi r23,hi8(gs(UpnpCgiServiceDescription))
  1245. 1069 0038 8081 ld r24,Z
  1246. 1070 003a 9181 ldd r25,Z+1
  1247. 1071 003c 0E94 0000 call HttpRegisterCgiFunction
  1248. 1072 0040 8091 0000 lds r24,device_registration
  1249. 1073 0044 9091 0000 lds r25,device_registration+1
  1250. 1074 /* epilogue start */
  1251. 1075 0048 DF91 pop r29
  1252. 1076 004a CF91 pop r28
  1253. 1077 004c 0C94 0000 jmp SsdpRegisterDeviceTree
  1254. 1078 .L68:
  1255. 1079 0050 FC01 movw r30,r24
  1256. 1080 0052 7183 std Z+1,r23
  1257. 1081 0054 6083 st Z,r22
  1258. 1082 0056 80E0 ldi r24,0
  1259. 1083 0058 90E0 ldi r25,0
  1260. 1084 /* epilogue start */
  1261. 1085 005a DF91 pop r29
  1262. 1086 005c CF91 pop r28
  1263. 1087 005e 0895 ret
  1264. 1088 .size UpnpRegisterDeviceTree, .-UpnpRegisterDeviceTree
  1265. 1089 .local device_registration
  1266. 1090 .comm device_registration,2,1
  1267. 1091 .ident "GCC: (GNU) 5.3.0"
  1268. 1092 .global __do_copy_data
  1269. 1093 .global __do_clear_bss
  1270. GAS LISTING /tmp/ccEHcQCQ.s page 23
  1271. DEFINED SYMBOLS
  1272. *ABS*:0000000000000000 upnp_dev.c
  1273. /tmp/ccEHcQCQ.s:2 *ABS*:000000000000003e __SP_H__
  1274. /tmp/ccEHcQCQ.s:3 *ABS*:000000000000003d __SP_L__
  1275. /tmp/ccEHcQCQ.s:4 *ABS*:000000000000003f __SREG__
  1276. /tmp/ccEHcQCQ.s:5 *ABS*:000000000000003b __RAMPZ__
  1277. /tmp/ccEHcQCQ.s:6 *ABS*:0000000000000000 __tmp_reg__
  1278. /tmp/ccEHcQCQ.s:7 *ABS*:0000000000000001 __zero_reg__
  1279. /tmp/ccEHcQCQ.s:19 .text.SpecVersion:0000000000000000 SpecVersion
  1280. /tmp/ccEHcQCQ.s:54 .text.WritePrepTag:0000000000000000 WritePrepTag
  1281. /tmp/ccEHcQCQ.s:135 .text.WriteTag:0000000000000000 WriteTag
  1282. /tmp/ccEHcQCQ.s:155 .text.XmlHead:0000000000000000 XmlHead
  1283. /tmp/ccEHcQCQ.s:247 .text.UpnpCgiServiceDescription:0000000000000000 UpnpCgiServiceDescription
  1284. .bss:0000000000000000 device_registration
  1285. /tmp/ccEHcQCQ.s:642 .text.UpnpCgiDeviceDescription:0000000000000000 UpnpCgiDeviceDescription
  1286. /tmp/ccEHcQCQ.s:1041 .text.UpnpRegisterDeviceTree:0000000000000000 UpnpRegisterDeviceTree
  1287. UNDEFINED SYMBOLS
  1288. fputs
  1289. fprintf
  1290. HttpSendStreamHeaderTop
  1291. HttpSendStreamHeaderBottom
  1292. HttpArgParseFirst
  1293. HttpArgValue
  1294. strcmp
  1295. UpnpVarTypeString
  1296. fflush
  1297. HttpRegisterCgiFunction
  1298. SsdpRegisterDeviceTree
  1299. __do_copy_data
  1300. __do_clear_bss