display.lst 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s page 1
  2. 1 .file "display.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 LcdBackLight
  13. 12 .type LcdBackLight, @function
  14. 13 LcdBackLight:
  15. 14 /* prologue: frame size=0 */
  16. 15 /* prologue end (size=0) */
  17. 16 0000 8130 cpi r24,lo8(1)
  18. 17 0002 01F4 brne .L2
  19. 18 0004 739A sbi 46-0x20,3
  20. 19 0006 0895 ret
  21. 20 .L2:
  22. 21 0008 8823 tst r24
  23. 22 000a 01F4 brne .L6
  24. 23 000c 7398 cbi 46-0x20,3
  25. 24 .L6:
  26. 25 000e 0895 ret
  27. 26 /* epilogue: frame size=0 */
  28. 27 /* epilogue: noreturn */
  29. 28 /* epilogue end (size=0) */
  30. 29 /* function LcdBackLight size 8 (8) */
  31. 30 .size LcdBackLight, .-LcdBackLight
  32. 31 .type LcdWriteNibble, @function
  33. 32 LcdWriteNibble:
  34. 33 /* prologue: frame size=0 */
  35. 34 /* prologue end (size=0) */
  36. 35 0010 9AB1 in r25,42-0x20
  37. 36 0012 9F70 andi r25,lo8(15)
  38. 37 0014 906F ori r25,lo8(-16)
  39. 38 0016 9AB9 out 42-0x20,r25
  40. 39 0018 9BB1 in r25,43-0x20
  41. 40 001a 9F70 andi r25,lo8(15)
  42. 41 001c 607F andi r22,lo8(-16)
  43. 42 001e 962B or r25,r22
  44. 43 0020 9BB9 out 43-0x20,r25
  45. 44 0022 8230 cpi r24,lo8(2)
  46. 45 0024 01F4 brne .L8
  47. 46 0026 8A98 cbi 49-0x20,2
  48. 47 0028 00C0 rjmp .L10
  49. 48 .L8:
  50. 49 002a 8A9A sbi 49-0x20,2
  51. 50 .L10:
  52. 51 002c 729A sbi 46-0x20,2
  53. 52 /* #APP */
  54. 53 002e 0000 nop
  55. 54 0030 0000 nop
  56. 55 /* #NOAPP */
  57. 56 0032 7298 cbi 46-0x20,2
  58. 57 0034 8A98 cbi 49-0x20,2
  59. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s page 2
  60. 58 0036 8AB1 in r24,42-0x20
  61. 59 0038 8F70 andi r24,lo8(15)
  62. 60 003a 8AB9 out 42-0x20,r24
  63. 61 003c 8BB1 in r24,43-0x20
  64. 62 003e 8F70 andi r24,lo8(15)
  65. 63 0040 806F ori r24,lo8(-16)
  66. 64 0042 8BB9 out 43-0x20,r24
  67. 65 /* epilogue: frame size=0 */
  68. 66 0044 0895 ret
  69. 67 /* epilogue end (size=1) */
  70. 68 /* function LcdWriteNibble size 29 (28) */
  71. 69 .size LcdWriteNibble, .-LcdWriteNibble
  72. 70 .type LcdWriteByte, @function
  73. 71 LcdWriteByte:
  74. 72 /* prologue: frame size=0 */
  75. 73 0046 0F93 push r16
  76. 74 0048 1F93 push r17
  77. 75 /* prologue end (size=2) */
  78. 76 004a 082F mov r16,r24
  79. 77 004c 162F mov r17,r22
  80. 78 004e 8A98 cbi 49-0x20,2
  81. 79 0050 899A sbi 49-0x20,1
  82. 80 .L13:
  83. 81 0052 729A sbi 46-0x20,2
  84. 82 /* #APP */
  85. 83 0054 0000 nop
  86. 84 0056 0000 nop
  87. 85 /* #NOAPP */
  88. 86 0058 4F99 sbic 41-0x20,7
  89. 87 005a 00C0 rjmp .L13
  90. 88 005c 7298 cbi 46-0x20,2
  91. 89 005e 8A98 cbi 49-0x20,2
  92. 90 0060 8998 cbi 49-0x20,1
  93. 91 0062 612F mov r22,r17
  94. 92 0064 607F andi r22,lo8(-16)
  95. 93 0066 802F mov r24,r16
  96. 94 0068 0E94 0000 call LcdWriteNibble
  97. 95 006c 1295 swap r17
  98. 96 006e 107F andi r17,0xf0
  99. 97 0070 612F mov r22,r17
  100. 98 0072 802F mov r24,r16
  101. 99 0074 0E94 0000 call LcdWriteNibble
  102. 100 /* epilogue: frame size=0 */
  103. 101 0078 1F91 pop r17
  104. 102 007a 0F91 pop r16
  105. 103 007c 0895 ret
  106. 104 /* epilogue end (size=3) */
  107. 105 /* function LcdWriteByte size 30 (25) */
  108. 106 .size LcdWriteByte, .-LcdWriteByte
  109. 107 .global LcdChar
  110. 108 .type LcdChar, @function
  111. 109 LcdChar:
  112. 110 /* prologue: frame size=0 */
  113. 111 /* prologue end (size=0) */
  114. 112 007e 682F mov r22,r24
  115. 113 0080 83E0 ldi r24,lo8(3)
  116. 114 0082 0E94 0000 call LcdWriteByte
  117. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s page 3
  118. 115 /* epilogue: frame size=0 */
  119. 116 0086 0895 ret
  120. 117 /* epilogue end (size=1) */
  121. 118 /* function LcdChar size 5 (4) */
  122. 119 .size LcdChar, .-LcdChar
  123. 120 .global LcdLowLevelInit
  124. 121 .type LcdLowLevelInit, @function
  125. 122 LcdLowLevelInit:
  126. 123 /* prologue: frame size=0 */
  127. 124 0088 1F93 push r17
  128. 125 /* prologue end (size=1) */
  129. 126 008a 8CE8 ldi r24,lo8(-116)
  130. 127 008c 0E94 0000 call NutDelay
  131. 128 0090 10E0 ldi r17,lo8(0)
  132. 129 .L21:
  133. 130 0092 63E3 ldi r22,lo8(51)
  134. 131 0094 82E0 ldi r24,lo8(2)
  135. 132 0096 0E94 0000 call LcdWriteNibble
  136. 133 009a 84E0 ldi r24,lo8(4)
  137. 134 009c 0E94 0000 call NutDelay
  138. 135 00a0 1F5F subi r17,lo8(-(1))
  139. 136 00a2 1330 cpi r17,lo8(3)
  140. 137 00a4 01F4 brne .L21
  141. 138 00a6 62E2 ldi r22,lo8(34)
  142. 139 00a8 82E0 ldi r24,lo8(2)
  143. 140 00aa 0E94 0000 call LcdWriteNibble
  144. 141 00ae 81E0 ldi r24,lo8(1)
  145. 142 00b0 0E94 0000 call NutDelay
  146. 143 00b4 68E2 ldi r22,lo8(40)
  147. 144 00b6 82E0 ldi r24,lo8(2)
  148. 145 00b8 0E94 0000 call LcdWriteByte
  149. 146 00bc 85E0 ldi r24,lo8(5)
  150. 147 00be 0E94 0000 call NutDelay
  151. 148 00c2 6CE0 ldi r22,lo8(12)
  152. 149 00c4 82E0 ldi r24,lo8(2)
  153. 150 00c6 0E94 0000 call LcdWriteByte
  154. 151 00ca 85E0 ldi r24,lo8(5)
  155. 152 00cc 0E94 0000 call NutDelay
  156. 153 00d0 61E0 ldi r22,lo8(1)
  157. 154 00d2 82E0 ldi r24,lo8(2)
  158. 155 00d4 0E94 0000 call LcdWriteByte
  159. 156 00d8 85E0 ldi r24,lo8(5)
  160. 157 00da 0E94 0000 call NutDelay
  161. 158 00de 66E0 ldi r22,lo8(6)
  162. 159 00e0 82E0 ldi r24,lo8(2)
  163. 160 00e2 0E94 0000 call LcdWriteByte
  164. 161 00e6 60E8 ldi r22,lo8(-128)
  165. 162 00e8 82E0 ldi r24,lo8(2)
  166. 163 00ea 0E94 0000 call LcdWriteByte
  167. 164 /* epilogue: frame size=0 */
  168. 165 00ee 1F91 pop r17
  169. 166 00f0 0895 ret
  170. 167 /* epilogue end (size=2) */
  171. 168 /* function LcdLowLevelInit size 53 (50) */
  172. 169 .size LcdLowLevelInit, .-LcdLowLevelInit
  173. 170 /* File "source/display.c": code 125 = 0x007d ( 115), prologues 3, epilogues 7 */
  174. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s page 4
  175. DEFINED SYMBOLS
  176. *ABS*:00000000 display.c
  177. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:3 *ABS*:0000003f __SREG__
  178. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:4 *ABS*:0000003e __SP_H__
  179. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:5 *ABS*:0000003d __SP_L__
  180. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:6 *ABS*:00000000 __tmp_reg__
  181. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:7 *ABS*:00000001 __zero_reg__
  182. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:13 .text:00000000 LcdBackLight
  183. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:32 .text:00000010 LcdWriteNibble
  184. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:71 .text:00000046 LcdWriteByte
  185. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:109 .text:0000007e LcdChar
  186. C:\Users\GUUSV_~1\AppData\Local\Temp/ccXZ9jq3.s:122 .text:00000088 LcdLowLevelInit
  187. UNDEFINED SYMBOLS
  188. __do_copy_data
  189. __do_clear_bss
  190. NutDelay