phy.lst 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967
  1. GAS LISTING /tmp/ccmkZ7oC.s page 1
  2. 1 .file "phy.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.NutPhyCtl,"ax",@progbits
  10. 9 .global NutPhyCtl
  11. 10 .type NutPhyCtl, @function
  12. 11 NutPhyCtl:
  13. 12 0000 4F92 push r4
  14. 13 0002 5F92 push r5
  15. 14 0004 6F92 push r6
  16. 15 0006 7F92 push r7
  17. 16 0008 8F92 push r8
  18. 17 000a 9F92 push r9
  19. 18 000c AF92 push r10
  20. 19 000e BF92 push r11
  21. 20 0010 EF92 push r14
  22. 21 0012 FF92 push r15
  23. 22 0014 0F93 push r16
  24. 23 0016 1F93 push r17
  25. 24 0018 CF93 push r28
  26. 25 001a DF93 push r29
  27. 26 /* prologue: function */
  28. 27 /* frame size = 0 */
  29. 28 /* stack size = 14 */
  30. 29 .L__stack_usage = 14
  31. 30 001c 8C01 movw r16,r24
  32. 31 001e EB01 movw r28,r22
  33. 32 0020 8880 ld r8,Y
  34. 33 0022 9980 ldd r9,Y+1
  35. 34 0024 AA80 ldd r10,Y+2
  36. 35 0026 BB80 ldd r11,Y+3
  37. 36 0028 2501 movw r4,r10
  38. 37 002a 6624 clr r6
  39. 38 002c 7724 clr r7
  40. 39 002e E091 0000 lds r30,phydcb
  41. 40 0032 F091 0000 lds r31,phydcb+1
  42. 41 0036 0780 ldd __tmp_reg__,Z+7
  43. 42 0038 F085 ldd r31,Z+8
  44. 43 003a E02D mov r30,__tmp_reg__
  45. 44 003c 80E0 ldi r24,0
  46. 45 003e 1995 eicall
  47. 46 0040 0730 cpi r16,7
  48. 47 0042 1105 cpc r17,__zero_reg__
  49. 48 0044 01F4 brne .+2
  50. 49 0046 00C0 rjmp .L3
  51. 50 0048 00F4 brsh .L4
  52. 51 004a 0330 cpi r16,3
  53. 52 004c 1105 cpc r17,__zero_reg__
  54. 53 004e 01F4 brne .+2
  55. 54 0050 00C0 rjmp .L5
  56. 55 0052 00F4 brsh .L6
  57. 56 0054 0130 cpi r16,1
  58. 57 0056 1105 cpc r17,__zero_reg__
  59. GAS LISTING /tmp/ccmkZ7oC.s page 2
  60. 58 0058 01F4 brne .+2
  61. 59 005a 00C0 rjmp .L7
  62. 60 005c 0230 cpi r16,2
  63. 61 005e 1105 cpc r17,__zero_reg__
  64. 62 0060 01F4 brne .+2
  65. 63 0062 00C0 rjmp .L8
  66. 64 0064 00C0 rjmp .L60
  67. 65 .L6:
  68. 66 0066 E091 0000 lds r30,phydcb
  69. 67 006a F091 0000 lds r31,phydcb+1
  70. 68 006e 0530 cpi r16,5
  71. 69 0070 1105 cpc r17,__zero_reg__
  72. 70 0072 01F4 brne .+2
  73. 71 0074 00C0 rjmp .L9
  74. 72 0076 00F4 brsh .+2
  75. 73 0078 00C0 rjmp .L80
  76. 74 007a 00C0 rjmp .L90
  77. 75 .L4:
  78. 76 007c 0130 cpi r16,1
  79. 77 007e 21E0 ldi r18,1
  80. 78 0080 1207 cpc r17,r18
  81. 79 0082 01F4 brne .+2
  82. 80 0084 00C0 rjmp .L12
  83. 81 0086 00F4 brsh .L13
  84. 82 0088 0830 cpi r16,8
  85. 83 008a 1105 cpc r17,__zero_reg__
  86. 84 008c 01F4 brne .+2
  87. 85 008e 00C0 rjmp .L14
  88. 86 0090 0115 cp r16,__zero_reg__
  89. 87 0092 1140 sbci r17,1
  90. 88 0094 01F0 breq .+2
  91. 89 0096 00C0 rjmp .L60
  92. 90 0098 E091 0000 lds r30,phydcb
  93. 91 009c F091 0000 lds r31,phydcb+1
  94. 92 00a0 0780 ldd __tmp_reg__,Z+7
  95. 93 00a2 F085 ldd r31,Z+8
  96. 94 00a4 E02D mov r30,__tmp_reg__
  97. 95 00a6 81E0 ldi r24,lo8(1)
  98. 96 00a8 1995 eicall
  99. 97 00aa 8470 andi r24,4
  100. 98 00ac 9927 clr r25
  101. 99 00ae 00C0 rjmp .L85
  102. 100 .L13:
  103. 101 00b0 0330 cpi r16,3
  104. 102 00b2 A1E0 ldi r26,1
  105. 103 00b4 1A07 cpc r17,r26
  106. 104 00b6 01F4 brne .+2
  107. 105 00b8 00C0 rjmp .L16
  108. 106 00ba 00F4 brsh .+2
  109. 107 00bc 00C0 rjmp .L17
  110. 108 00be 0430 cpi r16,4
  111. 109 00c0 1140 sbci r17,1
  112. 110 00c2 01F0 breq .+2
  113. 111 00c4 00C0 rjmp .L60
  114. 112 00c6 E091 0000 lds r30,phydcb
  115. 113 00ca F091 0000 lds r31,phydcb+1
  116. 114 00ce 0580 ldd __tmp_reg__,Z+5
  117. GAS LISTING /tmp/ccmkZ7oC.s page 3
  118. 115 00d0 F681 ldd r31,Z+6
  119. 116 00d2 E02D mov r30,__tmp_reg__
  120. 117 00d4 B401 movw r22,r8
  121. 118 00d6 842D mov r24,r4
  122. 119 00d8 00C0 rjmp .L86
  123. 120 .L7:
  124. 121 00da 8928 or r8,r9
  125. 122 00dc 01F4 brne .+2
  126. 123 00de 00C0 rjmp .L83
  127. 124 00e0 E091 0000 lds r30,phydcb
  128. 125 00e4 F091 0000 lds r31,phydcb+1
  129. 126 00e8 0580 ldd __tmp_reg__,Z+5
  130. 127 00ea F681 ldd r31,Z+6
  131. 128 00ec E02D mov r30,__tmp_reg__
  132. 129 00ee 60E0 ldi r22,0
  133. 130 00f0 70E8 ldi r23,lo8(-128)
  134. 131 00f2 80E0 ldi r24,0
  135. 132 00f4 1995 eicall
  136. 133 00f6 C0E0 ldi r28,0
  137. 134 00f8 D0E0 ldi r29,0
  138. 135 .L20:
  139. 136 00fa E091 0000 lds r30,phydcb
  140. 137 00fe F091 0000 lds r31,phydcb+1
  141. 138 0102 0780 ldd __tmp_reg__,Z+7
  142. 139 0104 F085 ldd r31,Z+8
  143. 140 0106 E02D mov r30,__tmp_reg__
  144. 141 0108 80E0 ldi r24,0
  145. 142 010a 1995 eicall
  146. 143 010c 97FF sbrs r25,7
  147. 144 010e 00C0 rjmp .L21
  148. 145 0110 CA30 cpi r28,10
  149. 146 0112 D105 cpc r29,__zero_reg__
  150. 147 0114 01F4 brne .+2
  151. 148 0116 00C0 rjmp .L60
  152. 149 0118 84E6 ldi r24,lo8(100)
  153. 150 011a 0E94 0000 call NutDelay
  154. 151 011e 2196 adiw r28,1
  155. 152 0120 00C0 rjmp .L20
  156. 153 .L21:
  157. 154 0122 81E0 ldi r24,lo8(1)
  158. 155 0124 90E0 ldi r25,0
  159. 156 0126 2A97 sbiw r28,10
  160. 157 0128 01F0 breq .L23
  161. 158 012a 80E0 ldi r24,0
  162. 159 012c 90E0 ldi r25,0
  163. 160 .L23:
  164. 161 012e 9195 neg r25
  165. 162 0130 8195 neg r24
  166. 163 0132 9109 sbc r25,__zero_reg__
  167. 164 0134 00C0 rjmp .L81
  168. 165 .L8:
  169. 166 0136 BC01 movw r22,r24
  170. 167 0138 8928 or r8,r9
  171. 168 013a 01F0 breq .L24
  172. 169 013c 7064 ori r23,64
  173. 170 013e 00C0 rjmp .L87
  174. 171 .L24:
  175. GAS LISTING /tmp/ccmkZ7oC.s page 4
  176. 172 0140 7F7B andi r23,191
  177. 173 0142 00C0 rjmp .L87
  178. 174 .L5:
  179. 175 0144 F4E6 ldi r31,100
  180. 176 0146 8F16 cp r8,r31
  181. 177 0148 9104 cpc r9,__zero_reg__
  182. 178 014a 01F4 brne .L26
  183. 179 014c BC01 movw r22,r24
  184. 180 014e 7062 ori r23,32
  185. 181 0150 00C0 rjmp .L87
  186. 182 .L26:
  187. 183 0152 2AE0 ldi r18,10
  188. 184 0154 8216 cp r8,r18
  189. 185 0156 9104 cpc r9,__zero_reg__
  190. 186 0158 01F0 breq .+2
  191. 187 015a 00C0 rjmp .L60
  192. 188 015c BC01 movw r22,r24
  193. 189 015e 7F7D andi r23,223
  194. 190 0160 00C0 rjmp .L87
  195. 191 .L80:
  196. 192 0162 BC01 movw r22,r24
  197. 193 0164 8928 or r8,r9
  198. 194 0166 01F0 breq .L28
  199. 195 0168 7061 ori r23,16
  200. 196 016a 00C0 rjmp .L88
  201. 197 .L28:
  202. 198 016c 7F7E andi r23,239
  203. 199 016e 00C0 rjmp .L88
  204. 200 .L9:
  205. 201 0170 BC01 movw r22,r24
  206. 202 0172 8928 or r8,r9
  207. 203 0174 01F0 breq .L30
  208. 204 0176 7860 ori r23,8
  209. 205 0178 00C0 rjmp .L88
  210. 206 .L30:
  211. 207 017a 777F andi r23,247
  212. 208 017c 00C0 rjmp .L88
  213. 209 .L90:
  214. 210 017e BC01 movw r22,r24
  215. 211 0180 8928 or r8,r9
  216. 212 0182 01F0 breq .L32
  217. 213 0184 7460 ori r23,4
  218. 214 0186 00C0 rjmp .L88
  219. 215 .L32:
  220. 216 0188 7B7F andi r23,251
  221. 217 018a 00C0 rjmp .L88
  222. 218 .L3:
  223. 219 018c BC01 movw r22,r24
  224. 220 018e 8928 or r8,r9
  225. 221 0190 01F0 breq .L34
  226. 222 0192 7160 ori r23,1
  227. 223 0194 00C0 rjmp .L87
  228. 224 .L34:
  229. 225 0196 7E7F andi r23,254
  230. 226 0198 00C0 rjmp .L87
  231. 227 .L14:
  232. 228 019a 8928 or r8,r9
  233. GAS LISTING /tmp/ccmkZ7oC.s page 5
  234. 229 019c 01F4 brne .+2
  235. 230 019e 00C0 rjmp .L83
  236. 231 01a0 BC01 movw r22,r24
  237. 232 01a2 7260 ori r23,2
  238. 233 .L87:
  239. 234 01a4 E091 0000 lds r30,phydcb
  240. 235 01a8 F091 0000 lds r31,phydcb+1
  241. 236 .L88:
  242. 237 01ac 0580 ldd __tmp_reg__,Z+5
  243. 238 01ae F681 ldd r31,Z+6
  244. 239 01b0 E02D mov r30,__tmp_reg__
  245. 240 01b2 80E0 ldi r24,0
  246. 241 01b4 00C0 rjmp .L86
  247. 242 .L12:
  248. 243 01b6 E091 0000 lds r30,phydcb
  249. 244 01ba F091 0000 lds r31,phydcb+1
  250. 245 01be 0780 ldd __tmp_reg__,Z+7
  251. 246 01c0 F085 ldd r31,Z+8
  252. 247 01c2 E02D mov r30,__tmp_reg__
  253. 248 01c4 81E0 ldi r24,lo8(1)
  254. 249 01c6 1995 eicall
  255. 250 01c8 82FF sbrs r24,2
  256. 251 01ca 00C0 rjmp .L37
  257. 252 01cc 8072 andi r24,32
  258. 253 01ce 9927 clr r25
  259. 254 01d0 AC01 movw r20,r24
  260. 255 01d2 4160 ori r20,1
  261. 256 01d4 052E mov __tmp_reg__,r21
  262. 257 01d6 000C lsl r0
  263. 258 01d8 660B sbc r22,r22
  264. 259 01da 770B sbc r23,r23
  265. 260 01dc 4883 st Y,r20
  266. 261 01de 5983 std Y+1,r21
  267. 262 01e0 6A83 std Y+2,r22
  268. 263 01e2 7B83 std Y+3,r23
  269. 264 01e4 E091 0000 lds r30,phydcb
  270. 265 01e8 F091 0000 lds r31,phydcb+1
  271. 266 01ec 4081 ld r20,Z
  272. 267 01ee 5181 ldd r21,Z+1
  273. 268 01f0 6281 ldd r22,Z+2
  274. 269 01f2 7381 ldd r23,Z+3
  275. 270 01f4 4031 cpi r20,16
  276. 271 01f6 36E1 ldi r19,22
  277. 272 01f8 5307 cpc r21,r19
  278. 273 01fa 32E2 ldi r19,34
  279. 274 01fc 6307 cpc r22,r19
  280. 275 01fe 7105 cpc r23,__zero_reg__
  281. 276 0200 01F4 brne .L38
  282. 277 0202 0780 ldd __tmp_reg__,Z+7
  283. 278 0204 F085 ldd r31,Z+8
  284. 279 0206 E02D mov r30,__tmp_reg__
  285. 280 0208 8FE1 ldi r24,lo8(31)
  286. 281 020a 1995 eicall
  287. 282 020c 9695 lsr r25
  288. 283 020e 8795 ror r24
  289. 284 0210 9695 lsr r25
  290. 285 0212 8795 ror r24
  291. GAS LISTING /tmp/ccmkZ7oC.s page 6
  292. 286 0214 8770 andi r24,7
  293. 287 0216 9927 clr r25
  294. 288 0218 8230 cpi r24,2
  295. 289 021a 9105 cpc r25,__zero_reg__
  296. 290 021c 01F0 breq .L47
  297. 291 021e 00F4 brsh .L40
  298. 292 0220 0197 sbiw r24,1
  299. 293 0222 01F0 breq .L45
  300. 294 0224 00C0 rjmp .L83
  301. 295 .L40:
  302. 296 0226 8530 cpi r24,5
  303. 297 0228 9105 cpc r25,__zero_reg__
  304. 298 022a 01F0 breq .L49
  305. 299 022c 0697 sbiw r24,6
  306. 300 022e 01F0 breq .L48
  307. 301 0230 00C0 rjmp .L83
  308. 302 .L38:
  309. 303 0232 4039 cpi r20,-112
  310. 304 0234 ACE5 ldi r26,92
  311. 305 0236 5A07 cpc r21,r26
  312. 306 0238 6105 cpc r22,__zero_reg__
  313. 307 023a A0E2 ldi r26,32
  314. 308 023c 7A07 cpc r23,r26
  315. 309 023e 01F4 brne .L44
  316. 310 0240 0780 ldd __tmp_reg__,Z+7
  317. 311 0242 F085 ldd r31,Z+8
  318. 312 0244 E02D mov r30,__tmp_reg__
  319. 313 0246 80E1 ldi r24,lo8(16)
  320. 314 0248 1995 eicall
  321. 315 024a 8770 andi r24,7
  322. 316 024c 9927 clr r25
  323. 317 024e 8330 cpi r24,3
  324. 318 0250 9105 cpc r25,__zero_reg__
  325. 319 0252 01F0 breq .L45
  326. 320 0254 00F4 brsh .L46
  327. 321 0256 0197 sbiw r24,1
  328. 322 0258 01F0 breq .L47
  329. 323 025a 00C0 rjmp .L83
  330. 324 .L46:
  331. 325 025c 8530 cpi r24,5
  332. 326 025e 9105 cpc r25,__zero_reg__
  333. 327 0260 01F0 breq .L48
  334. 328 0262 0797 sbiw r24,7
  335. 329 0264 01F0 breq .L49
  336. 330 0266 00C0 rjmp .L83
  337. 331 .L47:
  338. 332 0268 8881 ld r24,Y
  339. 333 026a 9981 ldd r25,Y+1
  340. 334 026c AA81 ldd r26,Y+2
  341. 335 026e BB81 ldd r27,Y+3
  342. 336 0270 8460 ori r24,4
  343. 337 0272 00C0 rjmp .L84
  344. 338 .L45:
  345. 339 0274 8881 ld r24,Y
  346. 340 0276 9981 ldd r25,Y+1
  347. 341 0278 AA81 ldd r26,Y+2
  348. 342 027a BB81 ldd r27,Y+3
  349. GAS LISTING /tmp/ccmkZ7oC.s page 7
  350. 343 027c 8260 ori r24,2
  351. 344 027e 00C0 rjmp .L84
  352. 345 .L48:
  353. 346 0280 8881 ld r24,Y
  354. 347 0282 9981 ldd r25,Y+1
  355. 348 0284 AA81 ldd r26,Y+2
  356. 349 0286 BB81 ldd r27,Y+3
  357. 350 0288 8461 ori r24,20
  358. 351 028a 00C0 rjmp .L84
  359. 352 .L49:
  360. 353 028c 8881 ld r24,Y
  361. 354 028e 9981 ldd r25,Y+1
  362. 355 0290 AA81 ldd r26,Y+2
  363. 356 0292 BB81 ldd r27,Y+3
  364. 357 0294 8261 ori r24,18
  365. 358 0296 00C0 rjmp .L84
  366. 359 .L44:
  367. 360 0298 A0E0 ldi r26,lo8(phy_status_descr)
  368. 361 029a B0E0 ldi r27,hi8(phy_status_descr)
  369. 362 029c 00E0 ldi r16,0
  370. 363 029e 10E0 ldi r17,0
  371. 364 .L51:
  372. 365 02a0 8D90 ld r8,X+
  373. 366 02a2 9D90 ld r9,X+
  374. 367 02a4 AD90 ld r10,X+
  375. 368 02a6 BC90 ld r11,X
  376. 369 02a8 1397 sbiw r26,3
  377. 370 02aa 4815 cp r20,r8
  378. 371 02ac 5905 cpc r21,r9
  379. 372 02ae 6A05 cpc r22,r10
  380. 373 02b0 7B05 cpc r23,r11
  381. 374 02b2 01F4 brne .+2
  382. 375 02b4 00C0 rjmp .L50
  383. 376 02b6 0F5F subi r16,-1
  384. 377 02b8 1F4F sbci r17,-1
  385. 378 02ba 5396 adiw r26,19
  386. 379 02bc 0B30 cpi r16,11
  387. 380 02be 1105 cpc r17,__zero_reg__
  388. 381 02c0 01F4 brne .L51
  389. 382 02c2 8164 ori r24,65
  390. 383 02c4 092E mov __tmp_reg__,r25
  391. 384 02c6 000C lsl r0
  392. 385 02c8 AA0B sbc r26,r26
  393. 386 02ca BB0B sbc r27,r27
  394. 387 02cc 00C0 rjmp .L84
  395. 388 .L37:
  396. 389 02ce 1882 st Y,__zero_reg__
  397. 390 02d0 1982 std Y+1,__zero_reg__
  398. 391 02d2 1A82 std Y+2,__zero_reg__
  399. 392 02d4 1B82 std Y+3,__zero_reg__
  400. 393 02d6 00C0 rjmp .L83
  401. 394 .L17:
  402. 395 02d8 1882 st Y,__zero_reg__
  403. 396 02da 1982 std Y+1,__zero_reg__
  404. 397 02dc 1A82 std Y+2,__zero_reg__
  405. 398 02de 1B82 std Y+3,__zero_reg__
  406. 399 02e0 A091 0000 lds r26,phydcb
  407. GAS LISTING /tmp/ccmkZ7oC.s page 8
  408. 400 02e4 B091 0000 lds r27,phydcb+1
  409. 401 02e8 4D91 ld r20,X+
  410. 402 02ea 5D91 ld r21,X+
  411. 403 02ec 6D91 ld r22,X+
  412. 404 02ee 7C91 ld r23,X
  413. 405 02f0 1397 sbiw r26,3
  414. 406 02f2 E0E0 ldi r30,lo8(phy_status_descr)
  415. 407 02f4 F0E0 ldi r31,hi8(phy_status_descr)
  416. 408 02f6 80E0 ldi r24,0
  417. 409 02f8 90E0 ldi r25,0
  418. 410 .L56:
  419. 411 02fa 0081 ld r16,Z
  420. 412 02fc 1181 ldd r17,Z+1
  421. 413 02fe 2281 ldd r18,Z+2
  422. 414 0300 3381 ldd r19,Z+3
  423. 415 0302 0417 cp r16,r20
  424. 416 0304 1507 cpc r17,r21
  425. 417 0306 2607 cpc r18,r22
  426. 418 0308 3707 cpc r19,r23
  427. 419 030a 01F4 brne .+2
  428. 420 030c 00C0 rjmp .L55
  429. 421 030e 0196 adiw r24,1
  430. 422 0310 7396 adiw r30,19
  431. 423 0312 8B30 cpi r24,11
  432. 424 0314 9105 cpc r25,__zero_reg__
  433. 425 0316 01F4 brne .L56
  434. 426 0318 00C0 rjmp .L60
  435. 427 .L16:
  436. 428 031a E091 0000 lds r30,phydcb
  437. 429 031e F091 0000 lds r31,phydcb+1
  438. 430 0322 0780 ldd __tmp_reg__,Z+7
  439. 431 0324 F085 ldd r31,Z+8
  440. 432 0326 E02D mov r30,__tmp_reg__
  441. 433 0328 842D mov r24,r4
  442. 434 032a 1995 eicall
  443. 435 .L85:
  444. 436 032c A0E0 ldi r26,0
  445. 437 032e B0E0 ldi r27,0
  446. 438 0330 00C0 rjmp .L84
  447. 439 .L86:
  448. 440 0332 1995 eicall
  449. 441 0334 00C0 rjmp .L83
  450. 442 .L60:
  451. 443 0336 8FEF ldi r24,lo8(-1)
  452. 444 0338 9FEF ldi r25,lo8(-1)
  453. 445 033a 00C0 rjmp .L81
  454. 446 .L50:
  455. 447 033c 23E1 ldi r18,lo8(19)
  456. 448 033e 209F mul r18,r16
  457. 449 0340 C001 movw r24,r0
  458. 450 0342 219F mul r18,r17
  459. 451 0344 900D add r25,r0
  460. 452 0346 1124 clr __zero_reg__
  461. 453 0348 9C01 movw r18,r24
  462. 454 034a 2050 subi r18,lo8(-(phy_status_descr))
  463. 455 034c 3040 sbci r19,hi8(-(phy_status_descr))
  464. 456 034e 7901 movw r14,r18
  465. GAS LISTING /tmp/ccmkZ7oC.s page 9
  466. 457 0350 0780 ldd __tmp_reg__,Z+7
  467. 458 0352 F085 ldd r31,Z+8
  468. 459 0354 E02D mov r30,__tmp_reg__
  469. 460 0356 D901 movw r26,r18
  470. 461 0358 1496 adiw r26,4
  471. 462 035a 8C91 ld r24,X
  472. 463 035c 1995 eicall
  473. 464 035e F701 movw r30,r14
  474. 465 0360 2581 ldd r18,Z+5
  475. 466 0362 3681 ldd r19,Z+6
  476. 467 0364 8223 and r24,r18
  477. 468 0366 9323 and r25,r19
  478. 469 0368 892B or r24,r25
  479. 470 036a 01F0 breq .L58
  480. 471 036c 8881 ld r24,Y
  481. 472 036e 9981 ldd r25,Y+1
  482. 473 0370 AA81 ldd r26,Y+2
  483. 474 0372 BB81 ldd r27,Y+3
  484. 475 0374 8260 ori r24,2
  485. 476 0376 8883 st Y,r24
  486. 477 0378 9983 std Y+1,r25
  487. 478 037a AA83 std Y+2,r26
  488. 479 037c BB83 std Y+3,r27
  489. 480 .L58:
  490. 481 037e 23E1 ldi r18,lo8(19)
  491. 482 0380 209F mul r18,r16
  492. 483 0382 C001 movw r24,r0
  493. 484 0384 219F mul r18,r17
  494. 485 0386 900D add r25,r0
  495. 486 0388 1124 clr __zero_reg__
  496. 487 038a FC01 movw r30,r24
  497. 488 038c E050 subi r30,lo8(-(phy_status_descr))
  498. 489 038e F040 sbci r31,hi8(-(phy_status_descr))
  499. 490 0390 7F01 movw r14,r30
  500. 491 0392 E091 0000 lds r30,phydcb
  501. 492 0396 F091 0000 lds r31,phydcb+1
  502. 493 039a 0780 ldd __tmp_reg__,Z+7
  503. 494 039c F085 ldd r31,Z+8
  504. 495 039e E02D mov r30,__tmp_reg__
  505. 496 03a0 D701 movw r26,r14
  506. 497 03a2 1796 adiw r26,7
  507. 498 03a4 8C91 ld r24,X
  508. 499 03a6 1995 eicall
  509. 500 03a8 F701 movw r30,r14
  510. 501 03aa 2085 ldd r18,Z+8
  511. 502 03ac 3185 ldd r19,Z+9
  512. 503 03ae 8223 and r24,r18
  513. 504 03b0 9323 and r25,r19
  514. 505 03b2 892B or r24,r25
  515. 506 03b4 01F0 breq .L53
  516. 507 03b6 8881 ld r24,Y
  517. 508 03b8 9981 ldd r25,Y+1
  518. 509 03ba AA81 ldd r26,Y+2
  519. 510 03bc BB81 ldd r27,Y+3
  520. 511 03be 8460 ori r24,4
  521. 512 03c0 8883 st Y,r24
  522. 513 03c2 9983 std Y+1,r25
  523. GAS LISTING /tmp/ccmkZ7oC.s page 10
  524. 514 03c4 AA83 std Y+2,r26
  525. 515 03c6 BB83 std Y+3,r27
  526. 516 .L53:
  527. 517 03c8 23E1 ldi r18,lo8(19)
  528. 518 03ca 209F mul r18,r16
  529. 519 03cc C001 movw r24,r0
  530. 520 03ce 219F mul r18,r17
  531. 521 03d0 900D add r25,r0
  532. 522 03d2 1124 clr __zero_reg__
  533. 523 03d4 9C01 movw r18,r24
  534. 524 03d6 2050 subi r18,lo8(-(phy_status_descr))
  535. 525 03d8 3040 sbci r19,hi8(-(phy_status_descr))
  536. 526 03da 7901 movw r14,r18
  537. 527 03dc E091 0000 lds r30,phydcb
  538. 528 03e0 F091 0000 lds r31,phydcb+1
  539. 529 03e4 0780 ldd __tmp_reg__,Z+7
  540. 530 03e6 F085 ldd r31,Z+8
  541. 531 03e8 E02D mov r30,__tmp_reg__
  542. 532 03ea D901 movw r26,r18
  543. 533 03ec 1A96 adiw r26,10
  544. 534 03ee 8C91 ld r24,X
  545. 535 03f0 1995 eicall
  546. 536 03f2 F701 movw r30,r14
  547. 537 03f4 2385 ldd r18,Z+11
  548. 538 03f6 3485 ldd r19,Z+12
  549. 539 03f8 8223 and r24,r18
  550. 540 03fa 9323 and r25,r19
  551. 541 03fc 892B or r24,r25
  552. 542 03fe 01F0 breq .L54
  553. 543 0400 8881 ld r24,Y
  554. 544 0402 9981 ldd r25,Y+1
  555. 545 0404 AA81 ldd r26,Y+2
  556. 546 0406 BB81 ldd r27,Y+3
  557. 547 0408 8860 ori r24,8
  558. 548 040a 8883 st Y,r24
  559. 549 040c 9983 std Y+1,r25
  560. 550 040e AA83 std Y+2,r26
  561. 551 0410 BB83 std Y+3,r27
  562. 552 .L54:
  563. 553 0412 23E1 ldi r18,lo8(19)
  564. 554 0414 209F mul r18,r16
  565. 555 0416 C001 movw r24,r0
  566. 556 0418 219F mul r18,r17
  567. 557 041a 900D add r25,r0
  568. 558 041c 1124 clr __zero_reg__
  569. 559 041e 8C01 movw r16,r24
  570. 560 0420 0050 subi r16,lo8(-(phy_status_descr))
  571. 561 0422 1040 sbci r17,hi8(-(phy_status_descr))
  572. 562 0424 E091 0000 lds r30,phydcb
  573. 563 0428 F091 0000 lds r31,phydcb+1
  574. 564 042c 0780 ldd __tmp_reg__,Z+7
  575. 565 042e F085 ldd r31,Z+8
  576. 566 0430 E02D mov r30,__tmp_reg__
  577. 567 0432 D801 movw r26,r16
  578. 568 0434 1D96 adiw r26,13
  579. 569 0436 8C91 ld r24,X
  580. 570 0438 1995 eicall
  581. GAS LISTING /tmp/ccmkZ7oC.s page 11
  582. 571 043a F801 movw r30,r16
  583. 572 043c 2685 ldd r18,Z+14
  584. 573 043e 3785 ldd r19,Z+15
  585. 574 0440 8223 and r24,r18
  586. 575 0442 9323 and r25,r19
  587. 576 0444 892B or r24,r25
  588. 577 0446 01F0 breq .L83
  589. 578 0448 8881 ld r24,Y
  590. 579 044a 9981 ldd r25,Y+1
  591. 580 044c AA81 ldd r26,Y+2
  592. 581 044e BB81 ldd r27,Y+3
  593. 582 0450 8061 ori r24,16
  594. 583 0452 00C0 rjmp .L84
  595. 584 .L55:
  596. 585 0454 23E1 ldi r18,lo8(19)
  597. 586 0456 289F mul r18,r24
  598. 587 0458 8001 movw r16,r0
  599. 588 045a 299F mul r18,r25
  600. 589 045c 100D add r17,r0
  601. 590 045e 1124 clr __zero_reg__
  602. 591 0460 0050 subi r16,lo8(-(phy_status_descr))
  603. 592 0462 1040 sbci r17,hi8(-(phy_status_descr))
  604. 593 0464 1796 adiw r26,7
  605. 594 0466 ED91 ld r30,X+
  606. 595 0468 FC91 ld r31,X
  607. 596 046a 1897 sbiw r26,7+1
  608. 597 046c D801 movw r26,r16
  609. 598 046e 5096 adiw r26,16
  610. 599 0470 8C91 ld r24,X
  611. 600 0472 1995 eicall
  612. 601 0474 F801 movw r30,r16
  613. 602 0476 2189 ldd r18,Z+17
  614. 603 0478 3289 ldd r19,Z+18
  615. 604 047a 8223 and r24,r18
  616. 605 047c 9323 and r25,r19
  617. 606 047e 892B or r24,r25
  618. 607 0480 01F0 breq .L83
  619. 608 0482 81E0 ldi r24,lo8(1)
  620. 609 0484 90E0 ldi r25,0
  621. 610 0486 A0E0 ldi r26,0
  622. 611 0488 B0E0 ldi r27,0
  623. 612 .L84:
  624. 613 048a 8883 st Y,r24
  625. 614 048c 9983 std Y+1,r25
  626. 615 048e AA83 std Y+2,r26
  627. 616 0490 BB83 std Y+3,r27
  628. 617 .L83:
  629. 618 0492 80E0 ldi r24,0
  630. 619 0494 90E0 ldi r25,0
  631. 620 .L81:
  632. 621 /* epilogue start */
  633. 622 0496 DF91 pop r29
  634. 623 0498 CF91 pop r28
  635. 624 049a 1F91 pop r17
  636. 625 049c 0F91 pop r16
  637. 626 049e FF90 pop r15
  638. 627 04a0 EF90 pop r14
  639. GAS LISTING /tmp/ccmkZ7oC.s page 12
  640. 628 04a2 BF90 pop r11
  641. 629 04a4 AF90 pop r10
  642. 630 04a6 9F90 pop r9
  643. 631 04a8 8F90 pop r8
  644. 632 04aa 7F90 pop r7
  645. 633 04ac 6F90 pop r6
  646. 634 04ae 5F90 pop r5
  647. 635 04b0 4F90 pop r4
  648. 636 04b2 0895 ret
  649. 637 .size NutPhyCtl, .-NutPhyCtl
  650. 638 .section .text.NutRegisterPhy,"ax",@progbits
  651. 639 .global NutRegisterPhy
  652. 640 .type NutRegisterPhy, @function
  653. 641 NutRegisterPhy:
  654. 642 0000 FF92 push r15
  655. 643 0002 0F93 push r16
  656. 644 0004 1F93 push r17
  657. 645 0006 CF93 push r28
  658. 646 0008 DF93 push r29
  659. 647 /* prologue: function */
  660. 648 /* frame size = 0 */
  661. 649 /* stack size = 5 */
  662. 650 .L__stack_usage = 5
  663. 651 000a F82E mov r15,r24
  664. 652 000c 8B01 movw r16,r22
  665. 653 000e EA01 movw r28,r20
  666. 654 0010 8091 0000 lds r24,phydcb
  667. 655 0014 9091 0000 lds r25,phydcb+1
  668. 656 0018 892B or r24,r25
  669. 657 001a 01F0 breq .L92
  670. 658 .L96:
  671. 659 001c 80E0 ldi r24,0
  672. 660 001e 90E0 ldi r25,0
  673. 661 0020 00C0 rjmp .L93
  674. 662 .L92:
  675. 663 0022 672B or r22,r23
  676. 664 0024 01F4 brne .L94
  677. 665 .L95:
  678. 666 0026 8FEF ldi r24,lo8(-1)
  679. 667 0028 9FEF ldi r25,lo8(-1)
  680. 668 002a 00C0 rjmp .L93
  681. 669 .L94:
  682. 670 002c 2097 sbiw r28,0
  683. 671 002e 01F0 breq .L95
  684. 672 0030 69E0 ldi r22,lo8(9)
  685. 673 0032 70E0 ldi r23,0
  686. 674 0034 80E0 ldi r24,lo8(heapFreeList)
  687. 675 0036 90E0 ldi r25,hi8(heapFreeList)
  688. 676 0038 0E94 0000 call NutHeapRootAlloc
  689. 677 003c FC01 movw r30,r24
  690. 678 003e 9093 0000 sts phydcb+1,r25
  691. 679 0042 8093 0000 sts phydcb,r24
  692. 680 0046 892B or r24,r25
  693. 681 0048 01F0 breq .L95
  694. 682 004a F482 std Z+4,r15
  695. 683 004c 1683 std Z+6,r17
  696. 684 004e 0583 std Z+5,r16
  697. GAS LISTING /tmp/ccmkZ7oC.s page 13
  698. 685 0050 D087 std Z+8,r29
  699. 686 0052 C783 std Z+7,r28
  700. 687 0054 82E0 ldi r24,lo8(2)
  701. 688 0056 FE01 movw r30,r28
  702. 689 0058 1995 eicall
  703. 690 005a EC01 movw r28,r24
  704. 691 005c E091 0000 lds r30,phydcb
  705. 692 0060 F091 0000 lds r31,phydcb+1
  706. 693 0064 0780 ldd __tmp_reg__,Z+7
  707. 694 0066 F085 ldd r31,Z+8
  708. 695 0068 E02D mov r30,__tmp_reg__
  709. 696 006a 83E0 ldi r24,lo8(3)
  710. 697 006c 1995 eicall
  711. 698 006e AC01 movw r20,r24
  712. 699 0070 E091 0000 lds r30,phydcb
  713. 700 0074 F091 0000 lds r31,phydcb+1
  714. 701 0078 CE01 movw r24,r28
  715. 702 007a A0E0 ldi r26,0
  716. 703 007c B0E0 ldi r27,0
  717. 704 007e DC01 movw r26,r24
  718. 705 0080 9927 clr r25
  719. 706 0082 8827 clr r24
  720. 707 0084 60E0 ldi r22,0
  721. 708 0086 70E0 ldi r23,0
  722. 709 0088 842B or r24,r20
  723. 710 008a 952B or r25,r21
  724. 711 008c A62B or r26,r22
  725. 712 008e B72B or r27,r23
  726. 713 0090 807F andi r24,240
  727. 714 0092 8083 st Z,r24
  728. 715 0094 9183 std Z+1,r25
  729. 716 0096 A283 std Z+2,r26
  730. 717 0098 B383 std Z+3,r27
  731. 718 009a 00C0 rjmp .L96
  732. 719 .L93:
  733. 720 /* epilogue start */
  734. 721 009c DF91 pop r29
  735. 722 009e CF91 pop r28
  736. 723 00a0 1F91 pop r17
  737. 724 00a2 0F91 pop r16
  738. 725 00a4 FF90 pop r15
  739. 726 00a6 0895 ret
  740. 727 .size NutRegisterPhy, .-NutRegisterPhy
  741. 728 .global phy_status_descr
  742. 729 .data
  743. 730 .type phy_status_descr, @object
  744. 731 .size phy_status_descr, 209
  745. 732 phy_status_descr:
  746. 733 0000 C0 .byte -64
  747. 734 0001 B8 .byte -72
  748. 735 0002 81 .byte -127
  749. 736 0003 01 .byte 1
  750. 737 0004 11 .byte 17
  751. 738 0005 0030 .word 12288
  752. 739 0007 11 .byte 17
  753. 740 0008 00C0 .word -16384
  754. 741 000a 00 .byte 0
  755. GAS LISTING /tmp/ccmkZ7oC.s page 14
  756. 742 000b 0000 .word 0
  757. 743 000d 11 .byte 17
  758. 744 000e 00A0 .word -24576
  759. 745 0010 00 .byte 0
  760. 746 0011 0000 .word 0
  761. 747 0013 A0 .byte -96
  762. 748 0014 B8 .byte -72
  763. 749 0015 81 .byte -127
  764. 750 0016 01 .byte 1
  765. 751 0017 11 .byte 17
  766. 752 0018 0030 .word 12288
  767. 753 001a 11 .byte 17
  768. 754 001b 00C0 .word -16384
  769. 755 001d 00 .byte 0
  770. 756 001e 0000 .word 0
  771. 757 0020 11 .byte 17
  772. 758 0021 00A0 .word -24576
  773. 759 0023 00 .byte 0
  774. 760 0024 0000 .word 0
  775. 761 0026 B0 .byte -80
  776. 762 0027 B8 .byte -72
  777. 763 0028 81 .byte -127
  778. 764 0029 01 .byte 1
  779. 765 002a 11 .byte 17
  780. 766 002b 0030 .word 12288
  781. 767 002d 11 .byte 17
  782. 768 002e 00C0 .word -16384
  783. 769 0030 00 .byte 0
  784. 770 0031 0000 .word 0
  785. 771 0033 11 .byte 17
  786. 772 0034 00A0 .word -24576
  787. 773 0036 00 .byte 0
  788. 774 0037 0000 .word 0
  789. 775 0039 80 .byte -128
  790. 776 003a B8 .byte -72
  791. 777 003b 81 .byte -127
  792. 778 003c 01 .byte 1
  793. 779 003d 11 .byte 17
  794. 780 003e 0030 .word 12288
  795. 781 0040 11 .byte 17
  796. 782 0041 00C0 .word -16384
  797. 783 0043 00 .byte 0
  798. 784 0044 0000 .word 0
  799. 785 0046 11 .byte 17
  800. 786 0047 00A0 .word -24576
  801. 787 0049 00 .byte 0
  802. 788 004a 0000 .word 0
  803. 789 004c C0 .byte -64
  804. 790 004d C0 .byte -64
  805. 791 004e 07 .byte 7
  806. 792 004f 00 .byte 0
  807. 793 0050 1F .byte 31
  808. 794 0051 0400 .word 4
  809. 795 0053 1F .byte 31
  810. 796 0054 0800 .word 8
  811. 797 0056 00 .byte 0
  812. 798 0057 0000 .word 0
  813. GAS LISTING /tmp/ccmkZ7oC.s page 15
  814. 799 0059 1F .byte 31
  815. 800 005a 1000 .word 16
  816. 801 005c 00 .byte 0
  817. 802 005d 0000 .word 0
  818. 803 005f C0 .byte -64
  819. 804 0060 C0 .byte -64
  820. 805 0061 07 .byte 7
  821. 806 0062 00 .byte 0
  822. 807 0063 1F .byte 31
  823. 808 0064 0400 .word 4
  824. 809 0066 1F .byte 31
  825. 810 0067 0800 .word 8
  826. 811 0069 00 .byte 0
  827. 812 006a 0000 .word 0
  828. 813 006c 1F .byte 31
  829. 814 006d 1000 .word 16
  830. 815 006f 00 .byte 0
  831. 816 0070 0000 .word 0
  832. 817 0072 F0 .byte -16
  833. 818 0073 C0 .byte -64
  834. 819 0074 07 .byte 7
  835. 820 0075 00 .byte 0
  836. 821 0076 1F .byte 31
  837. 822 0077 0400 .word 4
  838. 823 0079 1F .byte 31
  839. 824 007a 0800 .word 8
  840. 825 007c 00 .byte 0
  841. 826 007d 0000 .word 0
  842. 827 007f 1F .byte 31
  843. 828 0080 1000 .word 16
  844. 829 0082 00 .byte 0
  845. 830 0083 0000 .word 0
  846. 831 0085 F0 .byte -16
  847. 832 0086 C0 .byte -64
  848. 833 0087 07 .byte 7
  849. 834 0088 00 .byte 0
  850. 835 0089 1F .byte 31
  851. 836 008a 0400 .word 4
  852. 837 008c 1F .byte 31
  853. 838 008d 0800 .word 8
  854. 839 008f 00 .byte 0
  855. 840 0090 0000 .word 0
  856. 841 0092 1F .byte 31
  857. 842 0093 1000 .word 16
  858. 843 0095 00 .byte 0
  859. 844 0096 0000 .word 0
  860. 845 0098 10 .byte 16
  861. 846 0099 16 .byte 22
  862. 847 009a 22 .byte 34
  863. 848 009b 00 .byte 0
  864. 849 009c 1F .byte 31
  865. 850 009d 0400 .word 4
  866. 851 009f 1F .byte 31
  867. 852 00a0 0800 .word 8
  868. 853 00a2 00 .byte 0
  869. 854 00a3 0000 .word 0
  870. 855 00a5 1F .byte 31
  871. GAS LISTING /tmp/ccmkZ7oC.s page 16
  872. 856 00a6 1000 .word 16
  873. 857 00a8 00 .byte 0
  874. 858 00a9 0000 .word 0
  875. 859 00ab 60 .byte 96
  876. 860 00ac 84 .byte -124
  877. 861 00ad 03 .byte 3
  878. 862 00ae 02 .byte 2
  879. 863 00af 00 .byte 0
  880. 864 00b0 0000 .word 0
  881. 865 00b2 11 .byte 17
  882. 866 00b3 0002 .word 512
  883. 867 00b5 00 .byte 0
  884. 868 00b6 0000 .word 0
  885. 869 00b8 11 .byte 17
  886. 870 00b9 0001 .word 256
  887. 871 00bb 00 .byte 0
  888. 872 00bc 0000 .word 0
  889. 873 00be 90 .byte -112
  890. 874 00bf 5C .byte 92
  891. 875 00c0 00 .byte 0
  892. 876 00c1 20 .byte 32
  893. 877 00c2 00 .byte 0
  894. 878 00c3 0000 .word 0
  895. 879 00c5 00 .byte 0
  896. 880 00c6 0000 .word 0
  897. 881 00c8 00 .byte 0
  898. 882 00c9 0000 .word 0
  899. 883 00cb 00 .byte 0
  900. 884 00cc 0000 .word 0
  901. 885 00ce 00 .byte 0
  902. 886 00cf 0000 .word 0
  903. 887 .comm phy_bit_descr_nr,2,1
  904. 888 .global phydcb
  905. 889 .section .bss
  906. 890 .type phydcb, @object
  907. 891 .size phydcb, 2
  908. 892 phydcb:
  909. 893 0000 0000 .zero 2
  910. 894 .ident "GCC: (GNU) 5.3.0"
  911. 895 .global __do_copy_data
  912. 896 .global __do_clear_bss
  913. GAS LISTING /tmp/ccmkZ7oC.s page 17
  914. DEFINED SYMBOLS
  915. *ABS*:0000000000000000 phy.c
  916. /tmp/ccmkZ7oC.s:2 *ABS*:000000000000003e __SP_H__
  917. /tmp/ccmkZ7oC.s:3 *ABS*:000000000000003d __SP_L__
  918. /tmp/ccmkZ7oC.s:4 *ABS*:000000000000003f __SREG__
  919. /tmp/ccmkZ7oC.s:5 *ABS*:000000000000003b __RAMPZ__
  920. /tmp/ccmkZ7oC.s:6 *ABS*:0000000000000000 __tmp_reg__
  921. /tmp/ccmkZ7oC.s:7 *ABS*:0000000000000001 __zero_reg__
  922. /tmp/ccmkZ7oC.s:11 .text.NutPhyCtl:0000000000000000 NutPhyCtl
  923. /tmp/ccmkZ7oC.s:892 .bss:0000000000000000 phydcb
  924. /tmp/ccmkZ7oC.s:732 .data:0000000000000000 phy_status_descr
  925. /tmp/ccmkZ7oC.s:641 .text.NutRegisterPhy:0000000000000000 NutRegisterPhy
  926. *COM*:0000000000000002 phy_bit_descr_nr
  927. UNDEFINED SYMBOLS
  928. NutDelay
  929. heapFreeList
  930. NutHeapRootAlloc
  931. __do_copy_data
  932. __do_clear_bss