root / demos / john / projects / libdragonfly / buzzer.lst @ 1693
History | View | Annotate | Download (5.7 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 |