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