root / demos / john / projects / libdragonfly / buzzer.lst @ 1693
History | View | Annotate | Download (5.68 KB)
1 |
1 .file "buzzer.c" |
---|---|
2 |
2 .arch atmega128 |
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 buzzer_init |
12 |
20 buzzer_init: |
13 |
21 .LFB2: |
14 |
22 .LM1: |
15 |
23 /* prologue: frame size=0 */ |
16 |
24 /* prologue end (size=0) */ |
17 |
25 /* epilogue: frame size=0 */ |
18 |
26 0000 0895 ret |
19 |
27 /* epilogue end (size=1) */ |
20 |
28 /* function buzzer_init size 1 (0) */ |
21 |
29 .LFE2: |
22 |
31 .global buzzer_set_val |
23 |
33 buzzer_set_val: |
24 |
34 .LFB3: |
25 |
35 .LM2: |
26 |
36 /* prologue: frame size=0 */ |
27 |
37 /* prologue end (size=0) */ |
28 |
38 .LVL0: |
29 |
39 .LM3: |
30 |
40 0002 2CE1 ldi r18,lo8(28) |
31 |
41 0004 25BD out 69-0x20,r18 |
32 |
42 .LM4: |
33 |
43 0006 BF9A sbi 55-0x20,7 |
34 |
44 .LM5: |
35 |
45 0008 83BD out 67-0x20,r24 |
36 |
46 /* epilogue: frame size=0 */ |
37 |
47 000a 0895 ret |
38 |
48 /* epilogue end (size=1) */ |
39 |
49 /* function buzzer_set_val size 5 (4) */ |
40 |
50 .LFE3: |
41 |
52 .global buzzer_set_freq |
42 |
54 buzzer_set_freq: |
43 |
55 .LFB4: |
44 |
56 .LM6: |
45 |
57 /* prologue: frame size=0 */ |
46 |
58 /* prologue end (size=0) */ |
47 |
59 .LVL1: |
48 |
60 .LM7: |
49 |
61 000c 9C01 movw r18,r24 |
50 |
62 000e 4427 clr r20 |
51 |
63 0010 5527 clr r21 |
52 |
64 0012 64E2 ldi r22,lo8(62500) |
53 |
65 0014 74EF ldi r23,hi8(62500) |
54 |
66 0016 80E0 ldi r24,hlo8(62500) |
55 |
67 0018 90E0 ldi r25,hhi8(62500) |
56 |
68 001a 0E94 0000 call __divmodsi4 |
57 |
69 001e C901 movw r24,r18 |
58 |
70 .LVL2: |
59 |
71 0020 0197 sbiw r24,1 |
60 |
72 0022 97FF sbrs r25,7 |
61 |
73 0024 00C0 rjmp .L6 |
62 |
74 .LM8: |
63 |
75 0026 80E0 ldi r24,lo8(0) |
64 |
76 0028 90E0 ldi r25,hi8(0) |
65 |
77 .L6: |
66 |
78 .LM9: |
67 |
79 002a 8F3F cpi r24,255 |
68 |
80 002c 9105 cpc r25,__zero_reg__ |
69 |
81 002e 01F0 breq .L7 |
70 |
82 0030 04F0 brlt .L7 |
71 |
83 0032 8FEF ldi r24,lo8(255) |
72 |
84 0034 90E0 ldi r25,hi8(255) |
73 |
85 .L7: |
74 |
86 0036 0E94 0000 call buzzer_set_val |
75 |
87 .LVL3: |
76 |
88 /* epilogue: frame size=0 */ |
77 |
89 003a 0895 ret |
78 |
90 /* epilogue end (size=1) */ |
79 |
91 /* function buzzer_set_freq size 24 (23) */ |
80 |
92 .LFE4: |
81 |
94 .global buzzer_off |
82 |
96 buzzer_off: |
83 |
97 .LFB6: |
84 |
98 .LM10: |
85 |
99 /* prologue: frame size=0 */ |
86 |
100 /* prologue end (size=0) */ |
87 |
101 .LM11: |
88 |
102 003c 85B5 in r24,69-0x20 |
89 |
103 003e 887F andi r24,lo8(-8) |
90 |
104 0040 85BD out 69-0x20,r24 |
91 |
105 .LM12: |
92 |
106 0042 C698 cbi 56-0x20,6 |
93 |
107 /* epilogue: frame size=0 */ |
94 |
108 0044 0895 ret |
95 |
109 /* epilogue end (size=1) */ |
96 |
110 /* function buzzer_off size 5 (4) */ |
97 |
111 .LFE6: |
98 |
113 .global buzzer_chirp |
99 |
115 buzzer_chirp: |
100 |
116 .LFB5: |
101 |
117 .LM13: |
102 |
118 /* prologue: frame size=0 */ |
103 |
119 0046 0F93 push r16 |
104 |
120 0048 1F93 push r17 |
105 |
121 /* prologue end (size=2) */ |
106 |
122 .LVL4: |
107 |
123 004a 8C01 movw r16,r24 |
108 |
124 004c CB01 movw r24,r22 |
109 |
125 .LVL5: |
110 |
126 .LM14: |
111 |
127 004e 0E94 0000 call buzzer_set_freq |
112 |
128 .LVL6: |
113 |
129 .LM15: |
114 |
130 0052 C801 movw r24,r16 |
115 |
131 0054 0E94 0000 call delay_ms |
116 |
132 .LBB4: |
117 |
133 .LBB5: |
118 |
134 .LM16: |
119 |
135 0058 85B5 in r24,69-0x20 |
120 |
136 005a 887F andi r24,lo8(-8) |
121 |
137 005c 85BD out 69-0x20,r24 |
122 |
138 .LM17: |
123 |
139 005e C698 cbi 56-0x20,6 |
124 |
140 .LBE5: |
125 |
141 .LBE4: |
126 |
142 /* epilogue: frame size=0 */ |
127 |
143 0060 1F91 pop r17 |
128 |
144 0062 0F91 pop r16 |
129 |
145 0064 0895 ret |
130 |
146 /* epilogue end (size=3) */ |
131 |
147 /* function buzzer_chirp size 16 (11) */ |
132 |
148 .LFE5: |
133 |
206 .Letext0: |
134 |
DEFINED SYMBOLS |
135 |
*ABS*:00000000 buzzer.c |
136 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:3 *ABS*:0000003f __SREG__ |
137 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:4 *ABS*:0000003e __SP_H__ |
138 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:5 *ABS*:0000003d __SP_L__ |
139 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:6 *ABS*:00000000 __tmp_reg__ |
140 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:7 *ABS*:00000001 __zero_reg__ |
141 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:20 .text:00000000 buzzer_init |
142 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:33 .text:00000002 buzzer_set_val |
143 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:54 .text:0000000c buzzer_set_freq |
144 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:96 .text:0000003c buzzer_off |
145 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc3fIAyl.s:115 .text:00000046 buzzer_chirp |
146 |
|
147 |
UNDEFINED SYMBOLS |
148 |
__do_copy_data |
149 |
__do_clear_bss |
150 |
__divmodsi4 |
151 |
delay_ms |