Subversion Repositories dashGPS

Rev

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

Rev Author Line No. Line
16 mjames 1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                    page 1
2
 
3
 
4
   1                            .cpu cortex-m3
5
   2                            .eabi_attribute 20, 1
6
   3                            .eabi_attribute 21, 1
7
   4                            .eabi_attribute 23, 3
8
   5                            .eabi_attribute 24, 1
9
   6                            .eabi_attribute 25, 1
10
   7                            .eabi_attribute 26, 1
11
   8                            .eabi_attribute 30, 1
12
   9                            .eabi_attribute 34, 1
13
  10                            .eabi_attribute 18, 4
14
  11                            .file   "displayDial.cpp"
15
  12                            .text
16
  13                    .Ltext0:
17
  14                            .cfi_sections   .debug_frame
18
  15                            .section        .text._Z41__static_initialization_and_destruction_0ii,"ax",%progbits
19
  16                            .align  1
20
  17                            .arch armv7-m
21
  18                            .syntax unified
22
  19                            .thumb
23
  20                            .thumb_func
24
  21                            .fpu softvfp
25
  23                    _Z41__static_initialization_and_destruction_0ii:
26
  24                    .LVL0:
27
  25                    .LFB25:
28
  26                            .file 1 "../libOLED/src/displayDial.cpp"
29
   1:../libOLED/src/displayDial.cpp **** /*
30
   2:../libOLED/src/displayDial.cpp ****  * dials.c
31
   3:../libOLED/src/displayDial.cpp ****  *
32
   4:../libOLED/src/displayDial.cpp ****  *  Created on: 22 Jan 2016
33
   5:../libOLED/src/displayDial.cpp ****  *      Author: Mike
34
   6:../libOLED/src/displayDial.cpp ****  */
35
   7:../libOLED/src/displayDial.cpp ****
36
   8:../libOLED/src/displayDial.cpp **** #include "libOLED/ap_math.H"
37
   9:../libOLED/src/displayDial.cpp **** #include "libOLED/displayclass.H"
38
  10:../libOLED/src/displayDial.cpp **** #include "libOLED/fontclass.H"
39
  11:../libOLED/src/displayDial.cpp **** #include "libOLED/displayDial.H"
40
  12:../libOLED/src/displayDial.cpp ****
41
  13:../libOLED/src/displayDial.cpp ****
42
  14:../libOLED/src/displayDial.cpp **** static ap_math math;
43
  15:../libOLED/src/displayDial.cpp **** // this is the number of degrees between top centre of scale and
44
  16:../libOLED/src/displayDial.cpp **** // left or right hand end of scale : 90 degrees produces a semicircle.
45
  17:../libOLED/src/displayDial.cpp ****
46
  18:../libOLED/src/displayDial.cpp ****
47
  19:../libOLED/src/displayDial.cpp **** displayDial_t::displayDial_t(display_t & display,uint8_t x, uint8_t y, uint8_t siz,uint16_t angle_)
48
  20:../libOLED/src/displayDial.cpp **** {
49
  21:../libOLED/src/displayDial.cpp ****
50
  22:../libOLED/src/displayDial.cpp **** }
51
  23:../libOLED/src/displayDial.cpp ****
52
  24:../libOLED/src/displayDial.cpp **** /* position is integer from 0 to SINE_STEPS */
53
  25:../libOLED/src/displayDial.cpp **** void
54
  26:../libOLED/src/displayDial.cpp **** displayDial_t::draw_needle (int16_t position)
55
  27:../libOLED/src/displayDial.cpp **** {
56
  28:../libOLED/src/displayDial.cpp ****   int ang = math.SINE_SCALING * ((position - (math.SINE_STEPS/2)) * m_a1) / (math.SINE_STEPS/2);
57
  29:../libOLED/src/displayDial.cpp ****
58
  30:../libOLED/src/displayDial.cpp ****   int si = math.ap_sin (ang);
59
  31:../libOLED/src/displayDial.cpp ****   int co = math.ap_cos (ang);
60
  32:../libOLED/src/displayDial.cpp ****
61
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 2
62
 
63
 
64
  33:../libOLED/src/displayDial.cpp ****   /* calculate a shift for a second side of the needle */
65
  34:../libOLED/src/displayDial.cpp ****   int xl = math.ap_sin (ang - math.SINE_STEPS);
66
  35:../libOLED/src/displayDial.cpp ****   int yl = math.ap_cos (ang - math.SINE_STEPS);
67
  36:../libOLED/src/displayDial.cpp ****
68
  37:../libOLED/src/displayDial.cpp ****   int si2 = m_siz + 2;
69
  38:../libOLED/src/displayDial.cpp ****   int si3 = 2 * m_siz / 3;
70
  39:../libOLED/src/displayDial.cpp ****
71
  40:../libOLED/src/displayDial.cpp ****   int xs,ys;
72
  41:../libOLED/src/displayDial.cpp ****   // three parallel lines
73
  42:../libOLED/src/displayDial.cpp ****   xs = -xl;
74
  43:../libOLED/src/displayDial.cpp ****   ys = -yl;
75
  44:../libOLED/src/displayDial.cpp ****   int step;
76
  45:../libOLED/src/displayDial.cpp ****   for(step =0; step < 3; step++)
77
  46:../libOLED/src/displayDial.cpp ****     {
78
  47:../libOLED/src/displayDial.cpp ****     m_display.drawLine (math.AP_SCALE(si*si2-xs) + m_xo, m_yo - math.AP_SCALE(co * si2 - ys),
79
  48:../libOLED/src/displayDial.cpp ****
80
  49:../libOLED/src/displayDial.cpp ****     math.AP_SCALE(si*si3-xs) + m_xo,m_yo - math.AP_SCALE(co * si3 - ys), INVERT);
81
  50:../libOLED/src/displayDial.cpp ****     xs+=xl;
82
  51:../libOLED/src/displayDial.cpp ****     ys+=yl;
83
  52:../libOLED/src/displayDial.cpp ****     }
84
  53:../libOLED/src/displayDial.cpp ****  }
85
  54:../libOLED/src/displayDial.cpp ****
86
  55:../libOLED/src/displayDial.cpp ****
87
  56:../libOLED/src/displayDial.cpp **** void displayDial_t::draw_scale ( int16_t low, int16_t high, uint8_t width, uint8_t num_step,int16_t
88
  57:../libOLED/src/displayDial.cpp **** {
89
  58:../libOLED/src/displayDial.cpp ****
90
  59:../libOLED/src/displayDial.cpp ****   int ang;
91
  60:../libOLED/src/displayDial.cpp ****   m_low = low;
92
  61:../libOLED/src/displayDial.cpp ****   m_high = high;
93
  62:../libOLED/src/displayDial.cpp ****   int sc_low  = low/scale;
94
  63:../libOLED/src/displayDial.cpp ****   int sc_high = high/scale;
95
  64:../libOLED/src/displayDial.cpp ****   int step = 256 * m_a1 * 2 / (4 * (sc_high - sc_low));
96
  65:../libOLED/src/displayDial.cpp ****   int t;
97
  66:../libOLED/src/displayDial.cpp ****   ang = -m_a1 * 256;
98
  67:../libOLED/src/displayDial.cpp ****   for (t = sc_low * 4; t <= sc_high * 4; t++)
99
  68:../libOLED/src/displayDial.cpp ****     {
100
  69:../libOLED/src/displayDial.cpp ****       int si = math.ap_sin ((ang*math.SINE_SCALING) / 256);
101
  70:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
102
  71:../libOLED/src/displayDial.cpp ****
103
  72:../libOLED/src/displayDial.cpp ****       int len;
104
  73:../libOLED/src/displayDial.cpp ****       switch (t % 4)
105
  74:../libOLED/src/displayDial.cpp ****        {
106
  75:../libOLED/src/displayDial.cpp ****        case 0:
107
  76:../libOLED/src/displayDial.cpp ****          len = width;
108
  77:../libOLED/src/displayDial.cpp ****          break;
109
  78:../libOLED/src/displayDial.cpp ****        case 1:
110
  79:../libOLED/src/displayDial.cpp ****        case 3:
111
  80:../libOLED/src/displayDial.cpp ****        case -1:
112
  81:../libOLED/src/displayDial.cpp ****        case -3:
113
  82:../libOLED/src/displayDial.cpp ****          len = width / 4;
114
  83:../libOLED/src/displayDial.cpp ****          break;
115
  84:../libOLED/src/displayDial.cpp ****        case 2:
116
  85:../libOLED/src/displayDial.cpp ****        case -2:
117
  86:../libOLED/src/displayDial.cpp ****          len = width / 2;
118
  87:../libOLED/src/displayDial.cpp ****          break;
119
  88:../libOLED/src/displayDial.cpp ****        }
120
  89:../libOLED/src/displayDial.cpp ****
121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 3
122
 
123
 
124
  90:../libOLED/src/displayDial.cpp ****       m_display.drawLine (math.AP_SCALE((m_siz)*si) + m_xo, m_yo - math.AP_SCALE((m_siz) * co),
125
  91:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
126
  92:../libOLED/src/displayDial.cpp ****                m_yo - math.AP_SCALE((m_siz - len) * co), WHITE);
127
  93:../libOLED/src/displayDial.cpp ****       ang += step;
128
  94:../libOLED/src/displayDial.cpp ****     }
129
  95:../libOLED/src/displayDial.cpp ****
130
  96:../libOLED/src/displayDial.cpp **** }
131
  97:../libOLED/src/displayDial.cpp ****
132
  98:../libOLED/src/displayDial.cpp ****
133
  99:../libOLED/src/displayDial.cpp **** void displayDial_t::draw_limits()
134
 100:../libOLED/src/displayDial.cpp **** {
135
 101:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 0,56,0,10,m_low,WHITE);
136
 102:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 120,56,1,10,m_high,WHITE);
137
 103:../libOLED/src/displayDial.cpp **** }
138
  27                            .loc 1 103 1 view -0
139
  28                            .cfi_startproc
140
  29                            @ args = 0, pretend = 0, frame = 0
141
  30                            @ frame_needed = 0, uses_anonymous_args = 0
142
  31                            .loc 1 103 1 is_stmt 0 view .LVU1
143
  32 0000 0128                  cmp     r0, #1
144
  33 0002 00D0                  beq     .L7
145
  34 0004 7047                  bx      lr
146
  35                    .L7:
147
  36                            .loc 1 103 1 discriminator 1 view .LVU2
148
  37 0006 08B5                  push    {r3, lr}
149
  38                    .LCFI0:
150
  39                            .cfi_def_cfa_offset 8
151
  40                            .cfi_offset 3, -8
152
  41                            .cfi_offset 14, -4
153
  42                            .loc 1 103 1 discriminator 1 view .LVU3
154
  43 0008 4FF6FF73              movw    r3, #65535
155
  44 000c 9942                  cmp     r1, r3
156
  45 000e 00D0                  beq     .L8
157
  46                    .LVL1:
158
  47                    .L1:
159
  48                            .loc 1 103 1 view .LVU4
160
  49 0010 08BD                  pop     {r3, pc}
161
  50                    .LVL2:
162
  51                    .L8:
163
  14:../libOLED/src/displayDial.cpp **** // this is the number of degrees between top centre of scale and
164
  52                            .loc 1 14 16 view .LVU5
165
  53 0012 0248                  ldr     r0, .L9
166
  54                    .LVL3:
167
  14:../libOLED/src/displayDial.cpp **** // this is the number of degrees between top centre of scale and
168
  55                            .loc 1 14 16 view .LVU6
169
  56 0014 FFF7FEFF              bl      _ZN7ap_mathC1Ev
170
  57                    .LVL4:
171
  58                            .loc 1 103 1 view .LVU7
172
  59 0018 FAE7                  b       .L1
173
  60                    .L10:
174
  61 001a 00BF                  .align  2
175
  62                    .L9:
176
  63 001c 00000000              .word   .LANCHOR0
177
  64                            .cfi_endproc
178
  65                    .LFE25:
179
  67                            .section        .text._ZN13displayDial_tC2ER9display_thhht,"ax",%progbits
180
  68                            .align  1
181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 4
182
 
183
 
184
  69                            .global _ZN13displayDial_tC2ER9display_thhht
185
  70                            .syntax unified
186
  71                            .thumb
187
  72                            .thumb_func
188
  73                            .fpu softvfp
189
  75                    _ZN13displayDial_tC2ER9display_thhht:
190
  76                    .LVL5:
191
  77                    .LFB20:
192
  19:../libOLED/src/displayDial.cpp **** {
193
  78                            .loc 1 19 1 is_stmt 1 view -0
194
  79                            .cfi_startproc
195
  80                            @ args = 8, pretend = 0, frame = 0
196
  81                            @ frame_needed = 0, uses_anonymous_args = 0
197
  82                            @ link register save eliminated.
198
  19:../libOLED/src/displayDial.cpp **** {
199
  83                            .loc 1 19 1 is_stmt 0 view .LVU9
200
  84 0000 10B4                  push    {r4}
201
  85                    .LCFI1:
202
  86                            .cfi_def_cfa_offset 4
203
  87                            .cfi_offset 4, -4
204
  88                    .LBB20:
205
  19:../libOLED/src/displayDial.cpp **** {
206
  89                            .loc 1 19 160 view .LVU10
207
  90 0002 0160                  str     r1, [r0]
208
  91 0004 0271                  strb    r2, [r0, #4]
209
  92 0006 4371                  strb    r3, [r0, #5]
210
  93 0008 9DF80430              ldrb    r3, [sp, #4]    @ zero_extendqisi2
211
  94                    .LVL6:
212
  19:../libOLED/src/displayDial.cpp **** {
213
  95                            .loc 1 19 160 view .LVU11
214
  96 000c 8371                  strb    r3, [r0, #6]
215
  97 000e BDF80830              ldrh    r3, [sp, #8]
216
  98 0012 0381                  strh    r3, [r0, #8]    @ movhi
217
  99                    .LBE20:
218
  22:../libOLED/src/displayDial.cpp ****
219
 100                            .loc 1 22 1 view .LVU12
220
 101 0014 10BC                  pop     {r4}
221
 102                    .LCFI2:
222
 103                            .cfi_restore 4
223
 104                            .cfi_def_cfa_offset 0
224
 105                    .LVL7:
225
  22:../libOLED/src/displayDial.cpp ****
226
 106                            .loc 1 22 1 view .LVU13
227
 107 0016 7047                  bx      lr
228
 108                            .cfi_endproc
229
 109                    .LFE20:
230
 111                            .global _ZN13displayDial_tC1ER9display_thhht
231
 112                            .thumb_set _ZN13displayDial_tC1ER9display_thhht,_ZN13displayDial_tC2ER9display_thhht
232
 113                            .section        .text._ZN13displayDial_t11draw_needleEs,"ax",%progbits
233
 114                            .align  1
234
 115                            .global _ZN13displayDial_t11draw_needleEs
235
 116                            .syntax unified
236
 117                            .thumb
237
 118                            .thumb_func
238
 119                            .fpu softvfp
239
 121                    _ZN13displayDial_t11draw_needleEs:
240
 122                    .LVL8:
241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 5
242
 
243
 
244
 123                    .LFB22:
245
  27:../libOLED/src/displayDial.cpp ****   int ang = math.SINE_SCALING * ((position - (math.SINE_STEPS/2)) * m_a1) / (math.SINE_STEPS/2);
246
 124                            .loc 1 27 1 is_stmt 1 view -0
247
 125                            .cfi_startproc
248
 126                            @ args = 0, pretend = 0, frame = 8
249
 127                            @ frame_needed = 0, uses_anonymous_args = 0
250
  27:../libOLED/src/displayDial.cpp ****   int ang = math.SINE_SCALING * ((position - (math.SINE_STEPS/2)) * m_a1) / (math.SINE_STEPS/2);
251
 128                            .loc 1 27 1 is_stmt 0 view .LVU15
252
 129 0000 2DE9F04F              push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
253
 130                    .LCFI3:
254
 131                            .cfi_def_cfa_offset 36
255
 132                            .cfi_offset 4, -36
256
 133                            .cfi_offset 5, -32
257
 134                            .cfi_offset 6, -28
258
 135                            .cfi_offset 7, -24
259
 136                            .cfi_offset 8, -20
260
 137                            .cfi_offset 9, -16
261
 138                            .cfi_offset 10, -12
262
 139                            .cfi_offset 11, -8
263
 140                            .cfi_offset 14, -4
264
 141 0004 85B0                  sub     sp, sp, #20
265
 142                    .LCFI4:
266
 143                            .cfi_def_cfa_offset 56
267
 144 0006 0746                  mov     r7, r0
268
  28:../libOLED/src/displayDial.cpp ****
269
 145                            .loc 1 28 3 is_stmt 1 view .LVU16
270
  28:../libOLED/src/displayDial.cpp ****
271
 146                            .loc 1 28 44 is_stmt 0 view .LVU17
272
 147 0008 B439                  subs    r1, r1, #180
273
 148                    .LVL9:
274
  28:../libOLED/src/displayDial.cpp ****
275
 149                            .loc 1 28 69 view .LVU18
276
 150 000a 0489                  ldrh    r4, [r0, #8]
277
  28:../libOLED/src/displayDial.cpp ****
278
 151                            .loc 1 28 67 view .LVU19
279
 152 000c 04FB01F1              mul     r1, r4, r1
280
  28:../libOLED/src/displayDial.cpp ****
281
 153                            .loc 1 28 7 view .LVU20
282
 154 0010 314C                  ldr     r4, .L17
283
 155 0012 84FB0134              smull   r3, r4, r4, r1
284
 156 0016 0C44                  add     r4, r4, r1
285
 157 0018 C917                  asrs    r1, r1, #31
286
 158 001a C1EB6414              rsb     r4, r1, r4, asr #5
287
 159                    .LVL10:
288
  30:../libOLED/src/displayDial.cpp ****   int co = math.ap_cos (ang);
289
 160                            .loc 1 30 3 is_stmt 1 view .LVU21
290
  30:../libOLED/src/displayDial.cpp ****   int co = math.ap_cos (ang);
291
 161                            .loc 1 30 24 is_stmt 0 view .LVU22
292
 162 001e 2F4D                  ldr     r5, .L17+4
293
 163 0020 2146                  mov     r1, r4
294
 164 0022 2846                  mov     r0, r5
295
 165                    .LVL11:
296
  30:../libOLED/src/displayDial.cpp ****   int co = math.ap_cos (ang);
297
 166                            .loc 1 30 24 view .LVU23
298
 167 0024 FFF7FEFF              bl      _ZN7ap_math6ap_sinEi
299
 168                    .LVL12:
300
 169 0028 8346                  mov     fp, r0
301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 6
302
 
303
 
304
 170                    .LVL13:
305
  31:../libOLED/src/displayDial.cpp ****
306
 171                            .loc 1 31 3 is_stmt 1 view .LVU24
307
  31:../libOLED/src/displayDial.cpp ****
308
 172                            .loc 1 31 24 is_stmt 0 view .LVU25
309
 173 002a 2146                  mov     r1, r4
310
 174 002c 2846                  mov     r0, r5
311
 175                    .LVL14:
312
  31:../libOLED/src/displayDial.cpp ****
313
 176                            .loc 1 31 24 view .LVU26
314
 177 002e FFF7FEFF              bl      _ZN7ap_math6ap_cosEi
315
 178                    .LVL15:
316
 179 0032 8246                  mov     r10, r0
317
 180                    .LVL16:
318
  34:../libOLED/src/displayDial.cpp ****   int yl = math.ap_cos (ang - math.SINE_STEPS);
319
 181                            .loc 1 34 3 is_stmt 1 view .LVU27
320
  34:../libOLED/src/displayDial.cpp ****   int yl = math.ap_cos (ang - math.SINE_STEPS);
321
 182                            .loc 1 34 24 is_stmt 0 view .LVU28
322
 183 0034 A4F5B474              sub     r4, r4, #360
323
 184                    .LVL17:
324
  34:../libOLED/src/displayDial.cpp ****   int yl = math.ap_cos (ang - math.SINE_STEPS);
325
 185                            .loc 1 34 24 view .LVU29
326
 186 0038 2146                  mov     r1, r4
327
 187 003a 2846                  mov     r0, r5
328
 188                    .LVL18:
329
  34:../libOLED/src/displayDial.cpp ****   int yl = math.ap_cos (ang - math.SINE_STEPS);
330
 189                            .loc 1 34 24 view .LVU30
331
 190 003c FFF7FEFF              bl      _ZN7ap_math6ap_sinEi
332
 191                    .LVL19:
333
 192 0040 8046                  mov     r8, r0
334
 193 0042 0290                  str     r0, [sp, #8]
335
 194                    .LVL20:
336
  35:../libOLED/src/displayDial.cpp ****
337
 195                            .loc 1 35 3 is_stmt 1 view .LVU31
338
  35:../libOLED/src/displayDial.cpp ****
339
 196                            .loc 1 35 24 is_stmt 0 view .LVU32
340
 197 0044 2146                  mov     r1, r4
341
 198 0046 2846                  mov     r0, r5
342
 199                    .LVL21:
343
  35:../libOLED/src/displayDial.cpp ****
344
 200                            .loc 1 35 24 view .LVU33
345
 201 0048 FFF7FEFF              bl      _ZN7ap_math6ap_cosEi
346
 202                    .LVL22:
347
 203 004c 0390                  str     r0, [sp, #12]
348
 204                    .LVL23:
349
  37:../libOLED/src/displayDial.cpp ****   int si3 = 2 * m_siz / 3;
350
 205                            .loc 1 37 3 is_stmt 1 view .LVU34
351
  37:../libOLED/src/displayDial.cpp ****   int si3 = 2 * m_siz / 3;
352
 206                            .loc 1 37 13 is_stmt 0 view .LVU35
353
 207 004e BE79                  ldrb    r6, [r7, #6]    @ zero_extendqisi2
354
  37:../libOLED/src/displayDial.cpp ****   int si3 = 2 * m_siz / 3;
355
 208                            .loc 1 37 7 view .LVU36
356
 209 0050 06F10209              add     r9, r6, #2
357
 210                    .LVL24:
358
  38:../libOLED/src/displayDial.cpp ****
359
 211                            .loc 1 38 3 is_stmt 1 view .LVU37
360
  38:../libOLED/src/displayDial.cpp ****
361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 7
362
 
363
 
364
 212                            .loc 1 38 15 is_stmt 0 view .LVU38
365
 213 0054 7600                  lsls    r6, r6, #1
366
  38:../libOLED/src/displayDial.cpp ****
367
 214                            .loc 1 38 7 view .LVU39
368
 215 0056 224B                  ldr     r3, .L17+8
369
 216 0058 83FB0636              smull   r3, r6, r3, r6
370
 217                    .LVL25:
371
  40:../libOLED/src/displayDial.cpp ****   // three parallel lines
372
 218                            .loc 1 40 3 is_stmt 1 view .LVU40
373
  42:../libOLED/src/displayDial.cpp ****   ys = -yl;
374
 219                            .loc 1 42 3 view .LVU41
375
  42:../libOLED/src/displayDial.cpp ****   ys = -yl;
376
 220                            .loc 1 42 6 is_stmt 0 view .LVU42
377
 221 005c 4346                  mov     r3, r8
378
 222 005e 5D42                  rsbs    r5, r3, #0
379
 223                    .LVL26:
380
  43:../libOLED/src/displayDial.cpp ****   int step;
381
 224                            .loc 1 43 3 is_stmt 1 view .LVU43
382
  43:../libOLED/src/displayDial.cpp ****   int step;
383
 225                            .loc 1 43 6 is_stmt 0 view .LVU44
384
 226 0060 4442                  rsbs    r4, r0, #0
385
 227                    .LVL27:
386
  44:../libOLED/src/displayDial.cpp ****   for(step =0; step < 3; step++)
387
 228                            .loc 1 44 3 is_stmt 1 view .LVU45
388
  45:../libOLED/src/displayDial.cpp ****     {
389
 229                            .loc 1 45 3 view .LVU46
390
  45:../libOLED/src/displayDial.cpp ****     {
391
 230                            .loc 1 45 12 is_stmt 0 view .LVU47
392
 231 0062 4FF00008              mov     r8, #0
393
 232                    .LVL28:
394
 233                    .L15:
395
  45:../libOLED/src/displayDial.cpp ****     {
396
 234                            .loc 1 45 21 discriminator 3 view .LVU48
397
 235 0066 B8F1020F              cmp     r8, #2
398
 236 006a 32DC                  bgt     .L13
399
  47:../libOLED/src/displayDial.cpp ****
400
 237                            .loc 1 47 5 is_stmt 1 discriminator 2 view .LVU49
401
  47:../libOLED/src/displayDial.cpp ****
402
 238                            .loc 1 47 41 is_stmt 0 discriminator 2 view .LVU50
403
 239 006c 09FB0BF1              mul     r1, r9, fp
404
  47:../libOLED/src/displayDial.cpp ****
405
 240                            .loc 1 47 38 discriminator 2 view .LVU51
406
 241 0070 491B                  subs    r1, r1, r5
407
 242                    .LVL29:
408
 243                    .LBB21:
409
 244                    .LBI21:
410
 245                            .file 2 "../libOLED/inc/libOLED/ap_math.H"
411
   1:../libOLED/inc/libOLED/ap_math.H **** /*
412
   2:../libOLED/inc/libOLED/ap_math.H ****  * ap_math.h
413
   3:../libOLED/inc/libOLED/ap_math.H ****  *
414
   4:../libOLED/inc/libOLED/ap_math.H ****  *  Created on: 31 Jan 2016
415
   5:../libOLED/inc/libOLED/ap_math.H ****  *      Author: Mike
416
   6:../libOLED/inc/libOLED/ap_math.H ****  */
417
   7:../libOLED/inc/libOLED/ap_math.H ****
418
   8:../libOLED/inc/libOLED/ap_math.H **** #pragma once
419
   9:../libOLED/inc/libOLED/ap_math.H ****
420
  10:../libOLED/inc/libOLED/ap_math.H **** #include <cstdint>
421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 8
422
 
423
 
424
  11:../libOLED/inc/libOLED/ap_math.H ****
425
  12:../libOLED/inc/libOLED/ap_math.H ****
426
  13:../libOLED/inc/libOLED/ap_math.H **** class ap_math
427
  14:../libOLED/inc/libOLED/ap_math.H **** {
428
  15:../libOLED/inc/libOLED/ap_math.H **** public:
429
  16:../libOLED/inc/libOLED/ap_math.H ****   ap_math ();
430
  17:../libOLED/inc/libOLED/ap_math.H ****
431
  18:../libOLED/inc/libOLED/ap_math.H ****   int
432
  19:../libOLED/inc/libOLED/ap_math.H ****   ap_sin (int angle);
433
  20:../libOLED/inc/libOLED/ap_math.H ****
434
  21:../libOLED/inc/libOLED/ap_math.H ****   int
435
  22:../libOLED/inc/libOLED/ap_math.H ****   ap_cos (int angle);
436
  23:../libOLED/inc/libOLED/ap_math.H ****
437
  24:../libOLED/inc/libOLED/ap_math.H ****   unsigned const AP_K = 256;
438
  25:../libOLED/inc/libOLED/ap_math.H ****
439
  26:../libOLED/inc/libOLED/ap_math.H ****   int AP_SCALE(int x) {return x/AP_K; };
440
 246                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU52
441
 247                    .LBB22:
442
 248                            .loc 2 26 24 discriminator 2 view .LVU53
443
 249                            .loc 2 26 33 is_stmt 0 discriminator 2 view .LVU54
444
 250 0072 1A4B                  ldr     r3, .L17+4
445
 251 0074 D3F800E0              ldr     lr, [r3]
446
 252                            .loc 2 26 32 discriminator 2 view .LVU55
447
 253 0078 B1FBFEF1              udiv    r1, r1, lr
448
 254                    .LVL30:
449
 255                            .loc 2 26 32 discriminator 2 view .LVU56
450
 256                    .LBE22:
451
 257                    .LBE21:
452
  47:../libOLED/src/displayDial.cpp ****
453
 258                            .loc 1 47 52 discriminator 2 view .LVU57
454
 259 007c 97F804C0              ldrb    ip, [r7, #4]    @ zero_extendqisi2
455
  47:../libOLED/src/displayDial.cpp ****
456
 260                            .loc 1 47 50 discriminator 2 view .LVU58
457
 261 0080 6144                  add     r1, r1, ip
458
  47:../libOLED/src/displayDial.cpp ****
459
 262                            .loc 1 47 58 discriminator 2 view .LVU59
460
 263 0082 7879                  ldrb    r0, [r7, #5]    @ zero_extendqisi2
461
  47:../libOLED/src/displayDial.cpp ****
462
 264                            .loc 1 47 82 discriminator 2 view .LVU60
463
 265 0084 09FB0AF2              mul     r2, r9, r10
464
  47:../libOLED/src/displayDial.cpp ****
465
 266                            .loc 1 47 78 discriminator 2 view .LVU61
466
 267 0088 121B                  subs    r2, r2, r4
467
 268                    .LVL31:
468
 269                    .LBB23:
469
 270                    .LBI23:
470
 271                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU62
471
 272                    .LBB24:
472
 273                            .loc 2 26 24 discriminator 2 view .LVU63
473
 274                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU64
474
 275 008a B2FBFEF2              udiv    r2, r2, lr
475
 276                    .LVL32:
476
 277                            .loc 2 26 32 discriminator 2 view .LVU65
477
 278                    .LBE24:
478
 279                    .LBE23:
479
  47:../libOLED/src/displayDial.cpp ****
480
 280                            .loc 1 47 63 discriminator 2 view .LVU66
481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 9
482
 
483
 
484
 281 008e 821A                  subs    r2, r0, r2
485
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
486
 282                            .loc 1 49 21 discriminator 2 view .LVU67
487
 283 0090 06FB0BF3              mul     r3, r6, fp
488
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
489
 284                            .loc 1 49 18 discriminator 2 view .LVU68
490
 285 0094 5B1B                  subs    r3, r3, r5
491
 286                    .LVL33:
492
 287                    .LBB25:
493
 288                    .LBI25:
494
 289                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU69
495
 290                    .LBB26:
496
 291                            .loc 2 26 24 discriminator 2 view .LVU70
497
 292                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU71
498
 293 0096 B3FBFEF3              udiv    r3, r3, lr
499
 294                    .LVL34:
500
 295                            .loc 2 26 32 discriminator 2 view .LVU72
501
 296                    .LBE26:
502
 297                    .LBE25:
503
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
504
 298                            .loc 1 49 30 discriminator 2 view .LVU73
505
 299 009a 6344                  add     r3, r3, ip
506
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
507
 300                            .loc 1 49 61 discriminator 2 view .LVU74
508
 301 009c 06FB0AFC              mul     ip, r6, r10
509
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
510
 302                            .loc 1 49 57 discriminator 2 view .LVU75
511
 303 00a0 ACEB040C              sub     ip, ip, r4
512
 304                    .LVL35:
513
 305                    .LBB27:
514
 306                    .LBI27:
515
 307                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU76
516
 308                    .LBB28:
517
 309                            .loc 2 26 24 discriminator 2 view .LVU77
518
 310                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU78
519
 311 00a4 BCFBFEFC              udiv    ip, ip, lr
520
 312                    .LVL36:
521
 313                            .loc 2 26 32 discriminator 2 view .LVU79
522
 314                    .LBE28:
523
 315                    .LBE27:
524
  49:../libOLED/src/displayDial.cpp ****     xs+=xl;
525
 316                            .loc 1 49 42 discriminator 2 view .LVU80
526
 317 00a8 A0EB0C00              sub     r0, r0, ip
527
  47:../libOLED/src/displayDial.cpp ****
528
 318                            .loc 1 47 24 discriminator 2 view .LVU81
529
 319 00ac 4FF0030C              mov     ip, #3
530
 320 00b0 CDF804C0              str     ip, [sp, #4]
531
 321 00b4 00B2                  sxth    r0, r0
532
 322 00b6 0090                  str     r0, [sp]
533
 323 00b8 1BB2                  sxth    r3, r3
534
 324 00ba 12B2                  sxth    r2, r2
535
 325 00bc 09B2                  sxth    r1, r1
536
 326 00be 3868                  ldr     r0, [r7]
537
 327 00c0 FFF7FEFF              bl      _ZN9display_t8drawLineEssss8colour_t
538
 328                    .LVL37:
539
  50:../libOLED/src/displayDial.cpp ****     ys+=yl;
540
 329                            .loc 1 50 5 is_stmt 1 discriminator 2 view .LVU82
541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 10
542
 
543
 
544
  50:../libOLED/src/displayDial.cpp ****     ys+=yl;
545
 330                            .loc 1 50 7 is_stmt 0 discriminator 2 view .LVU83
546
 331 00c4 029B                  ldr     r3, [sp, #8]
547
 332 00c6 1D44                  add     r5, r5, r3
548
 333                    .LVL38:
549
  51:../libOLED/src/displayDial.cpp ****     }
550
 334                            .loc 1 51 5 is_stmt 1 discriminator 2 view .LVU84
551
  51:../libOLED/src/displayDial.cpp ****     }
552
 335                            .loc 1 51 7 is_stmt 0 discriminator 2 view .LVU85
553
 336 00c8 039B                  ldr     r3, [sp, #12]
554
 337 00ca 1C44                  add     r4, r4, r3
555
 338                    .LVL39:
556
  45:../libOLED/src/displayDial.cpp ****     {
557
 339                            .loc 1 45 3 discriminator 2 view .LVU86
558
 340 00cc 08F10108              add     r8, r8, #1
559
 341                    .LVL40:
560
  45:../libOLED/src/displayDial.cpp ****     {
561
 342                            .loc 1 45 3 discriminator 2 view .LVU87
562
 343 00d0 C9E7                  b       .L15
563
 344                    .L13:
564
  53:../libOLED/src/displayDial.cpp ****
565
 345                            .loc 1 53 2 view .LVU88
566
 346 00d2 05B0                  add     sp, sp, #20
567
 347                    .LCFI5:
568
 348                            .cfi_def_cfa_offset 36
569
 349                            @ sp needed
570
 350 00d4 BDE8F08F              pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
571
 351                    .LVL41:
572
 352                    .L18:
573
  53:../libOLED/src/displayDial.cpp ****
574
 353                            .loc 1 53 2 view .LVU89
575
 354                            .align  2
576
 355                    .L17:
577
 356 00d8 B7600BB6              .word   -1240768329
578
 357 00dc 00000000              .word   .LANCHOR0
579
 358 00e0 56555555              .word   1431655766
580
 359                            .cfi_endproc
581
 360                    .LFE22:
582
 362                            .section        .text._ZN13displayDial_t10draw_scaleEsshhs,"ax",%progbits
583
 363                            .align  1
584
 364                            .global _ZN13displayDial_t10draw_scaleEsshhs
585
 365                            .syntax unified
586
 366                            .thumb
587
 367                            .thumb_func
588
 368                            .fpu softvfp
589
 370                    _ZN13displayDial_t10draw_scaleEsshhs:
590
 371                    .LVL42:
591
 372                    .LFB23:
592
  57:../libOLED/src/displayDial.cpp ****
593
 373                            .loc 1 57 1 is_stmt 1 view -0
594
 374                            .cfi_startproc
595
 375                            @ args = 8, pretend = 0, frame = 8
596
 376                            @ frame_needed = 0, uses_anonymous_args = 0
597
  57:../libOLED/src/displayDial.cpp ****
598
 377                            .loc 1 57 1 is_stmt 0 view .LVU91
599
 378 0000 2DE9F04F              push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
600
 379                    .LCFI6:
601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 11
602
 
603
 
604
 380                            .cfi_def_cfa_offset 36
605
 381                            .cfi_offset 4, -36
606
 382                            .cfi_offset 5, -32
607
 383                            .cfi_offset 6, -28
608
 384                            .cfi_offset 7, -24
609
 385                            .cfi_offset 8, -20
610
 386                            .cfi_offset 9, -16
611
 387                            .cfi_offset 10, -12
612
 388                            .cfi_offset 11, -8
613
 389                            .cfi_offset 14, -4
614
 390 0004 85B0                  sub     sp, sp, #20
615
 391                    .LCFI7:
616
 392                            .cfi_def_cfa_offset 56
617
 393 0006 8046                  mov     r8, r0
618
 394 0008 0393                  str     r3, [sp, #12]
619
 395 000a BDF93C30              ldrsh   r3, [sp, #60]
620
 396                    .LVL43:
621
  59:../libOLED/src/displayDial.cpp ****   m_low = low;
622
 397                            .loc 1 59 3 is_stmt 1 view .LVU92
623
  60:../libOLED/src/displayDial.cpp ****   m_high = high;
624
 398                            .loc 1 60 3 view .LVU93
625
  60:../libOLED/src/displayDial.cpp ****   m_high = high;
626
 399                            .loc 1 60 9 is_stmt 0 view .LVU94
627
 400 000e 4181                  strh    r1, [r0, #10]   @ movhi
628
  61:../libOLED/src/displayDial.cpp ****   int sc_low  = low/scale;
629
 401                            .loc 1 61 3 is_stmt 1 view .LVU95
630
  61:../libOLED/src/displayDial.cpp ****   int sc_low  = low/scale;
631
 402                            .loc 1 61 10 is_stmt 0 view .LVU96
632
 403 0010 8281                  strh    r2, [r0, #12]   @ movhi
633
  62:../libOLED/src/displayDial.cpp ****   int sc_high = high/scale;
634
 404                            .loc 1 62 3 is_stmt 1 view .LVU97
635
  62:../libOLED/src/displayDial.cpp ****   int sc_high = high/scale;
636
 405                            .loc 1 62 7 is_stmt 0 view .LVU98
637
 406 0012 91FBF3F1              sdiv    r1, r1, r3
638
 407                    .LVL44:
639
  63:../libOLED/src/displayDial.cpp ****   int step = 256 * m_a1 * 2 / (4 * (sc_high - sc_low));
640
 408                            .loc 1 63 3 is_stmt 1 view .LVU99
641
  63:../libOLED/src/displayDial.cpp ****   int step = 256 * m_a1 * 2 / (4 * (sc_high - sc_low));
642
 409                            .loc 1 63 7 is_stmt 0 view .LVU100
643
 410 0016 92FBF3FB              sdiv    fp, r2, r3
644
 411                    .LVL45:
645
  64:../libOLED/src/displayDial.cpp ****   int t;
646
 412                            .loc 1 64 3 is_stmt 1 view .LVU101
647
  64:../libOLED/src/displayDial.cpp ****   int t;
648
 413                            .loc 1 64 20 is_stmt 0 view .LVU102
649
 414 001a 0389                  ldrh    r3, [r0, #8]
650
  64:../libOLED/src/displayDial.cpp ****   int t;
651
 415                            .loc 1 64 25 view .LVU103
652
 416 001c 5802                  lsls    r0, r3, #9
653
 417                    .LVL46:
654
  64:../libOLED/src/displayDial.cpp ****   int t;
655
 418                            .loc 1 64 45 view .LVU104
656
 419 001e ABEB0102              sub     r2, fp, r1
657
 420                    .LVL47:
658
  64:../libOLED/src/displayDial.cpp ****   int t;
659
 421                            .loc 1 64 34 view .LVU105
660
 422 0022 9200                  lsls    r2, r2, #2
661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 12
662
 
663
 
664
  64:../libOLED/src/displayDial.cpp ****   int t;
665
 423                            .loc 1 64 7 view .LVU106
666
 424 0024 90FBF2F9              sdiv    r9, r0, r2
667
 425                    .LVL48:
668
  65:../libOLED/src/displayDial.cpp ****   ang = -m_a1 * 256;
669
 426                            .loc 1 65 3 is_stmt 1 view .LVU107
670
  66:../libOLED/src/displayDial.cpp ****   for (t = sc_low * 4; t <= sc_high * 4; t++)
671
 427                            .loc 1 66 3 view .LVU108
672
  66:../libOLED/src/displayDial.cpp ****   for (t = sc_low * 4; t <= sc_high * 4; t++)
673
 428                            .loc 1 66 7 is_stmt 0 view .LVU109
674
 429 0028 C3EB0363              rsb     r3, r3, r3, lsl #24
675
 430 002c 1F02                  lsls    r7, r3, #8
676
 431                    .LVL49:
677
  67:../libOLED/src/displayDial.cpp ****     {
678
 432                            .loc 1 67 3 is_stmt 1 view .LVU110
679
 433                    .LBB29:
680
  67:../libOLED/src/displayDial.cpp ****     {
681
 434                            .loc 1 67 10 is_stmt 0 view .LVU111
682
 435 002e 8D00                  lsls    r5, r1, #2
683
 436                    .LVL50:
684
  67:../libOLED/src/displayDial.cpp ****     {
685
 437                            .loc 1 67 10 view .LVU112
686
 438 0030 2FE0                  b       .L27
687
 439                    .LVL51:
688
 440                    .L29:
689
 441                    .LBB30:
690
  69:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
691
 442                            .loc 1 69 28 view .LVU113
692
 443 0032 07F13F06              add     r6, r7, #63
693
 444                    .LVL52:
694
  69:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
695
 445                            .loc 1 69 28 view .LVU114
696
 446 0036 32E0                  b       .L21
697
 447                    .LVL53:
698
 448                    .L26:
699
  75:../libOLED/src/displayDial.cpp ****          len = width;
700
 449                            .loc 1 75 2 is_stmt 1 view .LVU115
701
  76:../libOLED/src/displayDial.cpp ****          break;
702
 450                            .loc 1 76 4 view .LVU116
703
  76:../libOLED/src/displayDial.cpp ****          break;
704
 451                            .loc 1 76 8 is_stmt 0 view .LVU117
705
 452 0038 DDF80CA0              ldr     r10, [sp, #12]
706
 453                    .LVL54:
707
  77:../libOLED/src/displayDial.cpp ****        case 1:
708
 454                            .loc 1 77 4 is_stmt 1 view .LVU118
709
 455                    .L22:
710
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
711
 456                            .loc 1 90 7 discriminator 2 view .LVU119
712
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
713
 457                            .loc 1 90 42 is_stmt 0 discriminator 2 view .LVU120
714
 458 003c 98F806C0              ldrb    ip, [r8, #6]    @ zero_extendqisi2
715
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
716
 459                            .loc 1 90 40 discriminator 2 view .LVU121
717
 460 0040 04FB0CF1              mul     r1, r4, ip
718
 461                    .LVL55:
719
 462                    .LBB31:
720
 463                    .LBI31:
721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 13
722
 
723
 
724
 464                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU122
725
 465                    .LBB32:
726
 466                            .loc 2 26 24 discriminator 2 view .LVU123
727
 467                            .loc 2 26 33 is_stmt 0 discriminator 2 view .LVU124
728
 468 0044 2E4B                  ldr     r3, .L30
729
 469 0046 1B68                  ldr     r3, [r3]
730
 470                            .loc 2 26 32 discriminator 2 view .LVU125
731
 471 0048 B1FBF3F1              udiv    r1, r1, r3
732
 472                    .LVL56:
733
 473                            .loc 2 26 32 discriminator 2 view .LVU126
734
 474                    .LBE32:
735
 475                    .LBE31:
736
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
737
 476                            .loc 1 90 55 discriminator 2 view .LVU127
738
 477 004c 98F804E0              ldrb    lr, [r8, #4]    @ zero_extendqisi2
739
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
740
 478                            .loc 1 90 53 discriminator 2 view .LVU128
741
 479 0050 7144                  add     r1, r1, lr
742
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
743
 480                            .loc 1 90 61 discriminator 2 view .LVU129
744
 481 0052 98F80560              ldrb    r6, [r8, #5]    @ zero_extendqisi2
745
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
746
 482                            .loc 1 90 81 discriminator 2 view .LVU130
747
 483 0056 00FB0CF2              mul     r2, r0, ip
748
 484                    .LVL57:
749
 485                    .LBB33:
750
 486                    .LBI33:
751
 487                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU131
752
 488                    .LBB34:
753
 489                            .loc 2 26 24 discriminator 2 view .LVU132
754
 490                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU133
755
 491 005a B2FBF3F2              udiv    r2, r2, r3
756
 492                    .LVL58:
757
 493                            .loc 2 26 32 discriminator 2 view .LVU134
758
 494                    .LBE34:
759
 495                    .LBE33:
760
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
761
 496                            .loc 1 90 66 discriminator 2 view .LVU135
762
 497 005e B21A                  subs    r2, r6, r2
763
  91:../libOLED/src/displayDial.cpp ****                m_yo - math.AP_SCALE((m_siz - len) * co), WHITE);
764
 498                            .loc 1 91 27 discriminator 2 view .LVU136
765
 499 0060 ACEB0A0C              sub     ip, ip, r10
766
  91:../libOLED/src/displayDial.cpp ****                m_yo - math.AP_SCALE((m_siz - len) * co), WHITE);
767
 500                            .loc 1 91 20 discriminator 2 view .LVU137
768
 501 0064 04FB0CF4              mul     r4, r4, ip
769
 502                    .LVL59:
770
 503                    .LBB35:
771
 504                    .LBI35:
772
 505                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU138
773
 506                    .LBB36:
774
 507                            .loc 2 26 24 discriminator 2 view .LVU139
775
 508                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU140
776
 509 0068 B4FBF3F4              udiv    r4, r4, r3
777
 510                    .LVL60:
778
 511                            .loc 2 26 32 discriminator 2 view .LVU141
779
 512                    .LBE36:
780
 513                    .LBE35:
781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 14
782
 
783
 
784
  91:../libOLED/src/displayDial.cpp ****                m_yo - math.AP_SCALE((m_siz - len) * co), WHITE);
785
 514                            .loc 1 91 37 discriminator 2 view .LVU142
786
 515 006c 7444                  add     r4, r4, lr
787
  92:../libOLED/src/displayDial.cpp ****       ang += step;
788
 516                            .loc 1 92 23 discriminator 2 view .LVU143
789
 517 006e 00FB0CF0              mul     r0, r0, ip
790
 518                    .LVL61:
791
 519                    .LBB37:
792
 520                    .LBI37:
793
 521                            .loc 2 26 7 is_stmt 1 discriminator 2 view .LVU144
794
 522                    .LBB38:
795
 523                            .loc 2 26 24 discriminator 2 view .LVU145
796
 524                            .loc 2 26 32 is_stmt 0 discriminator 2 view .LVU146
797
 525 0072 B0FBF3F3              udiv    r3, r0, r3
798
 526                    .LVL62:
799
 527                            .loc 2 26 32 discriminator 2 view .LVU147
800
 528                    .LBE38:
801
 529                    .LBE37:
802
  92:../libOLED/src/displayDial.cpp ****       ang += step;
803
 530                            .loc 1 92 8 discriminator 2 view .LVU148
804
 531 0076 F61A                  subs    r6, r6, r3
805
  90:../libOLED/src/displayDial.cpp ****       math.AP_SCALE((m_siz-len)*si) + m_xo,
806
 532                            .loc 1 90 26 discriminator 2 view .LVU149
807
 533 0078 0123                  movs    r3, #1
808
 534 007a 0193                  str     r3, [sp, #4]
809
 535 007c 36B2                  sxth    r6, r6
810
 536 007e 0096                  str     r6, [sp]
811
 537 0080 23B2                  sxth    r3, r4
812
 538 0082 12B2                  sxth    r2, r2
813
 539 0084 09B2                  sxth    r1, r1
814
 540 0086 D8F80000              ldr     r0, [r8]
815
 541 008a FFF7FEFF              bl      _ZN9display_t8drawLineEssss8colour_t
816
 542                    .LVL63:
817
  93:../libOLED/src/displayDial.cpp ****     }
818
 543                            .loc 1 93 7 is_stmt 1 discriminator 2 view .LVU150
819
  93:../libOLED/src/displayDial.cpp ****     }
820
 544                            .loc 1 93 11 is_stmt 0 discriminator 2 view .LVU151
821
 545 008e 4F44                  add     r7, r7, r9
822
 546                    .LVL64:
823
  93:../libOLED/src/displayDial.cpp ****     }
824
 547                            .loc 1 93 11 discriminator 2 view .LVU152
825
 548                    .LBE30:
826
  67:../libOLED/src/displayDial.cpp ****     {
827
 549                            .loc 1 67 3 discriminator 2 view .LVU153
828
 550 0090 0135                  adds    r5, r5, #1
829
 551                    .LVL65:
830
 552                    .L27:
831
  67:../libOLED/src/displayDial.cpp ****     {
832
 553                            .loc 1 67 26 discriminator 1 view .LVU154
833
 554 0092 B5EB8B0F              cmp     r5, fp, lsl #2
834
 555 0096 2FDC                  bgt     .L19
835
 556                    .LBB39:
836
  69:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
837
 557                            .loc 1 69 7 is_stmt 1 view .LVU155
838
  69:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
839
 558                            .loc 1 69 28 is_stmt 0 view .LVU156
840
 559 0098 3E46                  mov     r6, r7
841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 15
842
 
843
 
844
 560 009a 002F                  cmp     r7, #0
845
 561 009c C9DB                  blt     .L29
846
 562                    .L21:
847
  69:../libOLED/src/displayDial.cpp ****       int co = math.ap_cos ((ang*math.SINE_SCALING) / 256);
848
 563                            .loc 1 69 28 view .LVU157
849
 564 009e B611                  asrs    r6, r6, #6
850
 565 00a0 3146                  mov     r1, r6
851
 566 00a2 1748                  ldr     r0, .L30
852
 567 00a4 FFF7FEFF              bl      _ZN7ap_math6ap_sinEi
853
 568                    .LVL66:
854
 569 00a8 0446                  mov     r4, r0
855
 570                    .LVL67:
856
  70:../libOLED/src/displayDial.cpp ****
857
 571                            .loc 1 70 7 is_stmt 1 view .LVU158
858
  70:../libOLED/src/displayDial.cpp ****
859
 572                            .loc 1 70 28 is_stmt 0 view .LVU159
860
 573 00aa 3146                  mov     r1, r6
861
 574 00ac 1448                  ldr     r0, .L30
862
 575                    .LVL68:
863
  70:../libOLED/src/displayDial.cpp ****
864
 576                            .loc 1 70 28 view .LVU160
865
 577 00ae FFF7FEFF              bl      _ZN7ap_math6ap_cosEi
866
 578                    .LVL69:
867
  72:../libOLED/src/displayDial.cpp ****       switch (t % 4)
868
 579                            .loc 1 72 7 is_stmt 1 view .LVU161
869
  73:../libOLED/src/displayDial.cpp ****        {
870
 580                            .loc 1 73 7 view .LVU162
871
  73:../libOLED/src/displayDial.cpp ****        {
872
 581                            .loc 1 73 17 is_stmt 0 view .LVU163
873
 582 00b2 6A42                  rsbs    r2, r5, #0
874
 583 00b4 05F00303              and     r3, r5, #3
875
 584 00b8 02F00302              and     r2, r2, #3
876
 585 00bc 58BF                  it      pl
877
 586 00be 5342                  rsbpl   r3, r2, #0
878
  73:../libOLED/src/displayDial.cpp ****        {
879
 587                            .loc 1 73 7 view .LVU164
880
 588 00c0 0333                  adds    r3, r3, #3
881
 589 00c2 062B                  cmp     r3, #6
882
 590 00c4 BAD8                  bhi     .L22
883
 591 00c6 01A2                  adr     r2, .L24
884
 592 00c8 52F823F0              ldr     pc, [r2, r3, lsl #2]
885
 593                            .p2align 2
886
 594                    .L24:
887
 595 00cc E9000000              .word   .L23+1
888
 596 00d0 F1000000              .word   .L25+1
889
 597 00d4 E9000000              .word   .L23+1
890
 598 00d8 39000000              .word   .L26+1
891
 599 00dc E9000000              .word   .L23+1
892
 600 00e0 F1000000              .word   .L25+1
893
 601 00e4 E9000000              .word   .L23+1
894
 602                            .p2align 1
895
 603                    .L23:
896
  78:../libOLED/src/displayDial.cpp ****        case 3:
897
 604                            .loc 1 78 2 is_stmt 1 view .LVU165
898
  79:../libOLED/src/displayDial.cpp ****        case -1:
899
 605                            .loc 1 79 2 view .LVU166
900
  80:../libOLED/src/displayDial.cpp ****        case -3:
901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 16
902
 
903
 
904
 606                            .loc 1 80 2 view .LVU167
905
  81:../libOLED/src/displayDial.cpp ****          len = width / 4;
906
 607                            .loc 1 81 2 view .LVU168
907
  82:../libOLED/src/displayDial.cpp ****          break;
908
 608                            .loc 1 82 4 view .LVU169
909
  82:../libOLED/src/displayDial.cpp ****          break;
910
 609                            .loc 1 82 16 is_stmt 0 view .LVU170
911
 610 00e8 039B                  ldr     r3, [sp, #12]
912
 611 00ea 4FEA930A              lsr     r10, r3, #2
913
 612                    .LVL70:
914
  83:../libOLED/src/displayDial.cpp ****        case 2:
915
 613                            .loc 1 83 4 is_stmt 1 view .LVU171
916
 614 00ee A5E7                  b       .L22
917
 615                    .L25:
918
  84:../libOLED/src/displayDial.cpp ****        case -2:
919
 616                            .loc 1 84 2 view .LVU172
920
  85:../libOLED/src/displayDial.cpp ****          len = width / 2;
921
 617                            .loc 1 85 2 view .LVU173
922
  86:../libOLED/src/displayDial.cpp ****          break;
923
 618                            .loc 1 86 4 view .LVU174
924
  86:../libOLED/src/displayDial.cpp ****          break;
925
 619                            .loc 1 86 16 is_stmt 0 view .LVU175
926
 620 00f0 039B                  ldr     r3, [sp, #12]
927
 621 00f2 4FEA530A              lsr     r10, r3, #1
928
 622                    .LVL71:
929
  87:../libOLED/src/displayDial.cpp ****        }
930
 623                            .loc 1 87 4 is_stmt 1 view .LVU176
931
 624 00f6 A1E7                  b       .L22
932
 625                    .LVL72:
933
 626                    .L19:
934
  87:../libOLED/src/displayDial.cpp ****        }
935
 627                            .loc 1 87 4 is_stmt 0 view .LVU177
936
 628                    .LBE39:
937
 629                    .LBE29:
938
  96:../libOLED/src/displayDial.cpp ****
939
 630                            .loc 1 96 1 view .LVU178
940
 631 00f8 05B0                  add     sp, sp, #20
941
 632                    .LCFI8:
942
 633                            .cfi_def_cfa_offset 36
943
 634                            @ sp needed
944
 635 00fa BDE8F08F              pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
945
 636                    .LVL73:
946
 637                    .L31:
947
  96:../libOLED/src/displayDial.cpp ****
948
 638                            .loc 1 96 1 view .LVU179
949
 639 00fe 00BF                  .align  2
950
 640                    .L30:
951
 641 0100 00000000              .word   .LANCHOR0
952
 642                            .cfi_endproc
953
 643                    .LFE23:
954
 645                            .section        .text._ZN13displayDial_t11draw_limitsEv,"ax",%progbits
955
 646                            .align  1
956
 647                            .global _ZN13displayDial_t11draw_limitsEv
957
 648                            .syntax unified
958
 649                            .thumb
959
 650                            .thumb_func
960
 651                            .fpu softvfp
961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 17
962
 
963
 
964
 653                    _ZN13displayDial_t11draw_limitsEv:
965
 654                    .LVL74:
966
 655                    .LFB24:
967
 100:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 0,56,0,10,m_low,WHITE);
968
 656                            .loc 1 100 1 is_stmt 1 view -0
969
 657                            .cfi_startproc
970
 658                            @ args = 0, pretend = 0, frame = 0
971
 659                            @ frame_needed = 0, uses_anonymous_args = 0
972
 100:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 0,56,0,10,m_low,WHITE);
973
 660                            .loc 1 100 1 is_stmt 0 view .LVU181
974
 661 0000 F0B5                  push    {r4, r5, r6, r7, lr}
975
 662                    .LCFI9:
976
 663                            .cfi_def_cfa_offset 20
977
 664                            .cfi_offset 4, -20
978
 665                            .cfi_offset 5, -16
979
 666                            .cfi_offset 6, -12
980
 667                            .cfi_offset 7, -8
981
 668                            .cfi_offset 14, -4
982
 669 0002 85B0                  sub     sp, sp, #20
983
 670                    .LCFI10:
984
 671                            .cfi_def_cfa_offset 40
985
 672 0004 0446                  mov     r4, r0
986
 101:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 120,56,1,10,m_high,WHITE);
987
 673                            .loc 1 101 3 is_stmt 1 view .LVU182
988
 101:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 120,56,1,10,m_high,WHITE);
989
 674                            .loc 1 101 50 is_stmt 0 view .LVU183
990
 675 0006 B0F90A30              ldrsh   r3, [r0, #10]
991
 101:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 120,56,1,10,m_high,WHITE);
992
 676                            .loc 1 101 27 view .LVU184
993
 677 000a 0D4E                  ldr     r6, .L34
994
 678 000c 0125                  movs    r5, #1
995
 679 000e 0395                  str     r5, [sp, #12]
996
 680 0010 0293                  str     r3, [sp, #8]
997
 681 0012 0A27                  movs    r7, #10
998
 682 0014 0197                  str     r7, [sp, #4]
999
 683 0016 0022                  movs    r2, #0
1000
 684 0018 0092                  str     r2, [sp]
1001
 685 001a 3823                  movs    r3, #56
1002
 686 001c 3146                  mov     r1, r6
1003
 687 001e 0068                  ldr     r0, [r0]
1004
 688                    .LVL75:
1005
 101:../libOLED/src/displayDial.cpp ****   m_display.fontSigDigits (small_font, 120,56,1,10,m_high,WHITE);
1006
 689                            .loc 1 101 27 view .LVU185
1007
 690 0020 FFF7FEFF              bl      _ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t
1008
 691                    .LVL76:
1009
 102:../libOLED/src/displayDial.cpp **** }
1010
 692                            .loc 1 102 3 is_stmt 1 view .LVU186
1011
 102:../libOLED/src/displayDial.cpp **** }
1012
 693                            .loc 1 102 52 is_stmt 0 view .LVU187
1013
 694 0024 B4F90C30              ldrsh   r3, [r4, #12]
1014
 102:../libOLED/src/displayDial.cpp **** }
1015
 695                            .loc 1 102 27 view .LVU188
1016
 696 0028 0395                  str     r5, [sp, #12]
1017
 697 002a 0293                  str     r3, [sp, #8]
1018
 698 002c 0197                  str     r7, [sp, #4]
1019
 699 002e 0095                  str     r5, [sp]
1020
 700 0030 3823                  movs    r3, #56
1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 18
1022
 
1023
 
1024
 701 0032 7822                  movs    r2, #120
1025
 702 0034 3146                  mov     r1, r6
1026
 703 0036 2068                  ldr     r0, [r4]
1027
 704 0038 FFF7FEFF              bl      _ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t
1028
 705                    .LVL77:
1029
 706                            .loc 1 103 1 view .LVU189
1030
 707 003c 05B0                  add     sp, sp, #20
1031
 708                    .LCFI11:
1032
 709                            .cfi_def_cfa_offset 20
1033
 710                            @ sp needed
1034
 711 003e F0BD                  pop     {r4, r5, r6, r7, pc}
1035
 712                    .LVL78:
1036
 713                    .L35:
1037
 714                            .loc 1 103 1 view .LVU190
1038
 715                            .align  2
1039
 716                    .L34:
1040
 717 0040 00000000              .word   small_font
1041
 718                            .cfi_endproc
1042
 719                    .LFE24:
1043
 721                            .section        .text._GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht,"ax",%progbits
1044
 722                            .align  1
1045
 723                            .syntax unified
1046
 724                            .thumb
1047
 725                            .thumb_func
1048
 726                            .fpu softvfp
1049
 728                    _GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht:
1050
 729                    .LFB26:
1051
 730                            .loc 1 103 1 is_stmt 1 view -0
1052
 731                            .cfi_startproc
1053
 732                            @ args = 0, pretend = 0, frame = 0
1054
 733                            @ frame_needed = 0, uses_anonymous_args = 0
1055
 734 0000 08B5                  push    {r3, lr}
1056
 735                    .LCFI12:
1057
 736                            .cfi_def_cfa_offset 8
1058
 737                            .cfi_offset 3, -8
1059
 738                            .cfi_offset 14, -4
1060
 739                            .loc 1 103 1 is_stmt 0 view .LVU192
1061
 740 0002 4FF6FF71              movw    r1, #65535
1062
 741 0006 0120                  movs    r0, #1
1063
 742 0008 FFF7FEFF              bl      _Z41__static_initialization_and_destruction_0ii
1064
 743                    .LVL79:
1065
 744 000c 08BD                  pop     {r3, pc}
1066
 745                            .cfi_endproc
1067
 746                    .LFE26:
1068
 748                            .section        .init_array,"aw",%init_array
1069
 749                            .align  2
1070
 750 0000 00000000              .word   _GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht(target1)
1071
 751                            .section        .bss._ZL4math,"aw",%nobits
1072
 752                            .align  2
1073
 753                            .set    .LANCHOR0,. + 0
1074
 756                    _ZL4math:
1075
 757 0000 00000000              .space  364
1076
 757      00000000
1077
 757      00000000
1078
 757      00000000
1079
 757      00000000
1080
 758                            .text
1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 19
1082
 
1083
 
1084
 759                    .Letext0:
1085
 760                            .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1086
 761                            .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1087
 762                            .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1088
 763                            .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1089
 764                            .file 7 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1090
 765                            .file 8 "../libOLED/inc/libOLED/fontclass.H"
1091
 766                            .file 9 "../libOLED/inc/libOLED/displayDial.H"
1092
 767                            .file 10 "../libOLED/inc/libOLED/displayclass.H"
1093
 768                            .file 11 "<built-in>"
1094
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccAQnebG.s                   page 20
1095
 
1096
 
1097
DEFINED SYMBOLS
1098
                            *ABS*:0000000000000000 displayDial.cpp
1099
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:16     .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 $t
1100
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:23     .text._Z41__static_initialization_and_destruction_0ii:0000000000000000 _Z41__static_initialization_and_destruction_0ii
1101
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:63     .text._Z41__static_initialization_and_destruction_0ii:000000000000001c $d
1102
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:68     .text._ZN13displayDial_tC2ER9display_thhht:0000000000000000 $t
1103
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:75     .text._ZN13displayDial_tC2ER9display_thhht:0000000000000000 _ZN13displayDial_tC2ER9display_thhht
1104
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:75     .text._ZN13displayDial_tC2ER9display_thhht:0000000000000000 _ZN13displayDial_tC1ER9display_thhht
1105
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:114    .text._ZN13displayDial_t11draw_needleEs:0000000000000000 $t
1106
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:121    .text._ZN13displayDial_t11draw_needleEs:0000000000000000 _ZN13displayDial_t11draw_needleEs
1107
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:356    .text._ZN13displayDial_t11draw_needleEs:00000000000000d8 $d
1108
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:363    .text._ZN13displayDial_t10draw_scaleEsshhs:0000000000000000 $t
1109
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:370    .text._ZN13displayDial_t10draw_scaleEsshhs:0000000000000000 _ZN13displayDial_t10draw_scaleEsshhs
1110
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:595    .text._ZN13displayDial_t10draw_scaleEsshhs:00000000000000cc $d
1111
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:602    .text._ZN13displayDial_t10draw_scaleEsshhs:00000000000000e8 $t
1112
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:641    .text._ZN13displayDial_t10draw_scaleEsshhs:0000000000000100 $d
1113
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:646    .text._ZN13displayDial_t11draw_limitsEv:0000000000000000 $t
1114
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:653    .text._ZN13displayDial_t11draw_limitsEv:0000000000000000 _ZN13displayDial_t11draw_limitsEv
1115
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:717    .text._ZN13displayDial_t11draw_limitsEv:0000000000000040 $d
1116
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:722    .text._GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht:0000000000000000 $t
1117
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:728    .text._GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht:0000000000000000 _GLOBAL__sub_I__ZN13displayDial_tC2ER9display_thhht
1118
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:749    .init_array:0000000000000000 $d
1119
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:752    .bss._ZL4math:0000000000000000 $d
1120
C:\Users\mike\AppData\Local\Temp\ccAQnebG.s:756    .bss._ZL4math:0000000000000000 _ZL4math
1121
 
1122
UNDEFINED SYMBOLS
1123
_ZN7ap_mathC1Ev
1124
_ZN7ap_math6ap_sinEi
1125
_ZN7ap_math6ap_cosEi
1126
_ZN9display_t8drawLineEssss8colour_t
1127
_ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t
1128
small_font