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