1 .file "mymath.c" 2 .arch atmega644p 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 .global pgm_sinlookup 11 .section .progmem.data,"a",@progbits 14 pgm_sinlookup: 15 0000 0000 .word 0 16 0002 8F00 .word 143 17 0004 1E01 .word 286 18 0006 AD01 .word 429 19 0008 3B02 .word 571 20 000a CA02 .word 714 21 000c 5803 .word 856 22 000e E603 .word 998 23 0010 7404 .word 1140 24 0012 0205 .word 1282 25 0014 8F05 .word 1423 26 0016 1B06 .word 1563 27 0018 A706 .word 1703 28 001a 3307 .word 1843 29 001c BE07 .word 1982 30 001e 4808 .word 2120 31 0020 D208 .word 2258 32 0022 5B09 .word 2395 33 0024 E309 .word 2531 34 0026 6B0A .word 2667 35 0028 F20A .word 2802 36 002a 780B .word 2936 37 002c FD0B .word 3069 38 002e 810C .word 3201 39 0030 040D .word 3332 40 0032 860D .word 3462 41 0034 070E .word 3591 42 0036 870E .word 3719 43 0038 060F .word 3846 44 003a 840F .word 3972 45 003c 0010 .word 4096 46 003e 7B10 .word 4219 47 0040 F510 .word 4341 48 0042 6E11 .word 4462 49 0044 E511 .word 4581 50 0046 5B12 .word 4699 51 0048 CF12 .word 4815 52 004a 4213 .word 4930 53 004c B313 .word 5043 54 004e 2314 .word 5155 55 0050 9214 .word 5266 56 0052 FE14 .word 5374 57 0054 6A15 .word 5482 58 0056 D315 .word 5587 59 0058 3B16 .word 5691 60 005a A116 .word 5793 61 005c 0517 .word 5893 62 005e 6717 .word 5991 63 0060 C817 .word 6088 64 0062 2718 .word 6183 65 0064 8318 .word 6275 66 0066 DE18 .word 6366 67 0068 3719 .word 6455 68 006a 8E19 .word 6542 69 006c E319 .word 6627 70 006e 361A .word 6710 71 0070 871A .word 6791 72 0072 D61A .word 6870 73 0074 231B .word 6947 74 0076 6E1B .word 7022 75 0078 B61B .word 7094 76 007a FD1B .word 7165 77 007c 411C .word 7233 78 007e 831C .word 7299 79 0080 C31C .word 7363 80 0082 001D .word 7424 81 0084 3C1D .word 7484 82 0086 751D .word 7541 83 0088 AB1D .word 7595 84 008a E01D .word 7648 85 008c 121E .word 7698 86 008e 421E .word 7746 87 0090 6F1E .word 7791 88 0092 9A1E .word 7834 89 0094 C31E .word 7875 90 0096 E91E .word 7913 91 0098 0D1F .word 7949 92 009a 2E1F .word 7982 93 009c 4D1F .word 8013 94 009e 691F .word 8041 95 00a0 841F .word 8068 96 00a2 9B1F .word 8091 97 00a4 B01F .word 8112 98 00a6 C31F .word 8131 99 00a8 D31F .word 8147 100 00aa E11F .word 8161 101 00ac EC1F .word 8172 102 00ae F51F .word 8181 103 00b0 FB1F .word 8187 104 00b2 FF1F .word 8191 105 00b4 0020 .word 8192 106 .text 107 .global c_sin_8192 109 c_sin_8192: 110 /* prologue: frame size=0 */ 111 0000 CF93 push r28 112 /* prologue end (size=1) */ 113 0002 FC01 movw r30,r24 114 0004 97FF sbrs r25,7 115 0006 05C0 rjmp .L2 116 0008 CFEF ldi r28,lo8(-1) 117 000a F095 com r31 118 000c E195 neg r30 119 000e FF4F sbci r31,lo8(-1) 120 0010 01C0 rjmp .L4 121 .L2: 122 0012 C1E0 ldi r28,lo8(1) 123 .L4: 124 0014 28E6 ldi r18,lo8(360) 125 0016 31E0 ldi r19,hi8(360) 126 0018 CF01 movw r24,r30 127 001a B901 movw r22,r18 128 001c 0E94 0000 call __divmodhi4 129 0020 FC01 movw r30,r24 130 0022 8B35 cpi r24,91 131 0024 9105 cpc r25,__zero_reg__ 132 0026 54F0 brlt .L12 133 0028 8B55 subi r24,lo8(-(-91)) 134 002a 9040 sbci r25,hi8(-(-91)) 135 002c 8A35 cpi r24,90 136 002e 9105 cpc r25,__zero_reg__ 137 0030 38F4 brsh .L7 138 0032 84EB ldi r24,lo8(180) 139 0034 90E0 ldi r25,hi8(180) 140 0036 8E1B sub r24,r30 141 0038 9F0B sbc r25,r31 142 003a FC01 movw r30,r24 143 .L12: 144 003c 41E0 ldi r20,lo8(1) 145 003e 0DC0 rjmp .L6 146 .L7: 147 0040 CF01 movw r24,r30 148 0042 855B subi r24,lo8(-(-181)) 149 0044 9040 sbci r25,hi8(-(-181)) 150 0046 8A35 cpi r24,90 151 0048 9105 cpc r25,__zero_reg__ 152 004a 18F4 brsh .L9 153 004c E45B subi r30,lo8(-(-180)) 154 004e F040 sbci r31,hi8(-(-180)) 155 0050 03C0 rjmp .L11 156 .L9: 157 0052 2E1B sub r18,r30 158 0054 3F0B sbc r19,r31 159 0056 F901 movw r30,r18 160 .L11: 161 0058 4FEF ldi r20,lo8(-1) 162 .L6: 163 005a EE0F add r30,r30 164 005c FF1F adc r31,r31 165 005e E050 subi r30,lo8(-(pgm_sinlookup)) 166 0060 F040 sbci r31,hi8(-(pgm_sinlookup)) 167 /* #APP */ 168 0062 2591 lpm r18, Z+ 169 0064 3491 lpm r19, Z 170 171 /* #NOAPP */ 172 0066 8C2F mov r24,r28 173 0068 9927 clr r25 174 006a 87FD sbrc r24,7 175 006c 9095 com r25 176 006e 289F mul r18,r24 177 0070 B001 movw r22,r0 178 0072 299F mul r18,r25 179 0074 700D add r23,r0 180 0076 389F mul r19,r24 181 0078 700D add r23,r0 182 007a 1124 clr r1 183 007c 842F mov r24,r20 184 007e 9927 clr r25 185 0080 87FD sbrc r24,7 186 0082 9095 com r25 187 0084 689F mul r22,r24 188 0086 A001 movw r20,r0 189 0088 699F mul r22,r25 190 008a 500D add r21,r0 191 008c 789F mul r23,r24 192 008e 500D add r21,r0 193 0090 1124 clr r1 194 0092 CA01 movw r24,r20 195 /* epilogue: frame size=0 */ 196 0094 CF91 pop r28 197 0096 0895 ret 198 /* epilogue end (size=2) */ 199 /* function c_sin_8192 size 80 (77) */ 201 .global c_cos_8192 203 c_cos_8192: 204 /* prologue: frame size=0 */ 205 /* prologue end (size=0) */ 206 0098 2AE5 ldi r18,lo8(90) 207 009a 30E0 ldi r19,hi8(90) 208 009c 281B sub r18,r24 209 009e 390B sbc r19,r25 210 00a0 C901 movw r24,r18 211 00a2 0E94 0000 call c_sin_8192 212 /* epilogue: frame size=0 */ 213 00a6 0895 ret 214 /* epilogue end (size=1) */ 215 /* function c_cos_8192 size 8 (7) */ 217 /* File "mymath.c": code 88 = 0x0058 ( 84), prologues 1, epilogues 3 */ DEFINED SYMBOLS *ABS*:00000000 mymath.c C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:3 *ABS*:0000003f __SREG__ C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:4 *ABS*:0000003e __SP_H__ C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:5 *ABS*:0000003d __SP_L__ C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:6 *ABS*:00000000 __tmp_reg__ C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:7 *ABS*:00000001 __zero_reg__ C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:14 .progmem.data:00000000 pgm_sinlookup C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:109 .text:00000000 c_sin_8192 C:\Users\Arthur-P\AppData\Local\Temp/ccW6aaaa.s:203 .text:00000098 c_cos_8192 UNDEFINED SYMBOLS __do_copy_data __do_clear_bss __divmodhi4