gpio_avr.lst 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415
  1. GAS LISTING /tmp/cchAGnu4.s page 1
  2. 1 .file "gpio_avr.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.GpioPinGet,"ax",@progbits
  10. 9 .global GpioPinGet
  11. 10 .type GpioPinGet, @function
  12. 11 GpioPinGet:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 FC01 movw r30,r24
  18. 17 0002 3197 sbiw r30,1
  19. 18 0004 E730 cpi r30,7
  20. 19 0006 F105 cpc r31,__zero_reg__
  21. 20 0008 00F4 brsh .L11
  22. 21 000a 8827 clr r24
  23. 22 000c E050 subi r30,pm_lo8(-(.L4))
  24. 23 000e F040 sbci r31,pm_hi8(-(.L4))
  25. 24 0010 8040 sbci r24,pm_hh8(-(.L4))
  26. 25 0012 0C94 0000 jmp __tablejump2__
  27. 26 .section .progmem.gcc_sw_table.GpioPinGet,"a",@progbits
  28. 27 .p2align 1
  29. 28 .L4:
  30. 29 0000 0000 .word gs(.L3)
  31. 30 0002 0000 .word gs(.L5)
  32. 31 0004 0000 .word gs(.L6)
  33. 32 0006 0000 .word gs(.L7)
  34. 33 0008 0000 .word gs(.L8)
  35. 34 000a 0000 .word gs(.L9)
  36. 35 000c 0000 .word gs(.L10)
  37. 36 .section .text.GpioPinGet
  38. 37 .L3:
  39. 38 0016 80B1 in r24,0
  40. 39 0018 00C0 rjmp .L12
  41. 40 .L5:
  42. 41 001a 83B1 in r24,0x3
  43. 42 001c 00C0 rjmp .L12
  44. 43 .L6:
  45. 44 001e 86B1 in r24,0x6
  46. 45 0020 00C0 rjmp .L12
  47. 46 .L7:
  48. 47 0022 89B1 in r24,0x9
  49. 48 0024 00C0 rjmp .L12
  50. 49 .L8:
  51. 50 0026 8CB1 in r24,0xc
  52. 51 0028 00C0 rjmp .L12
  53. 52 .L9:
  54. 53 002a 8FB1 in r24,0xf
  55. 54 002c 00C0 rjmp .L12
  56. 55 .L10:
  57. 56 002e 82B3 in r24,0x12
  58. 57 .L12:
  59. GAS LISTING /tmp/cchAGnu4.s page 2
  60. 58 0030 90E0 ldi r25,0
  61. 59 0032 00C0 rjmp 2f
  62. 60 1:
  63. 61 0034 9595 asr r25
  64. 62 0036 8795 ror r24
  65. 63 2:
  66. 64 0038 6A95 dec r22
  67. 65 003a 02F4 brpl 1b
  68. 66 003c 8170 andi r24,1
  69. 67 003e 9927 clr r25
  70. 68 0040 0895 ret
  71. 69 .L11:
  72. 70 0042 80E0 ldi r24,0
  73. 71 0044 90E0 ldi r25,0
  74. 72 0046 0895 ret
  75. 73 .size GpioPinGet, .-GpioPinGet
  76. 74 .section .text.GpioPinSetLow,"ax",@progbits
  77. 75 .global GpioPinSetLow
  78. 76 .type GpioPinSetLow, @function
  79. 77 GpioPinSetLow:
  80. 78 /* prologue: function */
  81. 79 /* frame size = 0 */
  82. 80 /* stack size = 0 */
  83. 81 .L__stack_usage = 0
  84. 82 0000 FC01 movw r30,r24
  85. 83 0002 3197 sbiw r30,1
  86. 84 0004 E730 cpi r30,7
  87. 85 0006 F105 cpc r31,__zero_reg__
  88. 86 0008 00F0 brlo .+2
  89. 87 000a 00C0 rjmp .L14
  90. 88 000c 8827 clr r24
  91. 89 000e E050 subi r30,pm_lo8(-(.L17))
  92. 90 0010 F040 sbci r31,pm_hi8(-(.L17))
  93. 91 0012 8040 sbci r24,pm_hh8(-(.L17))
  94. 92 0014 0C94 0000 jmp __tablejump2__
  95. 93 .section .progmem.gcc_sw_table.GpioPinSetLow,"a",@progbits
  96. 94 .p2align 1
  97. 95 .L17:
  98. 96 0000 0000 .word gs(.L16)
  99. 97 0002 0000 .word gs(.L18)
  100. 98 0004 0000 .word gs(.L19)
  101. 99 0006 0000 .word gs(.L20)
  102. 100 0008 0000 .word gs(.L21)
  103. 101 000a 0000 .word gs(.L22)
  104. 102 000c 0000 .word gs(.L23)
  105. 103 .section .text.GpioPinSetLow
  106. 104 .L16:
  107. 105 0018 22B1 in r18,0x2
  108. 106 001a 81E0 ldi r24,lo8(1)
  109. 107 001c 90E0 ldi r25,0
  110. 108 001e 00C0 rjmp 2f
  111. 109 1:
  112. 110 0020 880F lsl r24
  113. 111 2:
  114. 112 0022 6A95 dec r22
  115. 113 0024 02F4 brpl 1b
  116. 114 0026 8095 com r24
  117. GAS LISTING /tmp/cchAGnu4.s page 3
  118. 115 0028 8223 and r24,r18
  119. 116 002a 82B9 out 0x2,r24
  120. 117 002c 0895 ret
  121. 118 .L18:
  122. 119 002e 25B1 in r18,0x5
  123. 120 0030 81E0 ldi r24,lo8(1)
  124. 121 0032 90E0 ldi r25,0
  125. 122 0034 00C0 rjmp 2f
  126. 123 1:
  127. 124 0036 880F lsl r24
  128. 125 2:
  129. 126 0038 6A95 dec r22
  130. 127 003a 02F4 brpl 1b
  131. 128 003c 8095 com r24
  132. 129 003e 8223 and r24,r18
  133. 130 0040 85B9 out 0x5,r24
  134. 131 0042 0895 ret
  135. 132 .L19:
  136. 133 0044 28B1 in r18,0x8
  137. 134 0046 81E0 ldi r24,lo8(1)
  138. 135 0048 90E0 ldi r25,0
  139. 136 004a 00C0 rjmp 2f
  140. 137 1:
  141. 138 004c 880F lsl r24
  142. 139 2:
  143. 140 004e 6A95 dec r22
  144. 141 0050 02F4 brpl 1b
  145. 142 0052 8095 com r24
  146. 143 0054 8223 and r24,r18
  147. 144 0056 88B9 out 0x8,r24
  148. 145 0058 0895 ret
  149. 146 .L20:
  150. 147 005a 2BB1 in r18,0xb
  151. 148 005c 81E0 ldi r24,lo8(1)
  152. 149 005e 90E0 ldi r25,0
  153. 150 0060 00C0 rjmp 2f
  154. 151 1:
  155. 152 0062 880F lsl r24
  156. 153 2:
  157. 154 0064 6A95 dec r22
  158. 155 0066 02F4 brpl 1b
  159. 156 0068 8095 com r24
  160. 157 006a 8223 and r24,r18
  161. 158 006c 8BB9 out 0xb,r24
  162. 159 006e 0895 ret
  163. 160 .L21:
  164. 161 0070 2EB1 in r18,0xe
  165. 162 0072 81E0 ldi r24,lo8(1)
  166. 163 0074 90E0 ldi r25,0
  167. 164 0076 00C0 rjmp 2f
  168. 165 1:
  169. 166 0078 880F lsl r24
  170. 167 2:
  171. 168 007a 6A95 dec r22
  172. 169 007c 02F4 brpl 1b
  173. 170 007e 8095 com r24
  174. 171 0080 8223 and r24,r18
  175. GAS LISTING /tmp/cchAGnu4.s page 4
  176. 172 0082 8EB9 out 0xe,r24
  177. 173 0084 0895 ret
  178. 174 .L22:
  179. 175 0086 21B3 in r18,0x11
  180. 176 0088 81E0 ldi r24,lo8(1)
  181. 177 008a 90E0 ldi r25,0
  182. 178 008c 00C0 rjmp 2f
  183. 179 1:
  184. 180 008e 880F lsl r24
  185. 181 2:
  186. 182 0090 6A95 dec r22
  187. 183 0092 02F4 brpl 1b
  188. 184 0094 8095 com r24
  189. 185 0096 8223 and r24,r18
  190. 186 0098 81BB out 0x11,r24
  191. 187 009a 0895 ret
  192. 188 .L23:
  193. 189 009c 24B3 in r18,0x14
  194. 190 009e 81E0 ldi r24,lo8(1)
  195. 191 00a0 90E0 ldi r25,0
  196. 192 00a2 00C0 rjmp 2f
  197. 193 1:
  198. 194 00a4 880F lsl r24
  199. 195 2:
  200. 196 00a6 6A95 dec r22
  201. 197 00a8 02F4 brpl 1b
  202. 198 00aa 8095 com r24
  203. 199 00ac 8223 and r24,r18
  204. 200 00ae 84BB out 0x14,r24
  205. 201 .L14:
  206. 202 00b0 0895 ret
  207. 203 .size GpioPinSetLow, .-GpioPinSetLow
  208. 204 .section .text.GpioPinSetHigh,"ax",@progbits
  209. 205 .global GpioPinSetHigh
  210. 206 .type GpioPinSetHigh, @function
  211. 207 GpioPinSetHigh:
  212. 208 /* prologue: function */
  213. 209 /* frame size = 0 */
  214. 210 /* stack size = 0 */
  215. 211 .L__stack_usage = 0
  216. 212 0000 FC01 movw r30,r24
  217. 213 0002 3197 sbiw r30,1
  218. 214 0004 E730 cpi r30,7
  219. 215 0006 F105 cpc r31,__zero_reg__
  220. 216 0008 00F0 brlo .+2
  221. 217 000a 00C0 rjmp .L24
  222. 218 000c 8827 clr r24
  223. 219 000e E050 subi r30,pm_lo8(-(.L27))
  224. 220 0010 F040 sbci r31,pm_hi8(-(.L27))
  225. 221 0012 8040 sbci r24,pm_hh8(-(.L27))
  226. 222 0014 0C94 0000 jmp __tablejump2__
  227. 223 .section .progmem.gcc_sw_table.GpioPinSetHigh,"a",@progbits
  228. 224 .p2align 1
  229. 225 .L27:
  230. 226 0000 0000 .word gs(.L26)
  231. 227 0002 0000 .word gs(.L28)
  232. 228 0004 0000 .word gs(.L29)
  233. GAS LISTING /tmp/cchAGnu4.s page 5
  234. 229 0006 0000 .word gs(.L30)
  235. 230 0008 0000 .word gs(.L31)
  236. 231 000a 0000 .word gs(.L32)
  237. 232 000c 0000 .word gs(.L33)
  238. 233 .section .text.GpioPinSetHigh
  239. 234 .L26:
  240. 235 0018 22B1 in r18,0x2
  241. 236 001a 81E0 ldi r24,lo8(1)
  242. 237 001c 90E0 ldi r25,0
  243. 238 001e 00C0 rjmp 2f
  244. 239 1:
  245. 240 0020 880F lsl r24
  246. 241 2:
  247. 242 0022 6A95 dec r22
  248. 243 0024 02F4 brpl 1b
  249. 244 0026 822B or r24,r18
  250. 245 0028 82B9 out 0x2,r24
  251. 246 002a 0895 ret
  252. 247 .L28:
  253. 248 002c 25B1 in r18,0x5
  254. 249 002e 81E0 ldi r24,lo8(1)
  255. 250 0030 90E0 ldi r25,0
  256. 251 0032 00C0 rjmp 2f
  257. 252 1:
  258. 253 0034 880F lsl r24
  259. 254 2:
  260. 255 0036 6A95 dec r22
  261. 256 0038 02F4 brpl 1b
  262. 257 003a 822B or r24,r18
  263. 258 003c 85B9 out 0x5,r24
  264. 259 003e 0895 ret
  265. 260 .L29:
  266. 261 0040 28B1 in r18,0x8
  267. 262 0042 81E0 ldi r24,lo8(1)
  268. 263 0044 90E0 ldi r25,0
  269. 264 0046 00C0 rjmp 2f
  270. 265 1:
  271. 266 0048 880F lsl r24
  272. 267 2:
  273. 268 004a 6A95 dec r22
  274. 269 004c 02F4 brpl 1b
  275. 270 004e 822B or r24,r18
  276. 271 0050 88B9 out 0x8,r24
  277. 272 0052 0895 ret
  278. 273 .L30:
  279. 274 0054 2BB1 in r18,0xb
  280. 275 0056 81E0 ldi r24,lo8(1)
  281. 276 0058 90E0 ldi r25,0
  282. 277 005a 00C0 rjmp 2f
  283. 278 1:
  284. 279 005c 880F lsl r24
  285. 280 2:
  286. 281 005e 6A95 dec r22
  287. 282 0060 02F4 brpl 1b
  288. 283 0062 822B or r24,r18
  289. 284 0064 8BB9 out 0xb,r24
  290. 285 0066 0895 ret
  291. GAS LISTING /tmp/cchAGnu4.s page 6
  292. 286 .L31:
  293. 287 0068 2EB1 in r18,0xe
  294. 288 006a 81E0 ldi r24,lo8(1)
  295. 289 006c 90E0 ldi r25,0
  296. 290 006e 00C0 rjmp 2f
  297. 291 1:
  298. 292 0070 880F lsl r24
  299. 293 2:
  300. 294 0072 6A95 dec r22
  301. 295 0074 02F4 brpl 1b
  302. 296 0076 822B or r24,r18
  303. 297 0078 8EB9 out 0xe,r24
  304. 298 007a 0895 ret
  305. 299 .L32:
  306. 300 007c 21B3 in r18,0x11
  307. 301 007e 81E0 ldi r24,lo8(1)
  308. 302 0080 90E0 ldi r25,0
  309. 303 0082 00C0 rjmp 2f
  310. 304 1:
  311. 305 0084 880F lsl r24
  312. 306 2:
  313. 307 0086 6A95 dec r22
  314. 308 0088 02F4 brpl 1b
  315. 309 008a 822B or r24,r18
  316. 310 008c 81BB out 0x11,r24
  317. 311 008e 0895 ret
  318. 312 .L33:
  319. 313 0090 24B3 in r18,0x14
  320. 314 0092 81E0 ldi r24,lo8(1)
  321. 315 0094 90E0 ldi r25,0
  322. 316 0096 00C0 rjmp 2f
  323. 317 1:
  324. 318 0098 880F lsl r24
  325. 319 2:
  326. 320 009a 6A95 dec r22
  327. 321 009c 02F4 brpl 1b
  328. 322 009e 822B or r24,r18
  329. 323 00a0 84BB out 0x14,r24
  330. 324 .L24:
  331. 325 00a2 0895 ret
  332. 326 .size GpioPinSetHigh, .-GpioPinSetHigh
  333. 327 .section .text.GpioPinSet,"ax",@progbits
  334. 328 .global GpioPinSet
  335. 329 .type GpioPinSet, @function
  336. 330 GpioPinSet:
  337. 331 /* prologue: function */
  338. 332 /* frame size = 0 */
  339. 333 /* stack size = 0 */
  340. 334 .L__stack_usage = 0
  341. 335 0000 452B or r20,r21
  342. 336 0002 01F0 breq .L35
  343. 337 0004 0C94 0000 jmp GpioPinSetHigh
  344. 338 .L35:
  345. 339 0008 0C94 0000 jmp GpioPinSetLow
  346. 340 .size GpioPinSet, .-GpioPinSet
  347. 341 .section .text.GpioPortGet,"ax",@progbits
  348. 342 .global GpioPortGet
  349. GAS LISTING /tmp/cchAGnu4.s page 7
  350. 343 .type GpioPortGet, @function
  351. 344 GpioPortGet:
  352. 345 /* prologue: function */
  353. 346 /* frame size = 0 */
  354. 347 /* stack size = 0 */
  355. 348 .L__stack_usage = 0
  356. 349 0000 FC01 movw r30,r24
  357. 350 0002 3197 sbiw r30,1
  358. 351 0004 E730 cpi r30,7
  359. 352 0006 F105 cpc r31,__zero_reg__
  360. 353 0008 00F4 brsh .L46
  361. 354 000a 8827 clr r24
  362. 355 000c E050 subi r30,pm_lo8(-(.L39))
  363. 356 000e F040 sbci r31,pm_hi8(-(.L39))
  364. 357 0010 8040 sbci r24,pm_hh8(-(.L39))
  365. 358 0012 0C94 0000 jmp __tablejump2__
  366. 359 .section .progmem.gcc_sw_table.GpioPortGet,"a",@progbits
  367. 360 .p2align 1
  368. 361 .L39:
  369. 362 0000 0000 .word gs(.L38)
  370. 363 0002 0000 .word gs(.L40)
  371. 364 0004 0000 .word gs(.L41)
  372. 365 0006 0000 .word gs(.L42)
  373. 366 0008 0000 .word gs(.L43)
  374. 367 000a 0000 .word gs(.L44)
  375. 368 000c 0000 .word gs(.L45)
  376. 369 .section .text.GpioPortGet
  377. 370 .L38:
  378. 371 0016 80B1 in r24,0
  379. 372 0018 00C0 rjmp .L47
  380. 373 .L40:
  381. 374 001a 83B1 in r24,0x3
  382. 375 001c 00C0 rjmp .L47
  383. 376 .L41:
  384. 377 001e 86B1 in r24,0x6
  385. 378 0020 00C0 rjmp .L47
  386. 379 .L42:
  387. 380 0022 89B1 in r24,0x9
  388. 381 0024 00C0 rjmp .L47
  389. 382 .L43:
  390. 383 0026 8CB1 in r24,0xc
  391. 384 0028 00C0 rjmp .L47
  392. 385 .L44:
  393. 386 002a 8FB1 in r24,0xf
  394. 387 002c 00C0 rjmp .L47
  395. 388 .L45:
  396. 389 002e 82B3 in r24,0x12
  397. 390 .L47:
  398. 391 0030 90E0 ldi r25,0
  399. 392 0032 0895 ret
  400. 393 .L46:
  401. 394 0034 80E0 ldi r24,0
  402. 395 0036 90E0 ldi r25,0
  403. 396 0038 0895 ret
  404. 397 .size GpioPortGet, .-GpioPortGet
  405. 398 .section .text.GpioPortSet,"ax",@progbits
  406. 399 .global GpioPortSet
  407. GAS LISTING /tmp/cchAGnu4.s page 8
  408. 400 .type GpioPortSet, @function
  409. 401 GpioPortSet:
  410. 402 /* prologue: function */
  411. 403 /* frame size = 0 */
  412. 404 /* stack size = 0 */
  413. 405 .L__stack_usage = 0
  414. 406 0000 FC01 movw r30,r24
  415. 407 0002 3197 sbiw r30,1
  416. 408 0004 E730 cpi r30,7
  417. 409 0006 F105 cpc r31,__zero_reg__
  418. 410 0008 00F4 brsh .L48
  419. 411 000a 8827 clr r24
  420. 412 000c E050 subi r30,pm_lo8(-(.L51))
  421. 413 000e F040 sbci r31,pm_hi8(-(.L51))
  422. 414 0010 8040 sbci r24,pm_hh8(-(.L51))
  423. 415 0012 0C94 0000 jmp __tablejump2__
  424. 416 .section .progmem.gcc_sw_table.GpioPortSet,"a",@progbits
  425. 417 .p2align 1
  426. 418 .L51:
  427. 419 0000 0000 .word gs(.L50)
  428. 420 0002 0000 .word gs(.L52)
  429. 421 0004 0000 .word gs(.L53)
  430. 422 0006 0000 .word gs(.L54)
  431. 423 0008 0000 .word gs(.L55)
  432. 424 000a 0000 .word gs(.L56)
  433. 425 000c 0000 .word gs(.L57)
  434. 426 .section .text.GpioPortSet
  435. 427 .L50:
  436. 428 0016 62B9 out 0x2,r22
  437. 429 0018 0895 ret
  438. 430 .L52:
  439. 431 001a 65B9 out 0x5,r22
  440. 432 001c 0895 ret
  441. 433 .L53:
  442. 434 001e 68B9 out 0x8,r22
  443. 435 0020 0895 ret
  444. 436 .L54:
  445. 437 0022 6BB9 out 0xb,r22
  446. 438 0024 0895 ret
  447. 439 .L55:
  448. 440 0026 6EB9 out 0xe,r22
  449. 441 0028 0895 ret
  450. 442 .L56:
  451. 443 002a 61BB out 0x11,r22
  452. 444 002c 0895 ret
  453. 445 .L57:
  454. 446 002e 64BB out 0x14,r22
  455. 447 .L48:
  456. 448 0030 0895 ret
  457. 449 .size GpioPortSet, .-GpioPortSet
  458. 450 .section .text.GpioPortSetLow,"ax",@progbits
  459. 451 .global GpioPortSetLow
  460. 452 .type GpioPortSetLow, @function
  461. 453 GpioPortSetLow:
  462. 454 0000 0F93 push r16
  463. 455 0002 1F93 push r17
  464. 456 0004 CF93 push r28
  465. GAS LISTING /tmp/cchAGnu4.s page 9
  466. 457 0006 DF93 push r29
  467. 458 /* prologue: function */
  468. 459 /* frame size = 0 */
  469. 460 /* stack size = 4 */
  470. 461 .L__stack_usage = 4
  471. 462 0008 8C01 movw r16,r24
  472. 463 000a EB01 movw r28,r22
  473. 464 000c 0E94 0000 call GpioPortGet
  474. 465 0010 C095 com r28
  475. 466 0012 D095 com r29
  476. 467 0014 BE01 movw r22,r28
  477. 468 0016 6823 and r22,r24
  478. 469 0018 7923 and r23,r25
  479. 470 001a C801 movw r24,r16
  480. 471 /* epilogue start */
  481. 472 001c DF91 pop r29
  482. 473 001e CF91 pop r28
  483. 474 0020 1F91 pop r17
  484. 475 0022 0F91 pop r16
  485. 476 0024 0C94 0000 jmp GpioPortSet
  486. 477 .size GpioPortSetLow, .-GpioPortSetLow
  487. 478 .section .text.GpioPortSetHigh,"ax",@progbits
  488. 479 .global GpioPortSetHigh
  489. 480 .type GpioPortSetHigh, @function
  490. 481 GpioPortSetHigh:
  491. 482 0000 0F93 push r16
  492. 483 0002 1F93 push r17
  493. 484 0004 CF93 push r28
  494. 485 0006 DF93 push r29
  495. 486 /* prologue: function */
  496. 487 /* frame size = 0 */
  497. 488 /* stack size = 4 */
  498. 489 .L__stack_usage = 4
  499. 490 0008 8C01 movw r16,r24
  500. 491 000a EB01 movw r28,r22
  501. 492 000c 0E94 0000 call GpioPortGet
  502. 493 0010 BC01 movw r22,r24
  503. 494 0012 6C2B or r22,r28
  504. 495 0014 7D2B or r23,r29
  505. 496 0016 C801 movw r24,r16
  506. 497 /* epilogue start */
  507. 498 0018 DF91 pop r29
  508. 499 001a CF91 pop r28
  509. 500 001c 1F91 pop r17
  510. 501 001e 0F91 pop r16
  511. 502 0020 0C94 0000 jmp GpioPortSet
  512. 503 .size GpioPortSetHigh, .-GpioPortSetHigh
  513. 504 .section .text.GpioPinConfigGet,"ax",@progbits
  514. 505 .global GpioPinConfigGet
  515. 506 .type GpioPinConfigGet, @function
  516. 507 GpioPinConfigGet:
  517. 508 /* prologue: function */
  518. 509 /* frame size = 0 */
  519. 510 /* stack size = 0 */
  520. 511 .L__stack_usage = 0
  521. 512 0000 FC01 movw r30,r24
  522. 513 0002 3197 sbiw r30,1
  523. GAS LISTING /tmp/cchAGnu4.s page 10
  524. 514 0004 E730 cpi r30,7
  525. 515 0006 F105 cpc r31,__zero_reg__
  526. 516 0008 00F0 brlo .+2
  527. 517 000a 00C0 rjmp .L84
  528. 518 000c 8827 clr r24
  529. 519 000e E050 subi r30,pm_lo8(-(.L63))
  530. 520 0010 F040 sbci r31,pm_hi8(-(.L63))
  531. 521 0012 8040 sbci r24,pm_hh8(-(.L63))
  532. 522 0014 0C94 0000 jmp __tablejump2__
  533. 523 .section .progmem.gcc_sw_table.GpioPinConfigGet,"a",@progbits
  534. 524 .p2align 1
  535. 525 .L63:
  536. 526 0000 0000 .word gs(.L62)
  537. 527 0002 0000 .word gs(.L64)
  538. 528 0004 0000 .word gs(.L65)
  539. 529 0006 0000 .word gs(.L66)
  540. 530 0008 0000 .word gs(.L67)
  541. 531 000a 0000 .word gs(.L68)
  542. 532 000c 0000 .word gs(.L69)
  543. 533 .section .text.GpioPinConfigGet
  544. 534 .L62:
  545. 535 0018 81B1 in r24,0x1
  546. 536 001a 90E0 ldi r25,0
  547. 537 001c 062E mov r0,r22
  548. 538 001e 00C0 rjmp 2f
  549. 539 1:
  550. 540 0020 9595 asr r25
  551. 541 0022 8795 ror r24
  552. 542 2:
  553. 543 0024 0A94 dec r0
  554. 544 0026 02F4 brpl 1b
  555. 545 0028 80FD sbrc r24,0
  556. 546 002a 00C0 rjmp .L83
  557. 547 002c 82B1 in r24,0x2
  558. 548 002e 00C0 rjmp .L87
  559. 549 .L64:
  560. 550 0030 84B1 in r24,0x4
  561. 551 0032 90E0 ldi r25,0
  562. 552 0034 062E mov r0,r22
  563. 553 0036 00C0 rjmp 2f
  564. 554 1:
  565. 555 0038 9595 asr r25
  566. 556 003a 8795 ror r24
  567. 557 2:
  568. 558 003c 0A94 dec r0
  569. 559 003e 02F4 brpl 1b
  570. 560 0040 80FD sbrc r24,0
  571. 561 0042 00C0 rjmp .L83
  572. 562 0044 85B1 in r24,0x5
  573. 563 0046 00C0 rjmp .L87
  574. 564 .L65:
  575. 565 0048 87B1 in r24,0x7
  576. 566 004a 90E0 ldi r25,0
  577. 567 004c 062E mov r0,r22
  578. 568 004e 00C0 rjmp 2f
  579. 569 1:
  580. 570 0050 9595 asr r25
  581. GAS LISTING /tmp/cchAGnu4.s page 11
  582. 571 0052 8795 ror r24
  583. 572 2:
  584. 573 0054 0A94 dec r0
  585. 574 0056 02F4 brpl 1b
  586. 575 0058 80FD sbrc r24,0
  587. 576 005a 00C0 rjmp .L83
  588. 577 005c 88B1 in r24,0x8
  589. 578 005e 00C0 rjmp .L87
  590. 579 .L66:
  591. 580 0060 8AB1 in r24,0xa
  592. 581 0062 90E0 ldi r25,0
  593. 582 0064 062E mov r0,r22
  594. 583 0066 00C0 rjmp 2f
  595. 584 1:
  596. 585 0068 9595 asr r25
  597. 586 006a 8795 ror r24
  598. 587 2:
  599. 588 006c 0A94 dec r0
  600. 589 006e 02F4 brpl 1b
  601. 590 0070 80FD sbrc r24,0
  602. 591 0072 00C0 rjmp .L83
  603. 592 0074 8BB1 in r24,0xb
  604. 593 0076 00C0 rjmp .L87
  605. 594 .L67:
  606. 595 0078 8DB1 in r24,0xd
  607. 596 007a 90E0 ldi r25,0
  608. 597 007c 062E mov r0,r22
  609. 598 007e 00C0 rjmp 2f
  610. 599 1:
  611. 600 0080 9595 asr r25
  612. 601 0082 8795 ror r24
  613. 602 2:
  614. 603 0084 0A94 dec r0
  615. 604 0086 02F4 brpl 1b
  616. 605 0088 80FD sbrc r24,0
  617. 606 008a 00C0 rjmp .L83
  618. 607 008c 8EB1 in r24,0xe
  619. 608 008e 00C0 rjmp .L87
  620. 609 .L68:
  621. 610 0090 80B3 in r24,0x10
  622. 611 0092 90E0 ldi r25,0
  623. 612 0094 062E mov r0,r22
  624. 613 0096 00C0 rjmp 2f
  625. 614 1:
  626. 615 0098 9595 asr r25
  627. 616 009a 8795 ror r24
  628. 617 2:
  629. 618 009c 0A94 dec r0
  630. 619 009e 02F4 brpl 1b
  631. 620 00a0 80FD sbrc r24,0
  632. 621 00a2 00C0 rjmp .L83
  633. 622 00a4 81B3 in r24,0x11
  634. 623 00a6 00C0 rjmp .L87
  635. 624 .L69:
  636. 625 00a8 83B3 in r24,0x13
  637. 626 00aa 90E0 ldi r25,0
  638. 627 00ac 062E mov r0,r22
  639. GAS LISTING /tmp/cchAGnu4.s page 12
  640. 628 00ae 00C0 rjmp 2f
  641. 629 1:
  642. 630 00b0 9595 asr r25
  643. 631 00b2 8795 ror r24
  644. 632 2:
  645. 633 00b4 0A94 dec r0
  646. 634 00b6 02F4 brpl 1b
  647. 635 00b8 80FD sbrc r24,0
  648. 636 00ba 00C0 rjmp .L83
  649. 637 00bc 84B3 in r24,0x14
  650. 638 .L87:
  651. 639 00be 90E0 ldi r25,0
  652. 640 00c0 00C0 rjmp 2f
  653. 641 1:
  654. 642 00c2 9595 asr r25
  655. 643 00c4 8795 ror r24
  656. 644 2:
  657. 645 00c6 6A95 dec r22
  658. 646 00c8 02F4 brpl 1b
  659. 647 00ca 80FF sbrs r24,0
  660. 648 00cc 00C0 rjmp .L84
  661. 649 00ce 64E0 ldi r22,lo8(4)
  662. 650 00d0 70E0 ldi r23,0
  663. 651 00d2 80E0 ldi r24,0
  664. 652 00d4 90E0 ldi r25,0
  665. 653 00d6 0895 ret
  666. 654 .L83:
  667. 655 00d8 62E0 ldi r22,lo8(2)
  668. 656 00da 70E0 ldi r23,0
  669. 657 00dc 80E0 ldi r24,0
  670. 658 00de 90E0 ldi r25,0
  671. 659 00e0 0895 ret
  672. 660 .L84:
  673. 661 00e2 60E0 ldi r22,0
  674. 662 00e4 70E0 ldi r23,0
  675. 663 00e6 CB01 movw r24,r22
  676. 664 00e8 0895 ret
  677. 665 .size GpioPinConfigGet, .-GpioPinConfigGet
  678. 666 .section .text.GpioPortConfigSet,"ax",@progbits
  679. 667 .global GpioPortConfigSet
  680. 668 .type GpioPortConfigSet, @function
  681. 669 GpioPortConfigSet:
  682. 670 0000 CF92 push r12
  683. 671 0002 DF92 push r13
  684. 672 0004 EF92 push r14
  685. 673 0006 FF92 push r15
  686. 674 0008 0F93 push r16
  687. 675 000a 1F93 push r17
  688. 676 /* prologue: function */
  689. 677 /* frame size = 0 */
  690. 678 /* stack size = 6 */
  691. 679 .L__stack_usage = 6
  692. 680 000c FC01 movw r30,r24
  693. 681 000e 3197 sbiw r30,1
  694. 682 0010 E730 cpi r30,7
  695. 683 0012 F105 cpc r31,__zero_reg__
  696. 684 0014 00F0 brlo .+2
  697. GAS LISTING /tmp/cchAGnu4.s page 13
  698. 685 0016 00C0 rjmp .L94
  699. 686 0018 6901 movw r12,r18
  700. 687 001a 7A01 movw r14,r20
  701. 688 001c 84E0 ldi r24,4
  702. 689 001e C822 and r12,r24
  703. 690 0020 DD24 clr r13
  704. 691 0022 EE24 clr r14
  705. 692 0024 FF24 clr r15
  706. 693 0026 8901 movw r16,r18
  707. 694 0028 9A01 movw r18,r20
  708. 695 002a 0270 andi r16,2
  709. 696 002c 1127 clr r17
  710. 697 002e 2227 clr r18
  711. 698 0030 3327 clr r19
  712. 699 0032 8827 clr r24
  713. 700 0034 E050 subi r30,pm_lo8(-(.L96))
  714. 701 0036 F040 sbci r31,pm_hi8(-(.L96))
  715. 702 0038 8040 sbci r24,pm_hh8(-(.L96))
  716. 703 003a 0C94 0000 jmp __tablejump2__
  717. 704 .section .progmem.gcc_sw_table.GpioPortConfigSet,"a",@progbits
  718. 705 .p2align 1
  719. 706 .L96:
  720. 707 0000 0000 .word gs(.L95)
  721. 708 0002 0000 .word gs(.L97)
  722. 709 0004 0000 .word gs(.L98)
  723. 710 0006 0000 .word gs(.L99)
  724. 711 0008 0000 .word gs(.L100)
  725. 712 000a 0000 .word gs(.L101)
  726. 713 000c 0000 .word gs(.L102)
  727. 714 .section .text.GpioPortConfigSet
  728. 715 .L95:
  729. 716 003e 82B1 in r24,0x2
  730. 717 0040 CD28 or r12,r13
  731. 718 0042 CE28 or r12,r14
  732. 719 0044 CF28 or r12,r15
  733. 720 0046 01F0 breq .L103
  734. 721 0048 862B or r24,r22
  735. 722 004a 00C0 rjmp .L124
  736. 723 .L103:
  737. 724 004c 962F mov r25,r22
  738. 725 004e 9095 com r25
  739. 726 0050 8923 and r24,r25
  740. 727 .L124:
  741. 728 0052 82B9 out 0x2,r24
  742. 729 0054 81B1 in r24,0x1
  743. 730 0056 012B or r16,r17
  744. 731 0058 022B or r16,r18
  745. 732 005a 032B or r16,r19
  746. 733 005c 01F0 breq .L105
  747. 734 005e 682B or r22,r24
  748. 735 0060 00C0 rjmp .L131
  749. 736 .L105:
  750. 737 0062 6095 com r22
  751. 738 0064 6823 and r22,r24
  752. 739 .L131:
  753. 740 0066 61B9 out 0x1,r22
  754. 741 0068 00C0 rjmp .L94
  755. GAS LISTING /tmp/cchAGnu4.s page 14
  756. 742 .L97:
  757. 743 006a 85B1 in r24,0x5
  758. 744 006c CD28 or r12,r13
  759. 745 006e CE28 or r12,r14
  760. 746 0070 CF28 or r12,r15
  761. 747 0072 01F0 breq .L106
  762. 748 0074 862B or r24,r22
  763. 749 0076 00C0 rjmp .L125
  764. 750 .L106:
  765. 751 0078 962F mov r25,r22
  766. 752 007a 9095 com r25
  767. 753 007c 8923 and r24,r25
  768. 754 .L125:
  769. 755 007e 85B9 out 0x5,r24
  770. 756 0080 84B1 in r24,0x4
  771. 757 0082 012B or r16,r17
  772. 758 0084 022B or r16,r18
  773. 759 0086 032B or r16,r19
  774. 760 0088 01F0 breq .L108
  775. 761 008a 682B or r22,r24
  776. 762 008c 00C0 rjmp .L133
  777. 763 .L108:
  778. 764 008e 6095 com r22
  779. 765 0090 6823 and r22,r24
  780. 766 .L133:
  781. 767 0092 64B9 out 0x4,r22
  782. 768 0094 00C0 rjmp .L94
  783. 769 .L98:
  784. 770 0096 88B1 in r24,0x8
  785. 771 0098 CD28 or r12,r13
  786. 772 009a CE28 or r12,r14
  787. 773 009c CF28 or r12,r15
  788. 774 009e 01F0 breq .L109
  789. 775 00a0 862B or r24,r22
  790. 776 00a2 00C0 rjmp .L126
  791. 777 .L109:
  792. 778 00a4 962F mov r25,r22
  793. 779 00a6 9095 com r25
  794. 780 00a8 8923 and r24,r25
  795. 781 .L126:
  796. 782 00aa 88B9 out 0x8,r24
  797. 783 00ac 87B1 in r24,0x7
  798. 784 00ae 012B or r16,r17
  799. 785 00b0 022B or r16,r18
  800. 786 00b2 032B or r16,r19
  801. 787 00b4 01F0 breq .L111
  802. 788 00b6 682B or r22,r24
  803. 789 00b8 00C0 rjmp .L134
  804. 790 .L111:
  805. 791 00ba 6095 com r22
  806. 792 00bc 6823 and r22,r24
  807. 793 .L134:
  808. 794 00be 67B9 out 0x7,r22
  809. 795 00c0 00C0 rjmp .L94
  810. 796 .L99:
  811. 797 00c2 8BB1 in r24,0xb
  812. 798 00c4 CD28 or r12,r13
  813. GAS LISTING /tmp/cchAGnu4.s page 15
  814. 799 00c6 CE28 or r12,r14
  815. 800 00c8 CF28 or r12,r15
  816. 801 00ca 01F0 breq .L112
  817. 802 00cc 862B or r24,r22
  818. 803 00ce 00C0 rjmp .L127
  819. 804 .L112:
  820. 805 00d0 962F mov r25,r22
  821. 806 00d2 9095 com r25
  822. 807 00d4 8923 and r24,r25
  823. 808 .L127:
  824. 809 00d6 8BB9 out 0xb,r24
  825. 810 00d8 8AB1 in r24,0xa
  826. 811 00da 012B or r16,r17
  827. 812 00dc 022B or r16,r18
  828. 813 00de 032B or r16,r19
  829. 814 00e0 01F0 breq .L114
  830. 815 00e2 682B or r22,r24
  831. 816 00e4 00C0 rjmp .L135
  832. 817 .L114:
  833. 818 00e6 6095 com r22
  834. 819 00e8 6823 and r22,r24
  835. 820 .L135:
  836. 821 00ea 6AB9 out 0xa,r22
  837. 822 00ec 00C0 rjmp .L94
  838. 823 .L100:
  839. 824 00ee 8EB1 in r24,0xe
  840. 825 00f0 CD28 or r12,r13
  841. 826 00f2 CE28 or r12,r14
  842. 827 00f4 CF28 or r12,r15
  843. 828 00f6 01F0 breq .L115
  844. 829 00f8 862B or r24,r22
  845. 830 00fa 00C0 rjmp .L128
  846. 831 .L115:
  847. 832 00fc 962F mov r25,r22
  848. 833 00fe 9095 com r25
  849. 834 0100 8923 and r24,r25
  850. 835 .L128:
  851. 836 0102 8EB9 out 0xe,r24
  852. 837 0104 8DB1 in r24,0xd
  853. 838 0106 012B or r16,r17
  854. 839 0108 022B or r16,r18
  855. 840 010a 032B or r16,r19
  856. 841 010c 01F0 breq .L117
  857. 842 010e 682B or r22,r24
  858. 843 0110 00C0 rjmp .L136
  859. 844 .L117:
  860. 845 0112 6095 com r22
  861. 846 0114 6823 and r22,r24
  862. 847 .L136:
  863. 848 0116 6DB9 out 0xd,r22
  864. 849 0118 00C0 rjmp .L94
  865. 850 .L101:
  866. 851 011a 81B3 in r24,0x11
  867. 852 011c CD28 or r12,r13
  868. 853 011e CE28 or r12,r14
  869. 854 0120 CF28 or r12,r15
  870. 855 0122 01F0 breq .L118
  871. GAS LISTING /tmp/cchAGnu4.s page 16
  872. 856 0124 862B or r24,r22
  873. 857 0126 00C0 rjmp .L129
  874. 858 .L118:
  875. 859 0128 962F mov r25,r22
  876. 860 012a 9095 com r25
  877. 861 012c 8923 and r24,r25
  878. 862 .L129:
  879. 863 012e 81BB out 0x11,r24
  880. 864 0130 80B3 in r24,0x10
  881. 865 0132 012B or r16,r17
  882. 866 0134 022B or r16,r18
  883. 867 0136 032B or r16,r19
  884. 868 0138 01F0 breq .L120
  885. 869 013a 682B or r22,r24
  886. 870 013c 00C0 rjmp .L137
  887. 871 .L120:
  888. 872 013e 6095 com r22
  889. 873 0140 6823 and r22,r24
  890. 874 .L137:
  891. 875 0142 60BB out 0x10,r22
  892. 876 0144 00C0 rjmp .L94
  893. 877 .L102:
  894. 878 0146 84B3 in r24,0x14
  895. 879 0148 CD28 or r12,r13
  896. 880 014a CE28 or r12,r14
  897. 881 014c CF28 or r12,r15
  898. 882 014e 01F0 breq .L121
  899. 883 0150 862B or r24,r22
  900. 884 0152 00C0 rjmp .L130
  901. 885 .L121:
  902. 886 0154 962F mov r25,r22
  903. 887 0156 9095 com r25
  904. 888 0158 8923 and r24,r25
  905. 889 .L130:
  906. 890 015a 84BB out 0x14,r24
  907. 891 015c 83B3 in r24,0x13
  908. 892 015e 012B or r16,r17
  909. 893 0160 022B or r16,r18
  910. 894 0162 032B or r16,r19
  911. 895 0164 01F0 breq .L123
  912. 896 0166 682B or r22,r24
  913. 897 0168 00C0 rjmp .L132
  914. 898 .L123:
  915. 899 016a 6095 com r22
  916. 900 016c 6823 and r22,r24
  917. 901 .L132:
  918. 902 016e 63BB out 0x13,r22
  919. 903 .L94:
  920. 904 0170 80E0 ldi r24,0
  921. 905 0172 90E0 ldi r25,0
  922. 906 /* epilogue start */
  923. 907 0174 1F91 pop r17
  924. 908 0176 0F91 pop r16
  925. 909 0178 FF90 pop r15
  926. 910 017a EF90 pop r14
  927. 911 017c DF90 pop r13
  928. 912 017e CF90 pop r12
  929. GAS LISTING /tmp/cchAGnu4.s page 17
  930. 913 0180 0895 ret
  931. 914 .size GpioPortConfigSet, .-GpioPortConfigSet
  932. 915 .section .text.GpioPinConfigSet,"ax",@progbits
  933. 916 .global GpioPinConfigSet
  934. 917 .type GpioPinConfigSet, @function
  935. 918 GpioPinConfigSet:
  936. 919 0000 CF92 push r12
  937. 920 0002 DF92 push r13
  938. 921 0004 EF92 push r14
  939. 922 0006 FF92 push r15
  940. 923 0008 0F93 push r16
  941. 924 000a 1F93 push r17
  942. 925 000c CF93 push r28
  943. 926 000e DF93 push r29
  944. 927 /* prologue: function */
  945. 928 /* frame size = 0 */
  946. 929 /* stack size = 8 */
  947. 930 .L__stack_usage = 8
  948. 931 0010 8C01 movw r16,r24
  949. 932 0012 EB01 movw r28,r22
  950. 933 0014 6901 movw r12,r18
  951. 934 0016 7A01 movw r14,r20
  952. 935 0018 8330 cpi r24,3
  953. 936 001a 9105 cpc r25,__zero_reg__
  954. 937 001c 01F4 brne .+2
  955. 938 001e 00C0 rjmp .L140
  956. 939 0020 04F4 brge .L141
  957. 940 0022 8130 cpi r24,1
  958. 941 0024 9105 cpc r25,__zero_reg__
  959. 942 0026 01F0 breq .L142
  960. 943 0028 0297 sbiw r24,2
  961. 944 002a 01F0 breq .L143
  962. 945 002c 00C0 rjmp .L139
  963. 946 .L141:
  964. 947 002e 8530 cpi r24,5
  965. 948 0030 9105 cpc r25,__zero_reg__
  966. 949 0032 01F4 brne .+2
  967. 950 0034 00C0 rjmp .L144
  968. 951 0036 04F4 brge .+2
  969. 952 0038 00C0 rjmp .L145
  970. 953 003a 0697 sbiw r24,6
  971. 954 003c 01F4 brne .+2
  972. 955 003e 00C0 rjmp .L146
  973. 956 0040 00C0 rjmp .L139
  974. 957 .L142:
  975. 958 0042 00C0 rjmp 2f
  976. 959 1:
  977. 960 0044 880F lsl r24
  978. 961 2:
  979. 962 0046 6A95 dec r22
  980. 963 0048 02F4 brpl 1b
  981. 964 004a 21FF sbrs r18,1
  982. 965 004c 00C0 rjmp .L147
  983. 966 004e 91B1 in r25,0x1
  984. 967 0050 892B or r24,r25
  985. 968 0052 00C0 rjmp .L173
  986. 969 .L147:
  987. GAS LISTING /tmp/cchAGnu4.s page 18
  988. 970 0054 92B1 in r25,0x2
  989. 971 0056 22FF sbrs r18,2
  990. 972 0058 00C0 rjmp .L149
  991. 973 005a 892B or r24,r25
  992. 974 005c 00C0 rjmp .L167
  993. 975 .L149:
  994. 976 005e 8095 com r24
  995. 977 0060 8923 and r24,r25
  996. 978 .L167:
  997. 979 0062 82B9 out 0x2,r24
  998. 980 0064 21B1 in r18,0x1
  999. 981 0066 81E0 ldi r24,lo8(1)
  1000. 982 0068 90E0 ldi r25,0
  1001. 983 006a 0C2E mov r0,r28
  1002. 984 006c 00C0 rjmp 2f
  1003. 985 1:
  1004. 986 006e 880F lsl r24
  1005. 987 2:
  1006. 988 0070 0A94 dec r0
  1007. 989 0072 02F4 brpl 1b
  1008. 990 0074 8095 com r24
  1009. 991 0076 8223 and r24,r18
  1010. 992 .L173:
  1011. 993 0078 81B9 out 0x1,r24
  1012. 994 007a 00C0 rjmp .L148
  1013. 995 .L143:
  1014. 996 007c 21FF sbrs r18,1
  1015. 997 007e 00C0 rjmp .L151
  1016. 998 0080 24B1 in r18,0x4
  1017. 999 0082 81E0 ldi r24,lo8(1)
  1018. 1000 0084 90E0 ldi r25,0
  1019. 1001 0086 00C0 rjmp 2f
  1020. 1002 1:
  1021. 1003 0088 880F lsl r24
  1022. 1004 2:
  1023. 1005 008a 6A95 dec r22
  1024. 1006 008c 02F4 brpl 1b
  1025. 1007 008e 822B or r24,r18
  1026. 1008 0090 00C0 rjmp .L174
  1027. 1009 .L151:
  1028. 1010 0092 25B1 in r18,0x5
  1029. 1011 0094 81E0 ldi r24,lo8(1)
  1030. 1012 0096 90E0 ldi r25,0
  1031. 1013 0098 00C0 rjmp 2f
  1032. 1014 1:
  1033. 1015 009a 880F lsl r24
  1034. 1016 2:
  1035. 1017 009c 6A95 dec r22
  1036. 1018 009e 02F4 brpl 1b
  1037. 1019 00a0 C2FE sbrs r12,2
  1038. 1020 00a2 00C0 rjmp .L152
  1039. 1021 00a4 822B or r24,r18
  1040. 1022 00a6 00C0 rjmp .L168
  1041. 1023 .L152:
  1042. 1024 00a8 8095 com r24
  1043. 1025 00aa 8223 and r24,r18
  1044. 1026 .L168:
  1045. GAS LISTING /tmp/cchAGnu4.s page 19
  1046. 1027 00ac 85B9 out 0x5,r24
  1047. 1028 00ae 24B1 in r18,0x4
  1048. 1029 00b0 81E0 ldi r24,lo8(1)
  1049. 1030 00b2 90E0 ldi r25,0
  1050. 1031 00b4 0C2E mov r0,r28
  1051. 1032 00b6 00C0 rjmp 2f
  1052. 1033 1:
  1053. 1034 00b8 880F lsl r24
  1054. 1035 2:
  1055. 1036 00ba 0A94 dec r0
  1056. 1037 00bc 02F4 brpl 1b
  1057. 1038 00be 8095 com r24
  1058. 1039 00c0 8223 and r24,r18
  1059. 1040 .L174:
  1060. 1041 00c2 84B9 out 0x4,r24
  1061. 1042 00c4 00C0 rjmp .L148
  1062. 1043 .L140:
  1063. 1044 00c6 21FF sbrs r18,1
  1064. 1045 00c8 00C0 rjmp .L154
  1065. 1046 00ca 27B1 in r18,0x7
  1066. 1047 00cc 81E0 ldi r24,lo8(1)
  1067. 1048 00ce 90E0 ldi r25,0
  1068. 1049 00d0 00C0 rjmp 2f
  1069. 1050 1:
  1070. 1051 00d2 880F lsl r24
  1071. 1052 2:
  1072. 1053 00d4 6A95 dec r22
  1073. 1054 00d6 02F4 brpl 1b
  1074. 1055 00d8 822B or r24,r18
  1075. 1056 00da 00C0 rjmp .L175
  1076. 1057 .L154:
  1077. 1058 00dc 28B1 in r18,0x8
  1078. 1059 00de 81E0 ldi r24,lo8(1)
  1079. 1060 00e0 90E0 ldi r25,0
  1080. 1061 00e2 00C0 rjmp 2f
  1081. 1062 1:
  1082. 1063 00e4 880F lsl r24
  1083. 1064 2:
  1084. 1065 00e6 6A95 dec r22
  1085. 1066 00e8 02F4 brpl 1b
  1086. 1067 00ea C2FE sbrs r12,2
  1087. 1068 00ec 00C0 rjmp .L155
  1088. 1069 00ee 822B or r24,r18
  1089. 1070 00f0 00C0 rjmp .L169
  1090. 1071 .L155:
  1091. 1072 00f2 8095 com r24
  1092. 1073 00f4 8223 and r24,r18
  1093. 1074 .L169:
  1094. 1075 00f6 88B9 out 0x8,r24
  1095. 1076 00f8 27B1 in r18,0x7
  1096. 1077 00fa 81E0 ldi r24,lo8(1)
  1097. 1078 00fc 90E0 ldi r25,0
  1098. 1079 00fe 0C2E mov r0,r28
  1099. 1080 0100 00C0 rjmp 2f
  1100. 1081 1:
  1101. 1082 0102 880F lsl r24
  1102. 1083 2:
  1103. GAS LISTING /tmp/cchAGnu4.s page 20
  1104. 1084 0104 0A94 dec r0
  1105. 1085 0106 02F4 brpl 1b
  1106. 1086 0108 8095 com r24
  1107. 1087 010a 8223 and r24,r18
  1108. 1088 .L175:
  1109. 1089 010c 87B9 out 0x7,r24
  1110. 1090 010e 00C0 rjmp .L148
  1111. 1091 .L145:
  1112. 1092 0110 21FF sbrs r18,1
  1113. 1093 0112 00C0 rjmp .L157
  1114. 1094 0114 2AB1 in r18,0xa
  1115. 1095 0116 81E0 ldi r24,lo8(1)
  1116. 1096 0118 90E0 ldi r25,0
  1117. 1097 011a 00C0 rjmp 2f
  1118. 1098 1:
  1119. 1099 011c 880F lsl r24
  1120. 1100 2:
  1121. 1101 011e 6A95 dec r22
  1122. 1102 0120 02F4 brpl 1b
  1123. 1103 0122 822B or r24,r18
  1124. 1104 0124 00C0 rjmp .L176
  1125. 1105 .L157:
  1126. 1106 0126 2BB1 in r18,0xb
  1127. 1107 0128 81E0 ldi r24,lo8(1)
  1128. 1108 012a 90E0 ldi r25,0
  1129. 1109 012c 00C0 rjmp 2f
  1130. 1110 1:
  1131. 1111 012e 880F lsl r24
  1132. 1112 2:
  1133. 1113 0130 6A95 dec r22
  1134. 1114 0132 02F4 brpl 1b
  1135. 1115 0134 C2FE sbrs r12,2
  1136. 1116 0136 00C0 rjmp .L158
  1137. 1117 0138 822B or r24,r18
  1138. 1118 013a 00C0 rjmp .L170
  1139. 1119 .L158:
  1140. 1120 013c 8095 com r24
  1141. 1121 013e 8223 and r24,r18
  1142. 1122 .L170:
  1143. 1123 0140 8BB9 out 0xb,r24
  1144. 1124 0142 2AB1 in r18,0xa
  1145. 1125 0144 81E0 ldi r24,lo8(1)
  1146. 1126 0146 90E0 ldi r25,0
  1147. 1127 0148 0C2E mov r0,r28
  1148. 1128 014a 00C0 rjmp 2f
  1149. 1129 1:
  1150. 1130 014c 880F lsl r24
  1151. 1131 2:
  1152. 1132 014e 0A94 dec r0
  1153. 1133 0150 02F4 brpl 1b
  1154. 1134 0152 8095 com r24
  1155. 1135 0154 8223 and r24,r18
  1156. 1136 .L176:
  1157. 1137 0156 8AB9 out 0xa,r24
  1158. 1138 0158 00C0 rjmp .L148
  1159. 1139 .L144:
  1160. 1140 015a 21FF sbrs r18,1
  1161. GAS LISTING /tmp/cchAGnu4.s page 21
  1162. 1141 015c 00C0 rjmp .L160
  1163. 1142 015e 2DB1 in r18,0xd
  1164. 1143 0160 81E0 ldi r24,lo8(1)
  1165. 1144 0162 90E0 ldi r25,0
  1166. 1145 0164 00C0 rjmp 2f
  1167. 1146 1:
  1168. 1147 0166 880F lsl r24
  1169. 1148 2:
  1170. 1149 0168 6A95 dec r22
  1171. 1150 016a 02F4 brpl 1b
  1172. 1151 016c 822B or r24,r18
  1173. 1152 016e 00C0 rjmp .L177
  1174. 1153 .L160:
  1175. 1154 0170 2EB1 in r18,0xe
  1176. 1155 0172 81E0 ldi r24,lo8(1)
  1177. 1156 0174 90E0 ldi r25,0
  1178. 1157 0176 00C0 rjmp 2f
  1179. 1158 1:
  1180. 1159 0178 880F lsl r24
  1181. 1160 2:
  1182. 1161 017a 6A95 dec r22
  1183. 1162 017c 02F4 brpl 1b
  1184. 1163 017e C2FE sbrs r12,2
  1185. 1164 0180 00C0 rjmp .L161
  1186. 1165 0182 822B or r24,r18
  1187. 1166 0184 00C0 rjmp .L171
  1188. 1167 .L161:
  1189. 1168 0186 8095 com r24
  1190. 1169 0188 8223 and r24,r18
  1191. 1170 .L171:
  1192. 1171 018a 8EB9 out 0xe,r24
  1193. 1172 018c 2DB1 in r18,0xd
  1194. 1173 018e 81E0 ldi r24,lo8(1)
  1195. 1174 0190 90E0 ldi r25,0
  1196. 1175 0192 0C2E mov r0,r28
  1197. 1176 0194 00C0 rjmp 2f
  1198. 1177 1:
  1199. 1178 0196 880F lsl r24
  1200. 1179 2:
  1201. 1180 0198 0A94 dec r0
  1202. 1181 019a 02F4 brpl 1b
  1203. 1182 019c 8095 com r24
  1204. 1183 019e 8223 and r24,r18
  1205. 1184 .L177:
  1206. 1185 01a0 8DB9 out 0xd,r24
  1207. 1186 01a2 00C0 rjmp .L148
  1208. 1187 .L146:
  1209. 1188 01a4 21FF sbrs r18,1
  1210. 1189 01a6 00C0 rjmp .L163
  1211. 1190 01a8 20B3 in r18,0x10
  1212. 1191 01aa 81E0 ldi r24,lo8(1)
  1213. 1192 01ac 90E0 ldi r25,0
  1214. 1193 01ae 00C0 rjmp 2f
  1215. 1194 1:
  1216. 1195 01b0 880F lsl r24
  1217. 1196 2:
  1218. 1197 01b2 6A95 dec r22
  1219. GAS LISTING /tmp/cchAGnu4.s page 22
  1220. 1198 01b4 02F4 brpl 1b
  1221. 1199 01b6 822B or r24,r18
  1222. 1200 01b8 00C0 rjmp .L178
  1223. 1201 .L163:
  1224. 1202 01ba 21B3 in r18,0x11
  1225. 1203 01bc 81E0 ldi r24,lo8(1)
  1226. 1204 01be 90E0 ldi r25,0
  1227. 1205 01c0 00C0 rjmp 2f
  1228. 1206 1:
  1229. 1207 01c2 880F lsl r24
  1230. 1208 2:
  1231. 1209 01c4 6A95 dec r22
  1232. 1210 01c6 02F4 brpl 1b
  1233. 1211 01c8 C2FE sbrs r12,2
  1234. 1212 01ca 00C0 rjmp .L164
  1235. 1213 01cc 822B or r24,r18
  1236. 1214 01ce 00C0 rjmp .L172
  1237. 1215 .L164:
  1238. 1216 01d0 8095 com r24
  1239. 1217 01d2 8223 and r24,r18
  1240. 1218 .L172:
  1241. 1219 01d4 81BB out 0x11,r24
  1242. 1220 01d6 20B3 in r18,0x10
  1243. 1221 01d8 81E0 ldi r24,lo8(1)
  1244. 1222 01da 90E0 ldi r25,0
  1245. 1223 01dc 0C2E mov r0,r28
  1246. 1224 01de 00C0 rjmp 2f
  1247. 1225 1:
  1248. 1226 01e0 880F lsl r24
  1249. 1227 2:
  1250. 1228 01e2 0A94 dec r0
  1251. 1229 01e4 02F4 brpl 1b
  1252. 1230 01e6 8095 com r24
  1253. 1231 01e8 8223 and r24,r18
  1254. 1232 .L178:
  1255. 1233 01ea 80BB out 0x10,r24
  1256. 1234 01ec 00C0 rjmp .L148
  1257. 1235 .L139:
  1258. 1236 01ee 61E0 ldi r22,lo8(1)
  1259. 1237 01f0 70E0 ldi r23,0
  1260. 1238 01f2 0C2E mov r0,r28
  1261. 1239 01f4 00C0 rjmp 2f
  1262. 1240 1:
  1263. 1241 01f6 660F lsl r22
  1264. 1242 01f8 771F rol r23
  1265. 1243 2:
  1266. 1244 01fa 0A94 dec r0
  1267. 1245 01fc 02F4 brpl 1b
  1268. 1246 01fe A701 movw r20,r14
  1269. 1247 0200 9601 movw r18,r12
  1270. 1248 0202 C801 movw r24,r16
  1271. 1249 0204 0E94 0000 call GpioPortConfigSet
  1272. 1250 .L148:
  1273. 1251 0208 BE01 movw r22,r28
  1274. 1252 020a C801 movw r24,r16
  1275. 1253 020c 0E94 0000 call GpioPinConfigGet
  1276. 1254 0210 21E0 ldi r18,lo8(1)
  1277. GAS LISTING /tmp/cchAGnu4.s page 23
  1278. 1255 0212 30E0 ldi r19,0
  1279. 1256 0214 C616 cp r12,r22
  1280. 1257 0216 D706 cpc r13,r23
  1281. 1258 0218 E806 cpc r14,r24
  1282. 1259 021a F906 cpc r15,r25
  1283. 1260 021c 01F4 brne .L166
  1284. 1261 021e 20E0 ldi r18,0
  1285. 1262 0220 30E0 ldi r19,0
  1286. 1263 .L166:
  1287. 1264 0222 8827 clr r24
  1288. 1265 0224 9927 clr r25
  1289. 1266 0226 821B sub r24,r18
  1290. 1267 0228 930B sbc r25,r19
  1291. 1268 /* epilogue start */
  1292. 1269 022a DF91 pop r29
  1293. 1270 022c CF91 pop r28
  1294. 1271 022e 1F91 pop r17
  1295. 1272 0230 0F91 pop r16
  1296. 1273 0232 FF90 pop r15
  1297. 1274 0234 EF90 pop r14
  1298. 1275 0236 DF90 pop r13
  1299. 1276 0238 CF90 pop r12
  1300. 1277 023a 0895 ret
  1301. 1278 .size GpioPinConfigSet, .-GpioPinConfigSet
  1302. 1279 .section .text.GpioRegisterIrqHandler,"ax",@progbits
  1303. 1280 .global GpioRegisterIrqHandler
  1304. 1281 .type GpioRegisterIrqHandler, @function
  1305. 1282 GpioRegisterIrqHandler:
  1306. 1283 /* prologue: function */
  1307. 1284 /* frame size = 0 */
  1308. 1285 /* stack size = 0 */
  1309. 1286 .L__stack_usage = 0
  1310. 1287 0000 8FEF ldi r24,lo8(-1)
  1311. 1288 0002 9FEF ldi r25,lo8(-1)
  1312. 1289 0004 0895 ret
  1313. 1290 .size GpioRegisterIrqHandler, .-GpioRegisterIrqHandler
  1314. 1291 .section .text.GpioIrqEnable,"ax",@progbits
  1315. 1292 .global GpioIrqEnable
  1316. 1293 .type GpioIrqEnable, @function
  1317. 1294 GpioIrqEnable:
  1318. 1295 /* prologue: function */
  1319. 1296 /* frame size = 0 */
  1320. 1297 /* stack size = 0 */
  1321. 1298 .L__stack_usage = 0
  1322. 1299 0000 8FEF ldi r24,lo8(-1)
  1323. 1300 0002 9FEF ldi r25,lo8(-1)
  1324. 1301 0004 0895 ret
  1325. 1302 .size GpioIrqEnable, .-GpioIrqEnable
  1326. 1303 .section .text.GpioIrqDisable,"ax",@progbits
  1327. 1304 .global GpioIrqDisable
  1328. 1305 .type GpioIrqDisable, @function
  1329. 1306 GpioIrqDisable:
  1330. 1307 /* prologue: function */
  1331. 1308 /* frame size = 0 */
  1332. 1309 /* stack size = 0 */
  1333. 1310 .L__stack_usage = 0
  1334. 1311 0000 8FEF ldi r24,lo8(-1)
  1335. GAS LISTING /tmp/cchAGnu4.s page 24
  1336. 1312 0002 9FEF ldi r25,lo8(-1)
  1337. 1313 0004 0895 ret
  1338. 1314 .size GpioIrqDisable, .-GpioIrqDisable
  1339. 1315 .ident "GCC: (GNU) 5.3.0"
  1340. GAS LISTING /tmp/cchAGnu4.s page 25
  1341. DEFINED SYMBOLS
  1342. *ABS*:0000000000000000 gpio_avr.c
  1343. /tmp/cchAGnu4.s:2 *ABS*:000000000000003e __SP_H__
  1344. /tmp/cchAGnu4.s:3 *ABS*:000000000000003d __SP_L__
  1345. /tmp/cchAGnu4.s:4 *ABS*:000000000000003f __SREG__
  1346. /tmp/cchAGnu4.s:5 *ABS*:000000000000003b __RAMPZ__
  1347. /tmp/cchAGnu4.s:6 *ABS*:0000000000000000 __tmp_reg__
  1348. /tmp/cchAGnu4.s:7 *ABS*:0000000000000001 __zero_reg__
  1349. /tmp/cchAGnu4.s:11 .text.GpioPinGet:0000000000000000 GpioPinGet
  1350. /tmp/cchAGnu4.s:77 .text.GpioPinSetLow:0000000000000000 GpioPinSetLow
  1351. /tmp/cchAGnu4.s:207 .text.GpioPinSetHigh:0000000000000000 GpioPinSetHigh
  1352. /tmp/cchAGnu4.s:330 .text.GpioPinSet:0000000000000000 GpioPinSet
  1353. /tmp/cchAGnu4.s:344 .text.GpioPortGet:0000000000000000 GpioPortGet
  1354. /tmp/cchAGnu4.s:401 .text.GpioPortSet:0000000000000000 GpioPortSet
  1355. /tmp/cchAGnu4.s:453 .text.GpioPortSetLow:0000000000000000 GpioPortSetLow
  1356. /tmp/cchAGnu4.s:481 .text.GpioPortSetHigh:0000000000000000 GpioPortSetHigh
  1357. /tmp/cchAGnu4.s:507 .text.GpioPinConfigGet:0000000000000000 GpioPinConfigGet
  1358. /tmp/cchAGnu4.s:669 .text.GpioPortConfigSet:0000000000000000 GpioPortConfigSet
  1359. /tmp/cchAGnu4.s:918 .text.GpioPinConfigSet:0000000000000000 GpioPinConfigSet
  1360. /tmp/cchAGnu4.s:1282 .text.GpioRegisterIrqHandler:0000000000000000 GpioRegisterIrqHandler
  1361. /tmp/cchAGnu4.s:1294 .text.GpioIrqEnable:0000000000000000 GpioIrqEnable
  1362. /tmp/cchAGnu4.s:1306 .text.GpioIrqDisable:0000000000000000 GpioIrqDisable
  1363. UNDEFINED SYMBOLS
  1364. __tablejump2__