root / demos / john / projects / libdragonfly / rangefinder.lst @ 1693
History | View | Annotate | Download (6.4 KB)
| 1 | 1 .file "rangefinder.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 linearize_distance |
| 12 | 20 linearize_distance: |
| 13 | 21 .LFB4: |
| 14 | 22 .LM1: |
| 15 | 23 /* prologue: frame size=0 */ |
| 16 | 24 /* prologue end (size=0) */ |
| 17 | 25 .LVL0: |
| 18 | 26 .LM2: |
| 19 | 27 0000 8B31 cpi r24,27 |
| 20 | 28 0002 9105 cpc r25,__zero_reg__ |
| 21 | 29 0004 04F0 brlt .L2 |
| 22 | 30 .LM3: |
| 23 | 31 0006 8336 cpi r24,99 |
| 24 | 32 0008 9105 cpc r25,__zero_reg__ |
| 25 | 33 000a 04F4 brge .L2 |
| 26 | 34 .LBB2: |
| 27 | 35 .LM4: |
| 28 | 36 000c FC01 movw r30,r24 |
| 29 | 37 .LVL1: |
| 30 | 38 000e EE0F lsl r30 |
| 31 | 39 0010 FF1F rol r31 |
| 32 | 40 .LVL2: |
| 33 | 41 0012 E050 subi r30,lo8(-(IR_dist_conversion-54)) |
| 34 | 42 0014 F040 sbci r31,hi8(-(IR_dist_conversion-54)) |
| 35 | 43 .LBE2: |
| 36 | 44 /* #APP */ |
| 37 | 45 0016 8591 lpm r24, Z+ |
| 38 | 46 0018 9491 lpm r25, Z |
| 39 | 47 |
| 40 | 48 /* #NOAPP */ |
| 41 | 49 001a 0895 ret |
| 42 | 50 .LVL3: |
| 43 | 51 .L2: |
| 44 | 52 001c 8FEF ldi r24,lo8(-1) |
| 45 | 53 001e 9FEF ldi r25,hi8(-1) |
| 46 | 54 .LVL4: |
| 47 | 55 .LM5: |
| 48 | 56 0020 0895 ret |
| 49 | 57 /* epilogue: frame size=0 */ |
| 50 | 58 /* epilogue: noreturn */ |
| 51 | 59 /* epilogue end (size=0) */ |
| 52 | 60 /* function linearize_distance size 21 (21) */ |
| 53 | 61 .LFE4: |
| 54 | 63 .global range_read_distance |
| 55 | 65 range_read_distance: |
| 56 | 66 .LFB3: |
| 57 | 67 .LM6: |
| 58 | 68 /* prologue: frame size=0 */ |
| 59 | 69 /* prologue end (size=0) */ |
| 60 | 70 .LVL5: |
| 61 | 71 .LM7: |
| 62 | 72 0022 0E94 0000 call analog_get8 |
| 63 | 73 .LVL6: |
| 64 | 74 0026 0E94 0000 call linearize_distance |
| 65 | 75 /* epilogue: frame size=0 */ |
| 66 | 76 002a 0895 ret |
| 67 | 77 /* epilogue end (size=1) */ |
| 68 | 78 /* function range_read_distance size 5 (4) */ |
| 69 | 79 .LFE3: |
| 70 | 81 .global range_init |
| 71 | 83 range_init: |
| 72 | 84 .LFB2: |
| 73 | 85 .LM8: |
| 74 | 86 /* prologue: frame size=0 */ |
| 75 | 87 /* prologue end (size=0) */ |
| 76 | 88 .LM9: |
| 77 | 89 002c 60E0 ldi r22,lo8(0) |
| 78 | 90 002e 70E0 ldi r23,hi8(0) |
| 79 | 91 0030 84E1 ldi r24,lo8(20) |
| 80 | 92 0032 90E0 ldi r25,hi8(20) |
| 81 | 93 0034 0E94 0000 call digital_output |
| 82 | 94 /* epilogue: frame size=0 */ |
| 83 | 95 0038 0895 ret |
| 84 | 96 /* epilogue end (size=1) */ |
| 85 | 97 /* function range_init size 7 (6) */ |
| 86 | 98 .LFE2: |
| 87 | 100 .section .progmem.data,"a",@progbits |
| 88 | 103 IR_dist_conversion: |
| 89 | 104 0000 4701 .word 327 |
| 90 | 105 0002 3B01 .word 315 |
| 91 | 106 0004 2F01 .word 303 |
| 92 | 107 0006 2301 .word 291 |
| 93 | 108 0008 1901 .word 281 |
| 94 | 109 000a 0F01 .word 271 |
| 95 | 110 000c 0601 .word 262 |
| 96 | 111 000e FD00 .word 253 |
| 97 | 112 0010 F500 .word 245 |
| 98 | 113 0012 EE00 .word 238 |
| 99 | 114 0014 E700 .word 231 |
| 100 | 115 0016 E000 .word 224 |
| 101 | 116 0018 DA00 .word 218 |
| 102 | 117 001a D400 .word 212 |
| 103 | 118 001c CE00 .word 206 |
| 104 | 119 001e C800 .word 200 |
| 105 | 120 0020 C300 .word 195 |
| 106 | 121 0022 BE00 .word 190 |
| 107 | 122 0024 B900 .word 185 |
| 108 | 123 0026 B500 .word 181 |
| 109 | 124 0028 B100 .word 177 |
| 110 | 125 002a AD00 .word 173 |
| 111 | 126 002c A800 .word 168 |
| 112 | 127 002e A500 .word 165 |
| 113 | 128 0030 A100 .word 161 |
| 114 | 129 0032 9E00 .word 158 |
| 115 | 130 0034 9B00 .word 155 |
| 116 | 131 0036 9700 .word 151 |
| 117 | 132 0038 9400 .word 148 |
| 118 | 133 003a 9100 .word 145 |
| 119 | 134 003c 8F00 .word 143 |
| 120 | 135 003e 8C00 .word 140 |
| 121 | 136 0040 8900 .word 137 |
| 122 | 137 0042 8600 .word 134 |
| 123 | 138 0044 8400 .word 132 |
| 124 | 139 0046 8200 .word 130 |
| 125 | 140 0048 7F00 .word 127 |
| 126 | 141 004a 7D00 .word 125 |
| 127 | 142 004c 7B00 .word 123 |
| 128 | 143 004e 7900 .word 121 |
| 129 | 144 0050 7700 .word 119 |
| 130 | 145 0052 7500 .word 117 |
| 131 | 146 0054 7300 .word 115 |
| 132 | 147 0056 7200 .word 114 |
| 133 | 148 0058 6F00 .word 111 |
| 134 | 149 005a 6E00 .word 110 |
| 135 | 150 005c 6C00 .word 108 |
| 136 | 151 005e 6A00 .word 106 |
| 137 | 152 0060 6900 .word 105 |
| 138 | 153 0062 6800 .word 104 |
| 139 | 154 0064 6600 .word 102 |
| 140 | 155 0066 6400 .word 100 |
| 141 | 156 0068 6300 .word 99 |
| 142 | 157 006a 6200 .word 98 |
| 143 | 158 006c 6100 .word 97 |
| 144 | 159 006e 5F00 .word 95 |
| 145 | 160 0070 5E00 .word 94 |
| 146 | 161 0072 5D00 .word 93 |
| 147 | 162 0074 5B00 .word 91 |
| 148 | 163 0076 5A00 .word 90 |
| 149 | 164 0078 5900 .word 89 |
| 150 | 165 007a 5800 .word 88 |
| 151 | 166 007c 5700 .word 87 |
| 152 | 167 007e 5600 .word 86 |
| 153 | 168 0080 5400 .word 84 |
| 154 | 169 0082 5300 .word 83 |
| 155 | 170 0084 5300 .word 83 |
| 156 | 171 0086 5200 .word 82 |
| 157 | 172 0088 5100 .word 81 |
| 158 | 173 008a 5000 .word 80 |
| 159 | 174 008c 4F00 .word 79 |
| 160 | 175 008e 4E00 .word 78 |
| 161 | 216 .Letext0: |
| 162 | DEFINED SYMBOLS |
| 163 | *ABS*:00000000 rangefinder.c |
| 164 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:3 *ABS*:0000003f __SREG__ |
| 165 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:4 *ABS*:0000003e __SP_H__ |
| 166 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:5 *ABS*:0000003d __SP_L__ |
| 167 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:6 *ABS*:00000000 __tmp_reg__ |
| 168 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:7 *ABS*:00000001 __zero_reg__ |
| 169 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:20 .text:00000000 linearize_distance |
| 170 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:103 .progmem.data:00000000 IR_dist_conversion |
| 171 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:65 .text:00000022 range_read_distance |
| 172 | F:\DOCUME~1\Evan\LOCALS~1\Temp/cccDmnIJ.s:83 .text:0000002c range_init |
| 173 | |
| 174 | UNDEFINED SYMBOLS |
| 175 | __do_copy_data |
| 176 | __do_clear_bss |
| 177 | analog_get8 |
| 178 | digital_output |