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