Subversion Repositories FlightCtrl

Rev

Rev 2300 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

   1                            .file   "mymath.c"
   2                            .arch atmega1284p
   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 00C0                  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 00C0                  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 04F0                  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 00F4                  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 00C0                  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 00F4                  brsh .L9
 153 004c E45B                  subi r30,lo8(-(-180))
 154 004e F040                  sbci r31,hi8(-(-180))
 155 0050 00C0                  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:\Temp/cctSHyeF.s:3      *ABS*:0000003f __SREG__
  C:\Temp/cctSHyeF.s:4      *ABS*:0000003e __SP_H__
  C:\Temp/cctSHyeF.s:5      *ABS*:0000003d __SP_L__
  C:\Temp/cctSHyeF.s:6      *ABS*:00000000 __tmp_reg__
  C:\Temp/cctSHyeF.s:7      *ABS*:00000001 __zero_reg__
  C:\Temp/cctSHyeF.s:14     .progmem.data:00000000 pgm_sinlookup
  C:\Temp/cctSHyeF.s:109    .text:00000000 c_sin_8192
  C:\Temp/cctSHyeF.s:203    .text:00000098 c_cos_8192

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__divmodhi4