uart0driver.lst 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 1
  2. 1 .file "uart0driver.c"
  3. 2 .arch atmega2561
  4. 3 __SREG__ = 0x3f
  5. 4 __SP_H__ = 0x3e
  6. 5 __SP_L__ = 0x3d
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .global __do_copy_data
  10. 9 .global __do_clear_bss
  11. 10 .text
  12. 11 .global Uart0DriverGetStream
  13. 12 .type Uart0DriverGetStream, @function
  14. 13 Uart0DriverGetStream:
  15. 14 /* prologue: frame size=0 */
  16. 15 /* prologue end (size=0) */
  17. 16 0000 8091 0000 lds r24,stream
  18. 17 0004 9091 0000 lds r25,(stream)+1
  19. 18 /* epilogue: frame size=0 */
  20. 19 0008 0895 ret
  21. 20 /* epilogue end (size=1) */
  22. 21 /* function Uart0DriverGetStream size 5 (4) */
  23. 22 .size Uart0DriverGetStream, .-Uart0DriverGetStream
  24. 23 .global Uart0DriverStop
  25. 24 .type Uart0DriverStop, @function
  26. 25 Uart0DriverStop:
  27. 26 /* prologue: frame size=0 */
  28. 27 /* prologue end (size=0) */
  29. 28 000a 8091 0000 lds r24,stream
  30. 29 000e 9091 0000 lds r25,(stream)+1
  31. 30 0012 0097 sbiw r24,0
  32. 31 0014 01F0 breq .L6
  33. 32 0016 0E94 0000 call fclose
  34. 33 001a 1092 0000 sts (stream)+1,__zero_reg__
  35. 34 001e 1092 0000 sts stream,__zero_reg__
  36. 35 .L6:
  37. 36 0022 0895 ret
  38. 37 /* epilogue: frame size=0 */
  39. 38 /* epilogue: noreturn */
  40. 39 /* epilogue end (size=0) */
  41. 40 /* function Uart0DriverStop size 13 (13) */
  42. 41 .size Uart0DriverStop, .-Uart0DriverStop
  43. 42 .global Uart0DriverSetCookedMode
  44. 43 .type Uart0DriverSetCookedMode, @function
  45. 44 Uart0DriverSetCookedMode:
  46. 45 /* prologue: frame size=4 */
  47. 46 0024 CF93 push r28
  48. 47 0026 DF93 push r29
  49. 48 0028 CDB7 in r28,__SP_L__
  50. 49 002a DEB7 in r29,__SP_H__
  51. 50 002c 2497 sbiw r28,4
  52. 51 002e 0FB6 in __tmp_reg__,__SREG__
  53. 52 0030 F894 cli
  54. 53 0032 DEBF out __SP_H__,r29
  55. 54 0034 0FBE out __SREG__,__tmp_reg__
  56. 55 0036 CDBF out __SP_L__,r28
  57. 56 /* prologue end (size=10) */
  58. 57 0038 6983 std Y+1,r22
  59. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 2
  60. 58 003a 7A83 std Y+2,r23
  61. 59 003c 8B83 std Y+3,r24
  62. 60 003e 9C83 std Y+4,r25
  63. 61 0040 8091 0000 lds r24,stream
  64. 62 0044 9091 0000 lds r25,(stream)+1
  65. 63 0048 0E94 0000 call _fileno
  66. 64 004c AE01 movw r20,r28
  67. 65 004e 4F5F subi r20,lo8(-(1))
  68. 66 0050 5F4F sbci r21,hi8(-(1))
  69. 67 0052 63E1 ldi r22,lo8(275)
  70. 68 0054 71E0 ldi r23,hi8(275)
  71. 69 0056 0E94 0000 call _ioctl
  72. 70 /* epilogue: frame size=4 */
  73. 71 005a 2496 adiw r28,4
  74. 72 005c 0FB6 in __tmp_reg__,__SREG__
  75. 73 005e F894 cli
  76. 74 0060 DEBF out __SP_H__,r29
  77. 75 0062 0FBE out __SREG__,__tmp_reg__
  78. 76 0064 CDBF out __SP_L__,r28
  79. 77 0066 DF91 pop r29
  80. 78 0068 CF91 pop r28
  81. 79 006a 0895 ret
  82. 80 /* epilogue end (size=9) */
  83. 81 /* function Uart0DriverSetCookedMode size 36 (17) */
  84. 82 .size Uart0DriverSetCookedMode, .-Uart0DriverSetCookedMode
  85. 83 .global Uart0DriverStart
  86. 84 .type Uart0DriverStart, @function
  87. 85 Uart0DriverStart:
  88. 86 /* prologue: frame size=13 */
  89. 87 006c EF92 push r14
  90. 88 006e FF92 push r15
  91. 89 0070 0F93 push r16
  92. 90 0072 1F93 push r17
  93. 91 0074 CF93 push r28
  94. 92 0076 DF93 push r29
  95. 93 0078 CDB7 in r28,__SP_L__
  96. 94 007a DEB7 in r29,__SP_H__
  97. 95 007c 2D97 sbiw r28,13
  98. 96 007e 0FB6 in __tmp_reg__,__SREG__
  99. 97 0080 F894 cli
  100. 98 0082 DEBF out __SP_H__,r29
  101. 99 0084 0FBE out __SREG__,__tmp_reg__
  102. 100 0086 CDBF out __SP_L__,r28
  103. 101 /* prologue end (size=14) */
  104. 102 0088 80E0 ldi r24,lo8(115200)
  105. 103 008a 92EC ldi r25,hi8(115200)
  106. 104 008c A1E0 ldi r26,hlo8(115200)
  107. 105 008e B0E0 ldi r27,hhi8(115200)
  108. 106 0090 8C83 std Y+4,r24
  109. 107 0092 9D83 std Y+5,r25
  110. 108 0094 AE83 std Y+6,r26
  111. 109 0096 BF83 std Y+7,r27
  112. 110 0098 88E0 ldi r24,lo8(8)
  113. 111 009a E82E mov r14,r24
  114. 112 009c F12C mov r15,__zero_reg__
  115. 113 009e EC0E add r14,r28
  116. 114 00a0 FD1E adc r15,r29
  117. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 3
  118. 115 00a2 60E0 ldi r22,lo8(__c.2308)
  119. 116 00a4 70E0 ldi r23,hi8(__c.2308)
  120. 117 00a6 C701 movw r24,r14
  121. 118 00a8 0E94 0000 call strcpy_P
  122. 119 00ac 60E0 ldi r22,lo8(__c.2310)
  123. 120 00ae 70E0 ldi r23,hi8(__c.2310)
  124. 121 00b0 8E01 movw r16,r28
  125. 122 00b2 0F5F subi r16,lo8(-(1))
  126. 123 00b4 1F4F sbci r17,hi8(-(1))
  127. 124 00b6 C801 movw r24,r16
  128. 125 00b8 0E94 0000 call strcpy_P
  129. 126 00bc 4091 0000 lds r20,__iob+2
  130. 127 00c0 5091 0000 lds r21,(__iob+2)+1
  131. 128 00c4 B801 movw r22,r16
  132. 129 00c6 C701 movw r24,r14
  133. 130 00c8 0E94 0000 call freopen
  134. 131 00cc 9093 0000 sts (stream)+1,r25
  135. 132 00d0 8093 0000 sts stream,r24
  136. 133 00d4 0097 sbiw r24,0
  137. 134 00d6 01F0 breq .L12
  138. 135 00d8 0E94 0000 call _fileno
  139. 136 00dc AE01 movw r20,r28
  140. 137 00de 4C5F subi r20,lo8(-(4))
  141. 138 00e0 5F4F sbci r21,hi8(-(4))
  142. 139 00e2 61E0 ldi r22,lo8(257)
  143. 140 00e4 71E0 ldi r23,hi8(257)
  144. 141 00e6 0E94 0000 call _ioctl
  145. 142 .L12:
  146. 143 /* epilogue: frame size=13 */
  147. 144 00ea 2D96 adiw r28,13
  148. 145 00ec 0FB6 in __tmp_reg__,__SREG__
  149. 146 00ee F894 cli
  150. 147 00f0 DEBF out __SP_H__,r29
  151. 148 00f2 0FBE out __SREG__,__tmp_reg__
  152. 149 00f4 CDBF out __SP_L__,r28
  153. 150 00f6 DF91 pop r29
  154. 151 00f8 CF91 pop r28
  155. 152 00fa 1F91 pop r17
  156. 153 00fc 0F91 pop r16
  157. 154 00fe FF90 pop r15
  158. 155 0100 EF90 pop r14
  159. 156 0102 0895 ret
  160. 157 /* epilogue end (size=13) */
  161. 158 /* function Uart0DriverStart size 76 (49) */
  162. 159 .size Uart0DriverStart, .-Uart0DriverStart
  163. 160 .global Uart0DriverInit
  164. 161 .type Uart0DriverInit, @function
  165. 162 Uart0DriverInit:
  166. 163 /* prologue: frame size=0 */
  167. 164 /* prologue end (size=0) */
  168. 165 0104 1092 0000 sts (stream)+1,__zero_reg__
  169. 166 0108 1092 0000 sts stream,__zero_reg__
  170. 167 010c 40E0 ldi r20,lo8(0)
  171. 168 010e 60E0 ldi r22,lo8(0)
  172. 169 0110 70E0 ldi r23,hi8(0)
  173. 170 0112 80E0 ldi r24,lo8(devUart0)
  174. 171 0114 90E0 ldi r25,hi8(devUart0)
  175. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 4
  176. 172 0116 0E94 0000 call NutRegisterDevice
  177. 173 /* epilogue: frame size=0 */
  178. 174 011a 0895 ret
  179. 175 /* epilogue end (size=1) */
  180. 176 /* function Uart0DriverInit size 12 (11) */
  181. 177 .size Uart0DriverInit, .-Uart0DriverInit
  182. 178 .lcomm stream,2
  183. 179 .section .progmem.data,"a",@progbits
  184. 180 .type __c.2310, @object
  185. 181 .size __c.2310, 2
  186. 182 __c.2310:
  187. 183 0000 7700 .string "w"
  188. 184 .type __c.2308, @object
  189. 185 .size __c.2308, 6
  190. 186 __c.2308:
  191. 187 0002 7561 7274 .string "uart0"
  192. 187 3000
  193. 188 /* File "source/uart0driver.c": code 142 = 0x008e ( 94), prologues 24, epilogues 24 */
  194. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 5
  195. DEFINED SYMBOLS
  196. *ABS*:00000000 uart0driver.c
  197. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:3 *ABS*:0000003f __SREG__
  198. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:4 *ABS*:0000003e __SP_H__
  199. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:5 *ABS*:0000003d __SP_L__
  200. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:6 *ABS*:00000000 __tmp_reg__
  201. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:7 *ABS*:00000001 __zero_reg__
  202. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:13 .text:00000000 Uart0DriverGetStream
  203. .bss:00000000 stream
  204. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:25 .text:0000000a Uart0DriverStop
  205. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:44 .text:00000024 Uart0DriverSetCookedMode
  206. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:85 .text:0000006c Uart0DriverStart
  207. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:186 .progmem.data:00000002 __c.2308
  208. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:182 .progmem.data:00000000 __c.2310
  209. C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:162 .text:00000104 Uart0DriverInit
  210. UNDEFINED SYMBOLS
  211. __do_copy_data
  212. __do_clear_bss
  213. fclose
  214. _fileno
  215. _ioctl
  216. strcpy_P
  217. __iob
  218. freopen
  219. devUart0
  220. NutRegisterDevice