Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 mikeljo 1
   1               		.file	"display.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               	.global	read_display
12
  20               	read_display:
13
  21               	.LFB4:
14
  22               	.LM1:
15
  23               	/* prologue: frame size=0 */
16
  24 0000 CF93      		push r28
17
  25               	/* prologue end (size=1) */
18
  26               	.LM2:
19
  27 0002 C0E0      		ldi r28,lo8(0)
20
  28               	.LM3:
21
  29 0004 93E2      		ldi r25,lo8(35)
22
  30 0006 9093 0000 		sts p_buffer,r25
23
  31               	.LM4:
24
  32 000a 91E6      		ldi r25,lo8(97)
25
  33 000c 9093 0000 		sts p_buffer+1,r25
26
  34               	.LM5:
27
  35 0010 98E6      		ldi r25,lo8(104)
28
  36 0012 9093 0000 		sts p_buffer+2,r25
29
  37               	.LM6:
30
  38 0016 8093 0000 		sts p_buffer+3,r24
31
  39               	.LM7:
32
  40 001a C093 0000 		sts p_buffer+4,r28
33
  41               	.LM8:
34
  42 001e C093 0000 		sts p_buffer+5,r28
35
  43               	.LM9:
36
  44 0022 86E0      		ldi r24,lo8(6)
37
  45 0024 0E94 0000 		call base64_send
38
  46               	.L2:
39
  47               	.LM10:
40
  48 0028 0E94 0000 		call get_message
41
  49 002c 8130      		cpi r24,lo8(1)
42
  50 002e 09F4      		brne .L5
43
  51               	.LM11:
44
  52 0030 CAE0      		ldi r28,lo8(10)
45
  53               	.L5:
46
  54               	.LM12:
47
  55 0032 CF5F      		subi r28,lo8(-(1))
48
  56               	.LM13:
49
  57 0034 8091 0000 		lds r24,r_buffer+1
50
  58 0038 8053      		subi r24,lo8(-(-48))
51
  59 003a 8530      		cpi r24,lo8(5)
52
  60 003c 10F0      		brlo .L3
53
  61 003e CA30      		cpi r28,lo8(10)
54
  62 0040 98F3      		brlo .L2
55
  63               	.L3:
56
  64               	.LM14:
57
  65 0042 CA30      		cpi r28,lo8(10)
58
  66 0044 18F0      		brlo .L6
59
  67               	.LM15:
60
  68 0046 81E0      		ldi r24,lo8(1)
61
  69 0048 90E0      		ldi r25,hi8(1)
62
  70 004a 02C0      		rjmp .L1
63
  71               	.L6:
64
  72               	.LM16:
65
  73 004c 80E0      		ldi r24,lo8(0)
66
  74 004e 90E0      		ldi r25,hi8(0)
67
  75               	.L1:
68
  76               	/* epilogue: frame size=0 */
69
  77 0050 CF91      		pop r28
70
  78 0052 0895      		ret
71
  79               	/* epilogue end (size=2) */
72
  80               	/* function read_display size 42 (39) */
73
  81               	.LFE4:
74
  83               		.section	.progmem.data,"a",@progbits
75
  86               	__c.0:
76
  87 0000 4469 7370 		.string	"Display"
77
  87      6C61 7900
78
  90               	__c.1:
79
  91 0008 0D0A 5469 		.string	"\r\nTimeout!"
80
  91      6D65 6F75
81
  91      7421 00
82
  92               		.text
83
  93               	.global	display_data
84
  95               	display_data:
85
  96               	.LFB5:
86
  97               	.LM17:
87
  98               	/* prologue: frame size=10 */
88
  99 0054 0F93      		push r16
89
 100 0056 1F93      		push r17
90
 101 0058 CF93      		push r28
91
 102 005a DF93      		push r29
92
 103 005c CDB7      		in r28,__SP_L__
93
 104 005e DEB7      		in r29,__SP_H__
94
 105 0060 2A97      		sbiw r28,10
95
 106 0062 0FB6      		in __tmp_reg__,__SREG__
96
 107 0064 F894      		cli
97
 108 0066 DEBF      		out __SP_H__,r29
98
 109 0068 0FBE      		out __SREG__,__tmp_reg__
99
 110 006a CDBF      		out __SP_L__,r28
100
 111               	/* prologue end (size=12) */
101
 112               	.LM18:
102
 113 006c 0E94 0000 		call lcd_cls
103
 114               	.LM19:
104
 115 0070 60E0      		ldi r22,lo8(0)
105
 116 0072 80E0      		ldi r24,lo8(__c.0)
106
 117 0074 90E0      		ldi r25,hi8(__c.0)
107
 118 0076 0E94 0000 		call lcd_printp
108
 119               	.L28:
109
 120               	.LM20:
110
 121 007a 0091 0000 		lds r16,key
111
 122 007e 0023      		tst r16
112
 123 0080 E1F7      		brne .L28
113
 124               	.LM21:
114
 125 0082 802F      		mov r24,r16
115
 126 0084 0E94 0000 		call read_display
116
 127 0088 8130      		cpi r24,lo8(1)
117
 128 008a 69F4      		brne .L15
118
 129               	.LM22:
119
 130 008c 602F      		mov r22,r16
120
 131 008e 80E0      		ldi r24,lo8(__c.1)
121
 132 0090 90E0      		ldi r25,hi8(__c.1)
122
 133 0092 0E94 0000 		call lcd_printp
123
 134               	.LM23:
124
 135 0096 88EC      		ldi r24,lo8(-56)
125
 136 0098 8093 0000 		sts timer,r24
126
 137               	.L16:
127
 138               	.LM24:
128
 139 009c 8091 0000 		lds r24,timer
129
 140 00a0 8823      		tst r24
130
 141 00a2 E1F7      		brne .L16
131
 142               	.LM25:
132
 143 00a4 2CC0      		rjmp .L10
133
 144               	.L15:
134
 145               	.LM26:
135
 146 00a6 1091 0000 		lds r17,r_buffer+1
136
 147               	.LM27:
137
 148 00aa 1983      		std Y+1,r17
138
 149               	.LM28:
139
 150 00ac 0A83      		std Y+2,r16
140
 151               	.LM29:
141
 152 00ae 202F      		mov r18,r16
142
 153 00b0 AE01      		movw r20,r28
143
 154 00b2 4F5F      		subi r20,lo8(-(1))
144
 155 00b4 5F4F      		sbci r21,hi8(-(1))
145
 156 00b6 602F      		mov r22,r16
146
 157 00b8 8AE0      		ldi r24,lo8(10)
147
 158 00ba 0E94 0000 		call lcd_print_at
148
 159               	.LM30:
149
 160 00be 1F5F      		subi r17,lo8(-(1))
150
 161 00c0 202F      		mov r18,r16
151
 162 00c2 40E0      		ldi r20,lo8(p_buffer)
152
 163 00c4 50E0      		ldi r21,hi8(p_buffer)
153
 164 00c6 612F      		mov r22,r17
154
 165 00c8 802F      		mov r24,r16
155
 166 00ca 0E94 0000 		call lcd_print_at
156
 167               	.LM31:
157
 168 00ce 8AE0      		ldi r24,lo8(10)
158
 169 00d0 8093 0000 		sts timer,r24
159
 170               	.L20:
160
 171               	.LM32:
161
 172 00d4 8091 0000 		lds r24,timer
162
 173 00d8 8823      		tst r24
163
 174 00da E1F7      		brne .L20
164
 175               	.LM33:
165
 176 00dc 8091 0000 		lds r24,key
166
 177 00e0 8130      		cpi r24,lo8(1)
167
 178 00e2 11F4      		brne .L23
168
 179               	.LM34:
169
 180 00e4 0E94 0000 		call read_display
170
 181               	.L23:
171
 182               	.LM35:
172
 183 00e8 8091 0000 		lds r24,key
173
 184 00ec 8230      		cpi r24,lo8(2)
174
 185 00ee 11F4      		brne .L11
175
 186               	.LM36:
176
 187 00f0 0E94 0000 		call read_display
177
 188               	.L11:
178
 189               	.LM37:
179
 190 00f4 8091 0000 		lds r24,key
180
 191 00f8 8430      		cpi r24,lo8(4)
181
 192 00fa 09F0      		breq .+2
182
 193 00fc BECF      		rjmp .L28
183
 194               	.L10:
184
 195               	/* epilogue: frame size=10 */
185
 196 00fe 2A96      		adiw r28,10
186
 197 0100 0FB6      		in __tmp_reg__,__SREG__
187
 198 0102 F894      		cli
188
 199 0104 DEBF      		out __SP_H__,r29
189
 200 0106 0FBE      		out __SREG__,__tmp_reg__
190
 201 0108 CDBF      		out __SP_L__,r28
191
 202 010a DF91      		pop r29
192
 203 010c CF91      		pop r28
193
 204 010e 1F91      		pop r17
194
 205 0110 0F91      		pop r16
195
 206 0112 0895      		ret
196
 207               	/* epilogue end (size=11) */
197
 208               	/* function display_data size 96 (73) */
198
 209               	.LFE5:
199
 211               		.comm r_buffer,128,1
200
 212               		.comm p_buffer,128,1
201
 213               		.comm display_buffer,1024,1
202
 214               		.comm display_buffer_pointer,2,1
203
 215               		.comm display_buffer_counter,1,1
204
 216               		.comm display_page_counter,1,1
205
 217               		.comm display_mode,1,1
206
 218               	.Letext0:
207
DEFINED SYMBOLS
208
                            *ABS*:00000000 display.c
209
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:3      *ABS*:0000003f __SREG__
210
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:4      *ABS*:0000003e __SP_H__
211
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:5      *ABS*:0000003d __SP_L__
212
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:6      *ABS*:00000000 __tmp_reg__
213
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:7      *ABS*:00000001 __zero_reg__
214
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:20     .text:00000000 read_display
215
                            *COM*:00000080 p_buffer
216
                            *COM*:00000080 r_buffer
217
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:86     .progmem.data:00000000 __c.0
218
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:90     .progmem.data:00000008 __c.1
219
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:95     .text:00000054 display_data
220
                            *COM*:00000400 display_buffer
221
                            *COM*:00000002 display_buffer_pointer
222
                            *COM*:00000001 display_buffer_counter
223
                            *COM*:00000001 display_page_counter
224
                            *COM*:00000001 display_mode
225
 
226
UNDEFINED SYMBOLS
227
__do_copy_data
228
__do_clear_bss
229
base64_send
230
get_message
231
lcd_cls
232
lcd_printp
233
key
234
timer
235
lcd_print_at