0,0 → 1,264 |
1 .file "menu.c" |
2 .arch atmega32 |
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 .section .progmem.data,"a",@progbits |
21 __c.4: |
22 0000 2000 .string " " |
25 __c.5: |
26 0002 2A00 .string "*" |
27 .text |
28 .global menu_set_cursor |
30 menu_set_cursor: |
31 .LFB4: |
32 .LM1: |
33 /* prologue: frame size=0 */ |
34 0000 0F93 push r16 |
35 0002 1F93 push r17 |
36 /* prologue end (size=2) */ |
37 0004 062F mov r16,r22 |
38 0006 142F mov r17,r20 |
39 .LM2: |
40 0008 20E0 ldi r18,lo8(0) |
41 000a 40E0 ldi r20,lo8(__c.4) |
42 000c 50E0 ldi r21,hi8(__c.4) |
43 000e 682F mov r22,r24 |
44 0010 812F mov r24,r17 |
45 0012 0E94 0000 call lcd_print_atp |
46 .LM3: |
47 0016 20E0 ldi r18,lo8(0) |
48 0018 40E0 ldi r20,lo8(__c.5) |
49 001a 50E0 ldi r21,hi8(__c.5) |
50 001c 602F mov r22,r16 |
51 001e 812F mov r24,r17 |
52 0020 0E94 0000 call lcd_print_atp |
53 /* epilogue: frame size=0 */ |
54 0024 1F91 pop r17 |
55 0026 0F91 pop r16 |
56 0028 0895 ret |
57 /* epilogue end (size=3) */ |
58 /* function menu_set_cursor size 21 (16) */ |
59 .LFE4: |
61 .global menu_choose |
63 menu_choose: |
64 .LFB5: |
65 .LM4: |
66 /* prologue: frame size=0 */ |
67 002a EF92 push r14 |
68 002c FF92 push r15 |
69 002e 0F93 push r16 |
70 0030 1F93 push r17 |
71 0032 CF93 push r28 |
72 /* prologue end (size=5) */ |
73 0034 F82E mov r15,r24 |
74 0036 E62E mov r14,r22 |
75 0038 042F mov r16,r20 |
76 .LM5: |
77 003a C82F mov r28,r24 |
78 .LM6: |
79 003c 182F mov r17,r24 |
80 .LM7: |
81 003e 682F mov r22,r24 |
82 0040 0E94 0000 call menu_set_cursor |
83 .L21: |
84 .LM8: |
85 0044 8091 0000 lds r24,key |
86 0048 8823 tst r24 |
87 004a E1F7 brne .L21 |
88 .L9: |
89 .LM9: |
90 004c 8091 0000 lds r24,key |
91 0050 8823 tst r24 |
92 0052 E1F3 breq .L9 |
93 .LM10: |
94 0054 8091 0000 lds r24,key |
95 0058 8230 cpi r24,lo8(2) |
96 005a 19F4 brne .L12 |
97 005c CE15 cp r28,r14 |
98 005e 08F4 brsh .L12 |
99 .LM11: |
100 0060 CF5F subi r28,lo8(-(1)) |
101 .L12: |
102 .LM12: |
103 0062 8091 0000 lds r24,key |
104 0066 8130 cpi r24,lo8(1) |
105 0068 19F4 brne .L13 |
106 006a FC16 cp r15,r28 |
107 006c 08F4 brsh .L13 |
108 .LM13: |
109 006e C150 subi r28,lo8(-(-1)) |
110 .L13: |
111 .LM14: |
112 0070 402F mov r20,r16 |
113 0072 6C2F mov r22,r28 |
114 0074 812F mov r24,r17 |
115 0076 0E94 0000 call menu_set_cursor |
116 .LM15: |
117 007a 1C2F mov r17,r28 |
118 .LM16: |
119 007c 8091 0000 lds r24,key |
120 0080 8830 cpi r24,lo8(8) |
121 0082 21F0 breq .L4 |
122 0084 8091 0000 lds r24,key |
123 0088 8430 cpi r24,lo8(4) |
124 008a E1F6 brne .L21 |
125 .L4: |
126 .LM17: |
127 008c 8091 0000 lds r24,key |
128 0090 8430 cpi r24,lo8(4) |
129 0092 09F4 brne .L15 |
130 .LM18: |
131 0094 CFEF ldi r28,lo8(-1) |
132 .L15: |
133 .LM19: |
134 0096 8091 0000 lds r24,key |
135 009a 8823 tst r24 |
136 009c E1F7 brne .L15 |
137 .LM20: |
138 009e 8C2F mov r24,r28 |
139 00a0 9927 clr r25 |
140 /* epilogue: frame size=0 */ |
141 00a2 CF91 pop r28 |
142 00a4 1F91 pop r17 |
143 00a6 0F91 pop r16 |
144 00a8 FF90 pop r15 |
145 00aa EF90 pop r14 |
146 00ac 0895 ret |
147 /* epilogue end (size=6) */ |
148 /* function menu_choose size 66 (55) */ |
149 .LFE5: |
151 .section .progmem.data |
154 __c.0: |
155 0004 4861 7570 .string "Hauptmen\374(BETA V0.1)\r\n" |
155 746D 656E |
155 FC28 4245 |
155 5441 2056 |
155 302E 3129 |
158 __c.1: |
159 001b 0D0A 4469 .string "\r\nDisplay\r\n" |
159 7370 6C61 |
159 790D 0A00 |
162 __c.2: |
163 0027 5061 7261 .string "Parameter\r\n" |
163 6D65 7465 |
163 720D 0A00 |
166 __c.3: |
167 0033 4D6F 746F .string "Motortest" |
167 7274 6573 |
167 7400 |
168 .text |
169 .global main_menu |
171 main_menu: |
172 .LFB6: |
173 .LM21: |
174 /* prologue: frame size=0 */ |
175 /* prologue end (size=0) */ |
176 .LM22: |
177 00ae 0E94 0000 call lcd_cls |
178 .LM23: |
179 00b2 60E0 ldi r22,lo8(0) |
180 00b4 80E0 ldi r24,lo8(__c.0) |
181 00b6 90E0 ldi r25,hi8(__c.0) |
182 00b8 0E94 0000 call lcd_printp |
183 .LM24: |
184 00bc 60E0 ldi r22,lo8(0) |
185 00be 80E0 ldi r24,lo8(__c.1) |
186 00c0 90E0 ldi r25,hi8(__c.1) |
187 00c2 0E94 0000 call lcd_printp |
188 .LM25: |
189 00c6 60E0 ldi r22,lo8(0) |
190 00c8 80E0 ldi r24,lo8(__c.2) |
191 00ca 90E0 ldi r25,hi8(__c.2) |
192 00cc 0E94 0000 call lcd_printp |
193 .LM26: |
194 00d0 60E0 ldi r22,lo8(0) |
195 00d2 80E0 ldi r24,lo8(__c.3) |
196 00d4 90E0 ldi r25,hi8(__c.3) |
197 00d6 0E94 0000 call lcd_printp |
198 .LM27: |
199 00da 4AE0 ldi r20,lo8(10) |
200 00dc 64E0 ldi r22,lo8(4) |
201 00de 82E0 ldi r24,lo8(2) |
202 00e0 0E94 0000 call menu_choose |
203 00e4 9927 clr r25 |
204 00e6 8330 cpi r24,3 |
205 00e8 9105 cpc r25,__zero_reg__ |
206 00ea 61F0 breq .L25 |
207 .LM28: |
208 00ec 8430 cpi r24,4 |
209 00ee 9105 cpc r25,__zero_reg__ |
210 00f0 1CF4 brge .L27 |
211 00f2 0297 sbiw r24,2 |
212 00f4 21F0 breq .L24 |
213 00f6 0895 ret |
214 .L27: |
215 00f8 0497 sbiw r24,4 |
216 00fa 39F0 breq .L26 |
217 00fc 0895 ret |
218 .L24: |
219 .LM29: |
220 00fe 0E94 0000 call display_data |
221 .LM30: |
222 0102 0895 ret |
223 .L25: |
224 .LM31: |
225 0104 0E94 0000 call edit_parameter |
226 .LM32: |
227 0108 0895 ret |
228 .L26: |
229 .LM33: |
230 010a 0E94 0000 call motor_test |
231 010e 0895 ret |
232 /* epilogue: frame size=0 */ |
233 /* epilogue: noreturn */ |
234 /* epilogue end (size=0) */ |
235 /* function main_menu size 51 (51) */ |
236 .LFE6: |
238 .comm r_buffer,128,1 |
239 .comm p_buffer,128,1 |
240 .comm display_buffer,1024,1 |
241 .comm display_buffer_pointer,2,1 |
242 .comm display_buffer_counter,1,1 |
243 .comm display_page_counter,1,1 |
244 .comm display_mode,1,1 |
245 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 menu.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:21 .progmem.data:00000000 __c.4 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:25 .progmem.data:00000002 __c.5 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:30 .text:00000000 menu_set_cursor |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:63 .text:0000002a menu_choose |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:154 .progmem.data:00000004 __c.0 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:158 .progmem.data:0000001b __c.1 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:162 .progmem.data:00000027 __c.2 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:166 .progmem.data:00000033 __c.3 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccegaaaa.s:171 .text:000000ae main_menu |
*COM*:00000080 r_buffer |
*COM*:00000080 p_buffer |
*COM*:00000400 display_buffer |
*COM*:00000002 display_buffer_pointer |
*COM*:00000001 display_buffer_counter |
*COM*:00000001 display_page_counter |
*COM*:00000001 display_mode |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
lcd_print_atp |
key |
lcd_cls |
lcd_printp |
display_data |
edit_parameter |
motor_test |