1 .file "sensor_matrix.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 10 .text 11 .global sensor_matrix_create 13 sensor_matrix_create: 14 /* prologue: frame size=0 */ 15 /* prologue end (size=0) */ 16 0000 1092 0000 sts (m)+1,__zero_reg__ 17 0004 1092 0000 sts m,__zero_reg__ 18 0008 40E0 ldi r20,lo8(0) 19 000a 50E0 ldi r21,hi8(0) 20 000c A0E0 ldi r26,lo8(m+2) 21 000e B0E0 ldi r27,hi8(m+2) 22 0010 6FEF ldi r22,lo8(-1) 23 0012 22E1 ldi r18,lo8(18) 24 0014 30E0 ldi r19,hi8(18) 25 .L2: 26 0016 1C92 st X,__zero_reg__ 27 0018 F901 movw r30,r18 28 001a E050 subi r30,lo8(-(m)) 29 001c F040 sbci r31,hi8(-(m)) 30 001e 80E0 ldi r24,lo8(0) 31 0020 90E0 ldi r25,hi8(0) 32 .L3: 33 0022 6193 st Z+,r22 34 0024 0196 adiw r24,1 35 0026 8031 cpi r24,16 36 0028 9105 cpc r25,__zero_reg__ 37 002a 01F4 brne .L3 38 002c 4F5F subi r20,lo8(-(1)) 39 002e 5F4F sbci r21,hi8(-(1)) 40 0030 205F subi r18,lo8(-(16)) 41 0032 3F4F sbci r19,hi8(-(16)) 42 0034 1196 adiw r26,1 43 0036 4031 cpi r20,16 44 0038 5105 cpc r21,__zero_reg__ 45 003a 01F4 brne .L2 46 /* epilogue: frame size=0 */ 47 003c 0895 ret 48 /* epilogue end (size=1) */ 49 /* function sensor_matrix_create size 31 (30) */ 51 .global sensor_matrix_set_reading 53 sensor_matrix_set_reading: 54 /* prologue: frame size=0 */ 55 /* prologue end (size=0) */ 56 003e FC01 movw r30,r24 57 0040 6031 cpi r22,16 58 0042 7105 cpc r23,__zero_reg__ 59 0044 04F4 brge .L15 60 0046 4097 sbiw r24,16 61 0048 04F4 brge .L15 62 004a 84E0 ldi r24,4 63 004c EE0F 1: lsl r30 64 004e FF1F rol r31 65 0050 8A95 dec r24 66 0052 01F4 brne 1b 67 0054 E050 subi r30,lo8(-(m)) 68 0056 F040 sbci r31,hi8(-(m)) 69 0058 E60F add r30,r22 70 005a F71F adc r31,r23 71 005c 428B std Z+18,r20 72 .L15: 73 005e 0895 ret 74 /* epilogue: frame size=0 */ 75 /* epilogue: noreturn */ 76 /* epilogue end (size=0) */ 77 /* function sensor_matrix_set_reading size 18 (18) */ 79 .global sensor_matrix_get_reading 81 sensor_matrix_get_reading: 82 /* prologue: frame size=0 */ 83 /* prologue end (size=0) */ 84 0060 FC01 movw r30,r24 85 0062 4097 sbiw r24,16 86 0064 04F4 brge .L17 87 0066 6031 cpi r22,16 88 0068 7105 cpc r23,__zero_reg__ 89 006a 04F4 brge .L17 90 006c 94E0 ldi r25,4 91 006e EE0F 1: lsl r30 92 0070 FF1F rol r31 93 0072 9A95 dec r25 94 0074 01F4 brne 1b 95 0076 E050 subi r30,lo8(-(m)) 96 0078 F040 sbci r31,hi8(-(m)) 97 007a E60F add r30,r22 98 007c F71F adc r31,r23 99 007e 8289 ldd r24,Z+18 100 0080 9927 clr r25 101 0082 0895 ret 102 .L17: 103 0084 8FEF ldi r24,lo8(-1) 104 0086 9FEF ldi r25,hi8(-1) 105 0088 0895 ret 106 /* epilogue: frame size=0 */ 107 /* epilogue: noreturn */ 108 /* epilogue end (size=0) */ 109 /* function sensor_matrix_get_reading size 22 (22) */ 111 .global sensor_matrix_set_in_ring 113 sensor_matrix_set_in_ring: 114 /* prologue: frame size=0 */ 115 /* prologue end (size=0) */ 116 008a DC01 movw r26,r24 117 008c 8031 cpi r24,16 118 008e 9105 cpc r25,__zero_reg__ 119 0090 04F4 brge .L31 120 0092 6130 cpi r22,1 121 0094 7105 cpc r23,__zero_reg__ 122 0096 01F4 brne .L25 123 0098 FC01 movw r30,r24 124 009a E050 subi r30,lo8(-(m)) 125 009c F040 sbci r31,hi8(-(m)) 126 009e 8281 ldd r24,Z+2 127 00a0 8823 tst r24 128 00a2 01F4 brne .L27 129 00a4 8091 0000 lds r24,m 130 00a8 9091 0000 lds r25,(m)+1 131 00ac 0196 adiw r24,1 132 00ae 00C0 rjmp .L32 133 .L25: 134 00b0 6115 cp r22,__zero_reg__ 135 00b2 7105 cpc r23,__zero_reg__ 136 00b4 01F4 brne .L27 137 00b6 FC01 movw r30,r24 138 00b8 E050 subi r30,lo8(-(m)) 139 00ba F040 sbci r31,hi8(-(m)) 140 00bc 8281 ldd r24,Z+2 141 00be 8823 tst r24 142 00c0 01F0 breq .L27 143 00c2 8091 0000 lds r24,m 144 00c6 9091 0000 lds r25,(m)+1 145 00ca 0197 sbiw r24,1 146 .L32: 147 00cc 9093 0000 sts (m)+1,r25 148 00d0 8093 0000 sts m,r24 149 .L27: 150 00d4 A050 subi r26,lo8(-(m)) 151 00d6 B040 sbci r27,hi8(-(m)) 152 00d8 FD01 movw r30,r26 153 00da 6283 std Z+2,r22 154 .L31: 155 00dc 0895 ret 156 /* epilogue: frame size=0 */ 157 /* epilogue: noreturn */ 158 /* epilogue end (size=0) */ 159 /* function sensor_matrix_set_in_ring size 42 (42) */ 161 .global sensor_matrix_get_in_ring 163 sensor_matrix_get_in_ring: 164 /* prologue: frame size=0 */ 165 /* prologue end (size=0) */ 166 00de FC01 movw r30,r24 167 00e0 4097 sbiw r24,16 168 00e2 04F0 brlt .L34 169 00e4 8FEF ldi r24,lo8(-1) 170 00e6 9FEF ldi r25,hi8(-1) 171 00e8 0895 ret 172 .L34: 173 00ea E050 subi r30,lo8(-(m)) 174 00ec F040 sbci r31,hi8(-(m)) 175 00ee 8281 ldd r24,Z+2 176 00f0 9927 clr r25 177 00f2 0895 ret 178 /* epilogue: frame size=0 */ 179 /* epilogue: noreturn */ 180 /* epilogue end (size=0) */ 181 /* function sensor_matrix_get_in_ring size 12 (12) */ 183 .global sensor_matrix_get_joined 185 sensor_matrix_get_joined: 186 /* prologue: frame size=0 */ 187 /* prologue end (size=0) */ 188 00f4 8091 0000 lds r24,m 189 00f8 9091 0000 lds r25,(m)+1 190 /* epilogue: frame size=0 */ 191 00fc 0895 ret 192 /* epilogue end (size=1) */ 193 /* function sensor_matrix_get_joined size 5 (4) */ 195 .global sensor_matrix_get_size 197 sensor_matrix_get_size: 198 /* prologue: frame size=0 */ 199 /* prologue end (size=0) */ 200 00fe 80E1 ldi r24,lo8(16) 201 0100 90E0 ldi r25,hi8(16) 202 /* epilogue: frame size=0 */ 203 0102 0895 ret 204 /* epilogue end (size=1) */ 205 /* function sensor_matrix_get_size size 3 (2) */ 207 .comm m,274,1 208 /* File "sensor_matrix.c": code 133 = 0x0085 ( 130), prologues 0, epilogues 3 */ DEFINED SYMBOLS *ABS*:00000000 sensor_matrix.c F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:3 *ABS*:0000003f __SREG__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:4 *ABS*:0000003e __SP_H__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:5 *ABS*:0000003d __SP_L__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:6 *ABS*:00000000 __tmp_reg__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:7 *ABS*:00000001 __zero_reg__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:13 .text:00000000 sensor_matrix_create *COM*:00000112 m F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:53 .text:0000003e sensor_matrix_set_reading F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:81 .text:00000060 sensor_matrix_get_reading F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:113 .text:0000008a sensor_matrix_set_in_ring F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:163 .text:000000de sensor_matrix_get_in_ring F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:185 .text:000000f4 sensor_matrix_get_joined F:\DOCUME~1\Evan\LOCALS~1\Temp/ccVpMvUT.s:197 .text:000000fe sensor_matrix_get_size UNDEFINED SYMBOLS __do_copy_data __do_clear_bss