Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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