📄 lcd1602b.lst
字号:
1 .file "Lcd1602b.c"
2 .arch atmega8
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global Lcd_SetRwMode
20 Lcd_SetRwMode:
21 .LFB14:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 8823 tst r24
27 0002 11F4 brne .L2
28 .LM3:
29 0004 C198 cbi 56-0x20,1
30 0006 0895 ret
31 .L2:
32 .LM4:
33 0008 C19A sbi 56-0x20,1
34 000a 0895 ret
35 /* epilogue: frame size=0 */
36 000c 0895 ret
37 /* epilogue end (size=1) */
38 /* function Lcd_SetRwMode size 7 (6) */
39 .LFE14:
41 .global Lcd_SetCmdDataMode
43 Lcd_SetCmdDataMode:
44 .LFB15:
45 .LM5:
46 /* prologue: frame size=0 */
47 /* prologue end (size=0) */
48 .LM6:
49 000e 8823 tst r24
50 0010 11F4 brne .L5
51 .LM7:
52 0012 C098 cbi 56-0x20,0
53 0014 0895 ret
54 .L5:
55 .LM8:
56 0016 C09A sbi 56-0x20,0
57 0018 0895 ret
58 /* epilogue: frame size=0 */
59 001a 0895 ret
60 /* epilogue end (size=1) */
61 /* function Lcd_SetCmdDataMode size 7 (6) */
62 .LFE15:
64 .global Lcd_SetCmd
66 Lcd_SetCmd:
67 .LFB12:
68 .LM9:
69 /* prologue: frame size=0 */
70 001c 1F93 push r17
71 /* prologue end (size=1) */
72 001e 182F mov r17,r24
73 .LM10:
74 0020 80E0 ldi r24,lo8(0)
75 0022 EEDF rcall Lcd_SetRwMode
76 .LM11:
77 0024 80E0 ldi r24,lo8(0)
78 0026 F3DF rcall Lcd_SetCmdDataMode
79 .LM12:
80 0028 82E0 ldi r24,lo8(2)
81 002a 90E0 ldi r25,hi8(2)
82 002c 00D0 rcall DelayMs
83 .LM13:
84 002e C29A sbi 56-0x20,2
85 .LM14:
86 0030 20EF ldi r18,lo8(-16)
87 0032 85B3 in r24,53-0x20
88 0034 8223 and r24,r18
89 0036 85BB out 53-0x20,r24
90 0038 912F mov r25,r17
91 003a 9295 swap r25
92 003c 9F70 andi r25,0x0f
93 003e 85B3 in r24,53-0x20
94 0040 892B or r24,r25
95 0042 85BB out 53-0x20,r24
96 .LM15:
97 0044 C298 cbi 56-0x20,2
98 .LM16:
99 0046 C29A sbi 56-0x20,2
100 .LM17:
101 0048 85B3 in r24,53-0x20
102 004a 8223 and r24,r18
103 004c 85BB out 53-0x20,r24
104 004e 1F70 andi r17,lo8(15)
105 0050 85B3 in r24,53-0x20
106 0052 812B or r24,r17
107 0054 85BB out 53-0x20,r24
108 .LM18:
109 0056 C298 cbi 56-0x20,2
110 .LM19:
111 0058 81E0 ldi r24,lo8(1)
112 005a D2DF rcall Lcd_SetRwMode
113 .LM20:
114 005c 80E0 ldi r24,lo8(0)
115 005e D7DF rcall Lcd_SetCmdDataMode
116 /* epilogue: frame size=0 */
117 0060 1F91 pop r17
118 0062 0895 ret
119 /* epilogue end (size=2) */
120 /* function Lcd_SetCmd size 36 (33) */
121 .LFE12:
123 .global Lcd_WaitForReady
125 Lcd_WaitForReady:
126 .LFB7:
127 .LM21:
128 /* prologue: frame size=0 */
129 /* prologue end (size=0) */
130 .LM22:
131 0064 81E0 ldi r24,lo8(1)
132 0066 CCDF rcall Lcd_SetRwMode
133 .LM23:
134 0068 80E0 ldi r24,lo8(0)
135 006a D1DF rcall Lcd_SetCmdDataMode
136 .LM24:
137 006c C29A sbi 56-0x20,2
138 .LM25:
139 006e 83B3 in r24,51-0x20
140 .LM26:
141 0070 C298 cbi 56-0x20,2
142 /* epilogue: frame size=0 */
143 0072 0895 ret
144 /* epilogue end (size=1) */
145 /* function Lcd_WaitForReady size 8 (7) */
146 .LFE7:
148 .global Lcd_Init
150 Lcd_Init:
151 .LFB6:
152 .LM27:
153 /* prologue: frame size=0 */
154 /* prologue end (size=0) */
155 .LM28:
156 0074 8FE7 ldi r24,lo8(127)
157 0076 84BB out 52-0x20,r24
158 .LM29:
159 0078 15BA out 53-0x20,__zero_reg__
160 .LM30:
161 007a 8FEF ldi r24,lo8(-1)
162 007c 87BB out 55-0x20,r24
163 .LM31:
164 007e 18BA out 56-0x20,__zero_reg__
165 .LM32:
166 0080 88E2 ldi r24,lo8(40)
167 0082 CCDF rcall Lcd_SetCmd
168 .LM33:
169 0084 EFDF rcall Lcd_WaitForReady
170 .LM34:
171 0086 88E2 ldi r24,lo8(40)
172 0088 90E0 ldi r25,hi8(40)
173 008a 00D0 rcall DelayUs
174 .LM35:
175 008c 88E2 ldi r24,lo8(40)
176 008e C6DF rcall Lcd_SetCmd
177 .LM36:
178 0090 8CE0 ldi r24,lo8(12)
179 0092 C4DF rcall Lcd_SetCmd
180 .LM37:
181 0094 81E0 ldi r24,lo8(1)
182 0096 C2DF rcall Lcd_SetCmd
183 .LM38:
184 0098 86E0 ldi r24,lo8(6)
185 009a C0DF rcall Lcd_SetCmd
186 .LM39:
187 009c 82E0 ldi r24,lo8(2)
188 009e BEDF rcall Lcd_SetCmd
189 .LM40:
190 00a0 82E0 ldi r24,lo8(2)
191 00a2 90E0 ldi r25,hi8(2)
192 00a4 00D0 rcall DelayMs
193 /* epilogue: frame size=0 */
194 00a6 0895 ret
195 /* epilogue end (size=1) */
196 /* function Lcd_Init size 26 (25) */
197 .LFE6:
199 .global Lcd_Reset
201 Lcd_Reset:
202 .LFB8:
203 .LM41:
204 /* prologue: frame size=0 */
205 /* prologue end (size=0) */
206 .LM42:
207 00a8 82E0 ldi r24,lo8(2)
208 00aa B8DF rcall Lcd_SetCmd
209 /* epilogue: frame size=0 */
210 00ac 0895 ret
211 /* epilogue end (size=1) */
212 /* function Lcd_Reset size 3 (2) */
213 .LFE8:
215 .global Lcd_ShowCursor
217 Lcd_ShowCursor:
218 .LFB9:
219 .LM43:
220 /* prologue: frame size=0 */
221 /* prologue end (size=0) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -