Blame | Last modification | View Log | RSS feed
1 .file "twimaster.c"
2 .arch atmega644
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
10 .text
11 .global i2c_init
13 i2c_init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 1092 B900 sts 185,__zero_reg__
17 0004 8AE2 ldi r24,lo8(42)
18 0006 8093 B800 sts 184,r24
19 /* epilogue: frame size=0 */
20 000a 0895 ret
21 /* epilogue end (size=1) */
22 /* function i2c_init size 6 (5) */
24 .global i2c_start
26 i2c_start:
27 /* prologue: frame size=0 */
28 /* prologue end (size=0) */
29 000c 85EA ldi r24,lo8(-91)
30 000e 8093 BC00 sts 188,r24
31 0012 80E0 ldi r24,lo8(0)
32 0014 90E0 ldi r25,hi8(0)
33 /* epilogue: frame size=0 */
34 0016 0895 ret
35 /* epilogue end (size=1) */
36 /* function i2c_start size 6 (5) */
38 .global i2c_stop
40 i2c_stop:
41 /* prologue: frame size=0 */
42 /* prologue end (size=0) */
43 0018 84E9 ldi r24,lo8(-108)
44 001a 8093 BC00 sts 188,r24
45 /* epilogue: frame size=0 */
46 001e 0895 ret
47 /* epilogue end (size=1) */
48 /* function i2c_stop size 4 (3) */
50 .global i2c_write_byte
52 i2c_write_byte:
53 /* prologue: frame size=0 */
54 /* prologue end (size=0) */
55 0020 1092 B900 sts 185,__zero_reg__
56 0024 8093 BB00 sts 187,r24
57 0028 85E8 ldi r24,lo8(-123)
58 002a 8093 BC00 sts 188,r24
59 002e 80E0 ldi r24,lo8(0)
60 0030 90E0 ldi r25,hi8(0)
61 /* epilogue: frame size=0 */
62 0032 0895 ret
63 /* epilogue end (size=1) */
64 /* function i2c_write_byte size 10 (9) */
66 .global __vector_26
68 __vector_26:
69 /* prologue: frame size=0 */
70 0034 1F92 push __zero_reg__
71 0036 0F92 push __tmp_reg__
72 0038 0FB6 in __tmp_reg__,__SREG__
73 003a 0F92 push __tmp_reg__
74 003c 1124 clr __zero_reg__
75 003e 8F93 push r24
76 0040 9F93 push r25
77 0042 EF93 push r30
78 0044 FF93 push r31
79 /* prologue end (size=9) */
80 0046 8091 0000 lds r24,twi_state
81 004a 8F5F subi r24,lo8(-(1))
82 004c 8093 0000 sts twi_state,r24
83 0050 8150 subi r24,lo8(-(-1))
84 0052 8330 cpi r24,lo8(3)
85 0054 01F4 brne .+2
86 0056 00C0 rjmp .L14
87 0058 8430 cpi r24,lo8(4)
88 005a 00F4 brsh .L19
89 005c 8130 cpi r24,lo8(1)
90 005e 01F0 breq .L12
91 0060 8230 cpi r24,lo8(2)
92 0062 00F4 brsh .L13
93 0064 00C0 rjmp .L38
94 .L19:
95 0066 8530 cpi r24,lo8(5)
96 0068 01F4 brne .+2
97 006a 00C0 rjmp .L16
98 006c 8530 cpi r24,lo8(5)
99 006e 00F0 brlo .L15
100 0070 8630 cpi r24,lo8(6)
101 0072 01F4 brne .+2
102 0074 00C0 rjmp .L17
103 0076 8730 cpi r24,lo8(7)
104 0078 01F0 breq .+2
105 007a 00C0 rjmp .L37
106 007c 00C0 rjmp .L18
107 .L38:
108 007e 8091 0000 lds r24,motor
109 0082 880F lsl r24
110 0084 8E5A subi r24,lo8(-(82))
111 0086 00C0 rjmp .L39
112 .L12:
113 0088 8091 0000 lds r24,motor
114 008c 8F5F subi r24,lo8(-(1))
115 008e 8093 0000 sts motor,r24
116 0092 8150 subi r24,lo8(-(-1))
117 0094 8130 cpi r24,lo8(1)
118 0096 01F4 brne .+2
119 0098 00C0 rjmp .L32
120 009a 8130 cpi r24,lo8(1)
121 009c 00F0 brlo .L20
122 009e 8230 cpi r24,lo8(2)
123 00a0 01F4 brne .+2
124 00a2 00C0 rjmp .L33
125 00a4 8330 cpi r24,lo8(3)
126 00a6 01F0 breq .+2
127 00a8 00C0 rjmp .L37
128 00aa 00C0 rjmp .L34
129 .L20:
130 00ac 8091 0000 lds r24,Motor_Vorne
131 .L39:
132 00b0 1092 B900 sts 185,__zero_reg__
133 00b4 8093 BB00 sts 187,r24
134 00b8 85E8 ldi r24,lo8(-123)
135 .L40:
136 00ba 8093 BC00 sts 188,r24
137 00be 00C0 rjmp .L37
138 .L13:
139 00c0 84E9 ldi r24,lo8(-108)
140 00c2 8093 BC00 sts 188,r24
141 00c6 8091 0000 lds r24,motor
142 00ca 8430 cpi r24,lo8(4)
143 00cc 00F4 brsh .L24
144 00ce 1092 0000 sts twi_state,__zero_reg__
145 00d2 00C0 rjmp .L26
146 .L24:
147 00d4 1092 0000 sts motor,__zero_reg__
148 .L26:
149 00d8 85EA ldi r24,lo8(-91)
150 00da 00C0 rjmp .L40
151 .L14:
152 00dc 8091 0000 lds r24,motorread
153 00e0 880F lsl r24
154 00e2 8D5A subi r24,lo8(-(83))
155 00e4 00C0 rjmp .L39
156 .L15:
157 00e6 8091 0000 lds r24,motorread
158 00ea 8130 cpi r24,lo8(1)
159 00ec 01F0 breq .L32
160 00ee 8130 cpi r24,lo8(1)
161 00f0 00F0 brlo .L20
162 00f2 8230 cpi r24,lo8(2)
163 00f4 01F0 breq .L33
164 00f6 8330 cpi r24,lo8(3)
165 00f8 01F4 brne .L37
166 00fa 00C0 rjmp .L34
167 .L16:
168 00fc 8091 BB00 lds r24,187
169 0100 E091 0000 lds r30,motorread
170 0104 FF27 clr r31
171 0106 E050 subi r30,lo8(-(motor_rx))
172 0108 F040 sbci r31,hi8(-(motor_rx))
173 010a 8083 st Z,r24
174 .L17:
175 010c 8091 0000 lds r24,motorread
176 0110 8130 cpi r24,lo8(1)
177 0112 01F0 breq .L32
178 0114 8130 cpi r24,lo8(1)
179 0116 00F0 brlo .L20
180 0118 8230 cpi r24,lo8(2)
181 011a 01F0 breq .L33
182 011c 8330 cpi r24,lo8(3)
183 011e 01F4 brne .L37
184 0120 00C0 rjmp .L34
185 .L32:
186 0122 8091 0000 lds r24,Motor_Hinten
187 0126 00C0 rjmp .L39
188 .L33:
189 0128 8091 0000 lds r24,Motor_Rechts
190 012c 00C0 rjmp .L39
191 .L34:
192 012e 8091 0000 lds r24,Motor_Links
193 0132 00C0 rjmp .L39
194 .L18:
195 0134 8091 0000 lds r24,motorread
196 0138 9091 BB00 lds r25,187
197 013c E82F mov r30,r24
198 013e FF27 clr r31
199 0140 E050 subi r30,lo8(-(motor_rx))
200 0142 F040 sbci r31,hi8(-(motor_rx))
201 0144 9483 std Z+4,r25
202 0146 8F5F subi r24,lo8(-(1))
203 0148 8093 0000 sts motorread,r24
204 014c 8430 cpi r24,lo8(4)
205 014e 00F0 brlo .L35
206 0150 1092 0000 sts motorread,__zero_reg__
207 .L35:
208 0154 84E9 ldi r24,lo8(-108)
209 0156 8093 BC00 sts 188,r24
210 015a 1092 0000 sts twi_state,__zero_reg__
211 .L37:
212 /* epilogue: frame size=0 */
213 015e FF91 pop r31
214 0160 EF91 pop r30
215 0162 9F91 pop r25
216 0164 8F91 pop r24
217 0166 0F90 pop __tmp_reg__
218 0168 0FBE out __SREG__,__tmp_reg__
219 016a 0F90 pop __tmp_reg__
220 016c 1F90 pop __zero_reg__
221 016e 1895 reti
222 /* epilogue end (size=9) */
223 /* function __vector_26 size 158 (140) */
225 .global twi_state
226 .global twi_state
227 .section .bss
230 twi_state:
231 0000 00 .skip 1,0
232 .global motor
233 .global motor
236 motor:
237 0001 00 .skip 1,0
238 .global motorread
239 .global motorread
242 motorread:
243 0002 00 .skip 1,0
244 .comm DiffNick,2,1
245 .comm DiffRoll,2,1
246 .comm SenderOkay,1,1
247 .comm CosinusNickWinkel,1,1
248 .comm CosinusRollWinkel,1,1
249 .comm motor_rx,8,1
250 .comm RemoteTasten,1,1
251 .comm Timeout,1,1
252 .comm IntegralNick,4,1
253 .comm IntegralNick2,4,1
254 .comm IntegralRoll,4,1
255 .comm IntegralRoll2,4,1
256 .comm Mess_IntegralNick,4,1
257 .comm Mess_IntegralNick2,4,1
258 .comm Mess_IntegralRoll,4,1
259 .comm Mess_IntegralRoll2,4,1
260 .comm Integral_Gier,4,1
261 .comm Mess_Integral_Gier,4,1
262 .comm h,1,1
263 .comm m,1,1
264 .comm s,1,1
265 .comm Motor_Vorne,1,1
266 .comm Motor_Hinten,1,1
267 .comm Motor_Rechts,1,1
268 .comm Motor_Links,1,1
269 .comm Count,1,1
270 .comm MotorWert,5,1
271 .comm StickNick,2,1
272 .comm StickRoll,2,1
273 .comm StickGier,2,1
274 .comm MotorenEin,1,1
275 /* File "twimaster.c": code 184 = 0x00b8 ( 162), prologues 9, epilogues 13 */
DEFINED SYMBOLS
*ABS*:00000000 twimaster.c
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:13 .text:00000000 i2c_init
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:26 .text:0000000c i2c_start
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:40 .text:00000018 i2c_stop
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:52 .text:00000020 i2c_write_byte
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:68 .text:00000034 __vector_26
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:230 .bss:00000000 twi_state
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:236 .bss:00000001 motor
*COM*:00000001 Motor_Vorne
C:\DOKUME~1\peter\LOKALE~1\Temp/ccEtR5nN.s:242 .bss:00000002 motorread
*COM*:00000008 motor_rx
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000001 RemoteTasten
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss