0,0 → 1,188 |
1 .file "rs232.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 __vector_13 |
20 __vector_13: |
21 .LFB4: |
22 .LM1: |
23 /* prologue: frame size=0 */ |
24 0000 1F92 push __zero_reg__ |
25 0002 0F92 push __tmp_reg__ |
26 0004 0FB6 in __tmp_reg__,__SREG__ |
27 0006 0F92 push __tmp_reg__ |
28 0008 1124 clr __zero_reg__ |
29 000a 8F93 push r24 |
30 000c 9F93 push r25 |
31 000e EF93 push r30 |
32 0010 FF93 push r31 |
33 /* prologue end (size=9) */ |
34 .LM2: |
35 0012 9091 0000 lds r25,write_index |
36 0016 E0E0 ldi r30,lo8(rs232_buffer) |
37 0018 F0E0 ldi r31,hi8(rs232_buffer) |
38 001a E90F add r30,r25 |
39 001c F11D adc r31,__zero_reg__ |
40 001e 8CB1 in r24,44-0x20 |
41 0020 8083 st Z,r24 |
42 0022 9F5F subi r25,lo8(-(1)) |
43 0024 9093 0000 sts write_index,r25 |
44 .LM3: |
45 0028 8091 0000 lds r24,write_index |
46 002c 8F70 andi r24,lo8(15) |
47 002e 8093 0000 sts write_index,r24 |
48 /* epilogue: frame size=0 */ |
49 0032 FF91 pop r31 |
50 0034 EF91 pop r30 |
51 0036 9F91 pop r25 |
52 0038 8F91 pop r24 |
53 003a 0F90 pop __tmp_reg__ |
54 003c 0FBE out __SREG__,__tmp_reg__ |
55 003e 0F90 pop __tmp_reg__ |
56 0040 1F90 pop __zero_reg__ |
57 0042 1895 reti |
58 /* epilogue end (size=9) */ |
59 /* function __vector_13 size 34 (16) */ |
60 .LFE4: |
62 .global RS232_init |
64 RS232_init: |
65 .LFB5: |
66 .LM4: |
67 /* prologue: frame size=0 */ |
68 /* prologue end (size=0) */ |
69 .LM5: |
70 0044 88E9 ldi r24,lo8(-104) |
71 0046 8AB9 out 42-0x20,r24 |
72 .LM6: |
73 0048 87E0 ldi r24,lo8(7) |
74 004a 89B9 out 41-0x20,r24 |
75 /* epilogue: frame size=0 */ |
76 004c 0895 ret |
77 /* epilogue end (size=1) */ |
78 /* function RS232_init size 5 (4) */ |
79 .LFE5: |
81 .global RS232_get |
83 RS232_get: |
84 .LFB6: |
85 .LM7: |
86 /* prologue: frame size=0 */ |
87 /* prologue end (size=0) */ |
88 .LM8: |
89 004e 8AE0 ldi r24,lo8(10) |
90 0050 8093 0000 sts rs232_timer,r24 |
91 .L4: |
92 .LM9: |
93 0054 9091 0000 lds r25,read_index |
94 0058 8091 0000 lds r24,write_index |
95 005c 9817 cp r25,r24 |
96 005e 21F4 brne .L5 |
97 0060 8091 0000 lds r24,rs232_timer |
98 0064 8823 tst r24 |
99 0066 B1F7 brne .L4 |
100 .L5: |
101 .LM10: |
102 0068 8091 0000 lds r24,rs232_timer |
103 006c 8823 tst r24 |
104 006e 81F0 breq .L7 |
105 .LM11: |
106 0070 8091 0000 lds r24,read_index |
107 0074 E82F mov r30,r24 |
108 0076 FF27 clr r31 |
109 0078 E050 subi r30,lo8(-(rs232_buffer)) |
110 007a F040 sbci r31,hi8(-(rs232_buffer)) |
111 007c 8F5F subi r24,lo8(-(1)) |
112 007e 8093 0000 sts read_index,r24 |
113 0082 E081 ld r30,Z |
114 .LM12: |
115 0084 8091 0000 lds r24,read_index |
116 0088 8F70 andi r24,lo8(15) |
117 008a 8093 0000 sts read_index,r24 |
118 008e 01C0 rjmp .L8 |
119 .L7: |
120 .LM13: |
121 0090 E82F mov r30,r24 |
122 .L8: |
123 .LM14: |
124 0092 8E2F mov r24,r30 |
125 0094 9927 clr r25 |
126 /* epilogue: frame size=0 */ |
127 0096 0895 ret |
128 /* epilogue end (size=1) */ |
129 /* function RS232_get size 37 (36) */ |
130 .LFE6: |
132 .global RS232_send |
134 RS232_send: |
135 .LFB7: |
136 .LM15: |
137 /* prologue: frame size=0 */ |
138 /* prologue end (size=0) */ |
139 .L10: |
140 .LM16: |
141 0098 5D9B sbis 43-0x20,5 |
142 009a FECF rjmp .L10 |
143 .LM17: |
144 009c 8CB9 out 44-0x20,r24 |
145 /* epilogue: frame size=0 */ |
146 009e 0895 ret |
147 /* epilogue end (size=1) */ |
148 /* function RS232_send size 4 (3) */ |
149 .LFE7: |
151 .global RS232_text |
153 RS232_text: |
154 .LFB8: |
155 .LM18: |
156 /* prologue: frame size=0 */ |
157 00a0 CF93 push r28 |
158 00a2 DF93 push r29 |
159 /* prologue end (size=2) */ |
160 00a4 EC01 movw r28,r24 |
161 .LM19: |
162 00a6 8881 ld r24,Y |
163 00a8 8823 tst r24 |
164 00aa 31F0 breq .L18 |
165 .L16: |
166 .LM20: |
167 00ac 8991 ld r24,Y+ |
168 00ae 0E94 0000 call RS232_send |
169 .LM21: |
170 00b2 8881 ld r24,Y |
171 00b4 8823 tst r24 |
172 00b6 D1F7 brne .L16 |
173 .L18: |
174 /* epilogue: frame size=0 */ |
175 00b8 DF91 pop r29 |
176 00ba CF91 pop r28 |
177 00bc 0895 ret |
178 /* epilogue end (size=3) */ |
179 /* function RS232_text size 15 (10) */ |
180 .LFE8: |
182 .comm read_index,1,1 |
183 .comm write_index,1,1 |
184 .comm rs232_buffer,16,1 |
185 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 rs232.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:20 .text:00000000 __vector_13 |
*COM*:00000001 write_index |
*COM*:00000010 rs232_buffer |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:64 .text:00000044 RS232_init |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:83 .text:0000004e RS232_get |
*COM*:00000001 read_index |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:134 .text:00000098 RS232_send |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:153 .text:000000a0 RS232_text |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
rs232_timer |