Subversion Repositories dashGPS

Rev

Rev 16 | Rev 19 | 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\ccWXzd8x.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   "displayFont.cpp"
15
  12                            .text
16
  13                    .Ltext0:
17
  14                            .cfi_sections   .debug_frame
18
  15                            .section        .text._ZN9display_t11printStringER6font_tPKct8colour_t,"ax",%progbits
19
  16                            .align  1
20
  17                            .global _ZN9display_t11printStringER6font_tPKct8colour_t
21
  18                            .arch armv7-m
22
  19                            .syntax unified
23
  20                            .thumb
24
  21                            .thumb_func
25
  22                            .fpu softvfp
26
  24                    _ZN9display_t11printStringER6font_tPKct8colour_t:
27
  25                    .LVL0:
28
  26                    .LFB18:
29
  27                            .file 1 "../libOLED/src/displayFont.cpp"
30
   1:../libOLED/src/displayFont.cpp **** #include "libOLED/displayclass.H"
31
   2:../libOLED/src/displayFont.cpp ****
32
   3:../libOLED/src/displayFont.cpp **** void
33
   4:../libOLED/src/displayFont.cpp **** display_t::printString (font_t &font, char const *string, uint16_t length,
34
   5:../libOLED/src/displayFont.cpp ****                        colour_t colour)
35
   6:../libOLED/src/displayFont.cpp **** {
36
  28                            .loc 1 6 1 view -0
37
  29                            .cfi_startproc
38
  30                            @ args = 4, pretend = 0, frame = 24
39
  31                            @ frame_needed = 0, uses_anonymous_args = 0
40
  32                            .loc 1 6 1 is_stmt 0 view .LVU1
41
  33 0000 2DE9F04F              push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
42
  34                    .LCFI0:
43
  35                            .cfi_def_cfa_offset 36
44
  36                            .cfi_offset 4, -36
45
  37                            .cfi_offset 5, -32
46
  38                            .cfi_offset 6, -28
47
  39                            .cfi_offset 7, -24
48
  40                            .cfi_offset 8, -20
49
  41                            .cfi_offset 9, -16
50
  42                            .cfi_offset 10, -12
51
  43                            .cfi_offset 11, -8
52
  44                            .cfi_offset 14, -4
53
  45 0004 87B0                  sub     sp, sp, #28
54
  46                    .LCFI1:
55
  47                            .cfi_def_cfa_offset 64
56
  48 0006 8246                  mov     r10, r0
57
  49 0008 0E46                  mov     r6, r1
58
  50 000a 0592                  str     r2, [sp, #20]
59
  51 000c 0393                  str     r3, [sp, #12]
60
   7:../libOLED/src/displayFont.cpp ****   setPixelMode(colour);
61
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 2
62
 
63
 
64
  52                            .loc 1 7 3 is_stmt 1 view .LVU2
65
  53                    .LVL1:
66
  54                    .LBB30:
67
  55                    .LBI30:
68
  56                            .file 2 "../libOLED/inc/libOLED/displayclass.H"
69
   1:../libOLED/inc/libOLED/displayclass.H **** /*
70
   2:../libOLED/inc/libOLED/displayclass.H ****  * displayclass.H
71
   3:../libOLED/inc/libOLED/displayclass.H ****  *
72
   4:../libOLED/inc/libOLED/displayclass.H ****  *  Created on: 31 Oct 2020
73
   5:../libOLED/inc/libOLED/displayclass.H ****  *      Author: mike
74
   6:../libOLED/inc/libOLED/displayclass.H ****  */
75
   7:../libOLED/inc/libOLED/displayclass.H ****
76
   8:../libOLED/inc/libOLED/displayclass.H **** #pragma once
77
   9:../libOLED/inc/libOLED/displayclass.H **** #include <cstdint>
78
  10:../libOLED/inc/libOLED/displayclass.H **** #include "libOLED/fontclass.H"
79
  11:../libOLED/inc/libOLED/displayclass.H ****
80
  12:../libOLED/inc/libOLED/displayclass.H **** inline int constexpr
81
  13:../libOLED/inc/libOLED/displayclass.H **** dataSize (int const width, int const height)
82
  14:../libOLED/inc/libOLED/displayclass.H **** {
83
  15:../libOLED/inc/libOLED/displayclass.H ****   return (width * height / 8);
84
  16:../libOLED/inc/libOLED/displayclass.H **** }
85
  17:../libOLED/inc/libOLED/displayclass.H ****
86
  18:../libOLED/inc/libOLED/displayclass.H **** enum colour_t
87
  19:../libOLED/inc/libOLED/displayclass.H **** {
88
  20:../libOLED/inc/libOLED/displayclass.H ****   BLACK,   /* and 0, invert 0 */
89
  21:../libOLED/inc/libOLED/displayclass.H ****   WHITE,   /* and 0, invert 1 */
90
  22:../libOLED/inc/libOLED/displayclass.H ****   OVERLAY, /* and 1, invert 0 */
91
  23:../libOLED/inc/libOLED/displayclass.H ****   INVERT,  /* and 1, invert 1 */
92
  24:../libOLED/inc/libOLED/displayclass.H **** };
93
  25:../libOLED/inc/libOLED/displayclass.H ****
94
  26:../libOLED/inc/libOLED/displayclass.H **** class display_t
95
  27:../libOLED/inc/libOLED/displayclass.H **** {
96
  28:../libOLED/inc/libOLED/displayclass.H **** public:
97
  29:../libOLED/inc/libOLED/displayclass.H ****   display_t (int const width, int const height, int const ramwidth,
98
  30:../libOLED/inc/libOLED/displayclass.H ****              uint8_t *const data);
99
  31:../libOLED/inc/libOLED/displayclass.H ****
100
  32:../libOLED/inc/libOLED/displayclass.H ****   virtual
101
  33:../libOLED/inc/libOLED/displayclass.H ****   ~display_t ();
102
  34:../libOLED/inc/libOLED/displayclass.H ****
103
  35:../libOLED/inc/libOLED/displayclass.H ****   uint8_t
104
  36:../libOLED/inc/libOLED/displayclass.H ****   getRotation ();
105
  37:../libOLED/inc/libOLED/displayclass.H ****   int16_t
106
  38:../libOLED/inc/libOLED/displayclass.H ****   width ();
107
  39:../libOLED/inc/libOLED/displayclass.H ****   int16_t
108
  40:../libOLED/inc/libOLED/displayclass.H ****   height ();
109
  41:../libOLED/inc/libOLED/displayclass.H ****
110
  42:../libOLED/inc/libOLED/displayclass.H ****   // common hardware reset .
111
  43:../libOLED/inc/libOLED/displayclass.H ****   void reset();
112
  44:../libOLED/inc/libOLED/displayclass.H ****
113
  45:../libOLED/inc/libOLED/displayclass.H ****   void
114
  46:../libOLED/inc/libOLED/displayclass.H ****   init ();
115
  47:../libOLED/inc/libOLED/displayclass.H ****
116
  48:../libOLED/inc/libOLED/displayclass.H ****   /// \brief Clear display to colour
117
  49:../libOLED/inc/libOLED/displayclass.H ****   void
118
  50:../libOLED/inc/libOLED/displayclass.H ****   clearDisplay (colour_t colour = colour_t::BLACK);
119
  51:../libOLED/inc/libOLED/displayclass.H ****   void
120
  52:../libOLED/inc/libOLED/displayclass.H ****   invertDisplay (uint8_t i);
121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 3
122
 
123
 
124
  53:../libOLED/inc/libOLED/displayclass.H ****   void
125
  54:../libOLED/inc/libOLED/displayclass.H ****   display ();
126
  55:../libOLED/inc/libOLED/displayclass.H ****
127
  56:../libOLED/inc/libOLED/displayclass.H ****   void
128
  57:../libOLED/inc/libOLED/displayclass.H ****   startscrollright (uint8_t start, uint8_t stop);
129
  58:../libOLED/inc/libOLED/displayclass.H ****   void
130
  59:../libOLED/inc/libOLED/displayclass.H ****   startscrollleft (uint8_t start, uint8_t stop);
131
  60:../libOLED/inc/libOLED/displayclass.H ****
132
  61:../libOLED/inc/libOLED/displayclass.H ****   void
133
  62:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagright (uint8_t start, uint8_t stop);
134
  63:../libOLED/inc/libOLED/displayclass.H ****   void
135
  64:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagleft (uint8_t start, uint8_t stop);
136
  65:../libOLED/inc/libOLED/displayclass.H ****   void
137
  66:../libOLED/inc/libOLED/displayclass.H ****   stopscroll (void);
138
  67:../libOLED/inc/libOLED/displayclass.H ****
139
  68:../libOLED/inc/libOLED/displayclass.H ****   void
140
  69:../libOLED/inc/libOLED/displayclass.H ****   dim (uint8_t contrast);
141
  70:../libOLED/inc/libOLED/displayclass.H ****
142
  71:../libOLED/inc/libOLED/displayclass.H ****   // set drawing mode
143
  72:../libOLED/inc/libOLED/displayclass.H ****   void setPixelMode(colour_t colour)
144
  57                            .loc 2 72 8 view .LVU3
145
  58                    .LBB31:
146
  73:../libOLED/inc/libOLED/displayclass.H ****   { m_colour = colour; }
147
  59                            .loc 2 73 5 view .LVU4
148
  60                            .loc 2 73 14 is_stmt 0 view .LVU5
149
  61 000e 9DF84030              ldrb    r3, [sp, #64]   @ zero_extendqisi2
150
  62                    .LVL2:
151
  63                            .loc 2 73 14 view .LVU6
152
  64 0012 0377                  strb    r3, [r0, #28]
153
  65                    .LVL3:
154
  66                            .loc 2 73 14 view .LVU7
155
  67                    .LBE31:
156
  68                    .LBE30:
157
   8:../libOLED/src/displayFont.cpp ****   uint16_t const xSpacing = font.width () + 1;
158
  69                            .loc 1 8 3 is_stmt 1 view .LVU8
159
  70                    .LBB32:
160
  71                    .LBI32:
161
  72                            .file 3 "../libOLED/inc/libOLED/fontclass.H"
162
   1:../libOLED/inc/libOLED/fontclass.H **** // font class library
163
   2:../libOLED/inc/libOLED/fontclass.H **** #pragma once
164
   3:../libOLED/inc/libOLED/fontclass.H **** #include <cstdint>
165
   4:../libOLED/inc/libOLED/fontclass.H ****
166
   5:../libOLED/inc/libOLED/fontclass.H **** class font_t
167
   6:../libOLED/inc/libOLED/fontclass.H **** {
168
   7:../libOLED/inc/libOLED/fontclass.H **** public:
169
   8:../libOLED/inc/libOLED/fontclass.H ****   /// \param height - pixel character height
170
   9:../libOLED/inc/libOLED/fontclass.H ****   /// \param width  - pixel character width
171
  10:../libOLED/inc/libOLED/fontclass.H ****   /// \param spacing - character to character spacing
172
  11:../libOLED/inc/libOLED/fontclass.H ****   /// \param chars  - number of characters in character set
173
  12:../libOLED/inc/libOLED/fontclass.H ****   /// \param data - constant data
174
  13:../libOLED/inc/libOLED/fontclass.H ****   font_t (uint8_t const height, uint8_t const width,
175
  14:../libOLED/inc/libOLED/fontclass.H ****      uint8_t const spacing, uint8_t const chars,
176
  15:../libOLED/inc/libOLED/fontclass.H ****      char const *data) :
177
  16:../libOLED/inc/libOLED/fontclass.H ****       m_height (height), m_width (width), m_spacing (spacing), m_chars (chars), m_data (
178
  17:../libOLED/inc/libOLED/fontclass.H ****      data)
179
  18:../libOLED/inc/libOLED/fontclass.H ****   {
180
  19:../libOLED/inc/libOLED/fontclass.H ****   }
181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 4
182
 
183
 
184
  20:../libOLED/inc/libOLED/fontclass.H ****
185
  21:../libOLED/inc/libOLED/fontclass.H ****   virtual char
186
  22:../libOLED/inc/libOLED/fontclass.H ****   getPixel (char c, int x, int y) =0;
187
  23:../libOLED/inc/libOLED/fontclass.H ****
188
  24:../libOLED/inc/libOLED/fontclass.H ****   // character width
189
  25:../libOLED/inc/libOLED/fontclass.H ****   uint8_t
190
  26:../libOLED/inc/libOLED/fontclass.H ****   width ()
191
  73                            .loc 3 26 3 view .LVU9
192
  74                    .LBB33:
193
  27:../libOLED/inc/libOLED/fontclass.H ****   {
194
  28:../libOLED/inc/libOLED/fontclass.H ****     return m_width;
195
  75                            .loc 3 28 5 view .LVU10
196
  76                            .loc 3 28 5 is_stmt 0 view .LVU11
197
  77                    .LBE33:
198
  78                    .LBE32:
199
  79                            .loc 1 8 40 view .LVU12
200
  80 0014 4B79                  ldrb    r3, [r1, #5]    @ zero_extendqisi2
201
  81                            .loc 1 8 45 view .LVU13
202
  82 0016 0133                  adds    r3, r3, #1
203
  83 0018 0493                  str     r3, [sp, #16]
204
  84                    .LVL4:
205
   9:../libOLED/src/displayFont.cpp ****   for (uint16_t yt = 0; yt < font.height (); yt++) // iterate down scan lines
206
  85                            .loc 1 9 3 is_stmt 1 view .LVU14
207
  86                    .LBB34:
208
  87                            .loc 1 9 17 is_stmt 0 view .LVU15
209
  88 001a 0023                  movs    r3, #0
210
  89 001c 0193                  str     r3, [sp, #4]
211
  90 001e 31E0                  b       .L7
212
  91                    .LVL5:
213
  92                    .L4:
214
  93                    .LBB35:
215
  94                    .LBB36:
216
  10:../libOLED/src/displayFont.cpp ****     {
217
  11:../libOLED/src/displayFont.cpp ****       uint16_t ys = m_cursor_y + yt;
218
  12:../libOLED/src/displayFont.cpp ****       for (uint16_t xt = 0; xt < length; xt++)
219
  95                            .loc 1 12 7 discriminator 2 view .LVU16
220
  96 0020 0BF1010B              add     fp, fp, #1
221
  97                    .LVL6:
222
  98                            .loc 1 12 7 discriminator 2 view .LVU17
223
  99 0024 1FFA8BFB              uxth    fp, fp
224
 100                    .LVL7:
225
 101                    .L6:
226
 102                            .loc 1 12 32 discriminator 1 view .LVU18
227
 103 0028 039B                  ldr     r3, [sp, #12]
228
 104 002a 9B45                  cmp     fp, r3
229
 105 002c 26D2                  bcs     .L3
230
 106                    .LBB37:
231
  13:../libOLED/src/displayFont.cpp ****        {
232
  14:../libOLED/src/displayFont.cpp ****          unsigned char c = string[xt];
233
 107                            .loc 1 14 4 is_stmt 1 view .LVU19
234
 108                            .loc 1 14 18 is_stmt 0 view .LVU20
235
 109 002e 059B                  ldr     r3, [sp, #20]
236
 110 0030 13F80B90              ldrb    r9, [r3, fp]    @ zero_extendqisi2
237
 111                    .LVL8:
238
  15:../libOLED/src/displayFont.cpp ****          uint16_t xs = xt * xSpacing + m_cursor_x;
239
 112                            .loc 1 15 4 is_stmt 1 view .LVU21
240
 113                            .loc 1 15 21 is_stmt 0 view .LVU22
241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 5
242
 
243
 
244
 114 0034 049B                  ldr     r3, [sp, #16]
245
 115 0036 03FB0BF8              mul     r8, r3, fp
246
 116 003a 1FFA88F8              uxth    r8, r8
247
 117                            .loc 1 15 32 view .LVU23
248
 118 003e BAF81030              ldrh    r3, [r10, #16]
249
 119                            .loc 1 15 13 view .LVU24
250
 120 0042 9844                  add     r8, r8, r3
251
 121 0044 1FFA88F8              uxth    r8, r8
252
 122                    .LVL9:
253
  16:../libOLED/src/displayFont.cpp ****          for (uint16_t j = 0; j < font.spacing (); j++)
254
 123                            .loc 1 16 4 is_stmt 1 view .LVU25
255
 124                    .LBB38:
256
 125                            .loc 1 16 18 is_stmt 0 view .LVU26
257
 126 0048 0024                  movs    r4, #0
258
 127                    .LVL10:
259
 128                    .L5:
260
 129                    .LBB39:
261
 130                    .LBI39:
262
  29:../libOLED/inc/libOLED/fontclass.H ****   }
263
  30:../libOLED/inc/libOLED/fontclass.H ****
264
  31:../libOLED/inc/libOLED/fontclass.H ****   // character height
265
  32:../libOLED/inc/libOLED/fontclass.H ****   uint8_t
266
  33:../libOLED/inc/libOLED/fontclass.H ****   height ()
267
  34:../libOLED/inc/libOLED/fontclass.H ****   {
268
  35:../libOLED/inc/libOLED/fontclass.H ****     return m_height;
269
  36:../libOLED/inc/libOLED/fontclass.H ****   }
270
  37:../libOLED/inc/libOLED/fontclass.H ****
271
  38:../libOLED/inc/libOLED/fontclass.H ****   uint8_t
272
  39:../libOLED/inc/libOLED/fontclass.H ****   chars ()
273
  40:../libOLED/inc/libOLED/fontclass.H ****   {
274
  41:../libOLED/inc/libOLED/fontclass.H ****     return m_chars;
275
  42:../libOLED/inc/libOLED/fontclass.H ****   }
276
  43:../libOLED/inc/libOLED/fontclass.H ****
277
  44:../libOLED/inc/libOLED/fontclass.H ****   uint8_t
278
  45:../libOLED/inc/libOLED/fontclass.H ****   spacing ()
279
 131                            .loc 3 45 3 is_stmt 1 discriminator 3 view .LVU27
280
 132                    .LBB40:
281
  46:../libOLED/inc/libOLED/fontclass.H ****   {
282
  47:../libOLED/inc/libOLED/fontclass.H ****     return m_spacing;
283
 133                            .loc 3 47 5 discriminator 3 view .LVU28
284
 134                            .loc 3 47 5 is_stmt 0 discriminator 3 view .LVU29
285
 135                    .LBE40:
286
 136                    .LBE39:
287
 137                            .loc 1 16 27 discriminator 3 view .LVU30
288
 138 004a B379                  ldrb    r3, [r6, #6]    @ zero_extendqisi2
289
 139 004c A342                  cmp     r3, r4
290
 140 004e E7D9                  bls     .L4
291
  17:../libOLED/src/displayFont.cpp ****            {
292
  18:../libOLED/src/displayFont.cpp ****               drawPixel (j + xs, ys, font.getPixel (c, j, yt));
293
 141                            .loc 1 18 9 is_stmt 1 discriminator 2 view .LVU31
294
 142                            .loc 1 18 22 is_stmt 0 discriminator 2 view .LVU32
295
 143 0050 04EB0805              add     r5, r4, r8
296
 144 0054 ADB2                  uxth    r5, r5
297
 145                            .loc 1 18 55 discriminator 2 view .LVU33
298
 146 0056 3368                  ldr     r3, [r6]
299
 147 0058 1F68                  ldr     r7, [r3]
300
 148                            .loc 1 18 46 discriminator 2 view .LVU34
301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 6
302
 
303
 
304
 149 005a 019B                  ldr     r3, [sp, #4]
305
 150 005c 2246                  mov     r2, r4
306
 151 005e 4946                  mov     r1, r9
307
 152 0060 3046                  mov     r0, r6
308
 153 0062 B847                  blx     r7
309
 154                    .LVL11:
310
 155                            .loc 1 18 19 discriminator 2 view .LVU35
311
 156 0064 031C                  adds    r3, r0, #0
312
 157 0066 18BF                  it      ne
313
 158 0068 0123                  movne   r3, #1
314
 159 006a BDF90820              ldrsh   r2, [sp, #8]
315
 160 006e 29B2                  sxth    r1, r5
316
 161 0070 5046                  mov     r0, r10
317
 162 0072 FFF7FEFF              bl      _ZN9display_t9drawPixelEssb
318
 163                    .LVL12:
319
  16:../libOLED/src/displayFont.cpp ****            {
320
 164                            .loc 1 16 4 discriminator 2 view .LVU36
321
 165 0076 0134                  adds    r4, r4, #1
322
 166                    .LVL13:
323
  16:../libOLED/src/displayFont.cpp ****            {
324
 167                            .loc 1 16 4 discriminator 2 view .LVU37
325
 168 0078 A4B2                  uxth    r4, r4
326
 169                    .LVL14:
327
  16:../libOLED/src/displayFont.cpp ****            {
328
 170                            .loc 1 16 4 discriminator 2 view .LVU38
329
 171 007a E6E7                  b       .L5
330
 172                    .LVL15:
331
 173                    .L3:
332
  16:../libOLED/src/displayFont.cpp ****            {
333
 174                            .loc 1 16 4 discriminator 2 view .LVU39
334
 175                    .LBE38:
335
 176                    .LBE37:
336
 177                    .LBE36:
337
 178                    .LBE35:
338
   9:../libOLED/src/displayFont.cpp ****     {
339
 179                            .loc 1 9 3 discriminator 2 view .LVU40
340
 180 007c 019B                  ldr     r3, [sp, #4]
341
 181 007e 0133                  adds    r3, r3, #1
342
 182 0080 9BB2                  uxth    r3, r3
343
 183 0082 0193                  str     r3, [sp, #4]
344
 184                    .LVL16:
345
 185                    .L7:
346
 186                    .LBB42:
347
 187                    .LBI42:
348
  33:../libOLED/inc/libOLED/fontclass.H ****   {
349
 188                            .loc 3 33 3 is_stmt 1 discriminator 1 view .LVU41
350
 189                    .LBB43:
351
  35:../libOLED/inc/libOLED/fontclass.H ****   }
352
 190                            .loc 3 35 5 discriminator 1 view .LVU42
353
  35:../libOLED/inc/libOLED/fontclass.H ****   }
354
 191                            .loc 3 35 5 is_stmt 0 discriminator 1 view .LVU43
355
 192                    .LBE43:
356
 193                    .LBE42:
357
   9:../libOLED/src/displayFont.cpp ****     {
358
 194                            .loc 1 9 28 discriminator 1 view .LVU44
359
 195 0084 3379                  ldrb    r3, [r6, #4]    @ zero_extendqisi2
360
 196 0086 019A                  ldr     r2, [sp, #4]
361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 7
362
 
363
 
364
 197 0088 9342                  cmp     r3, r2
365
 198 008a 07D9                  bls     .L2
366
 199                    .LBB44:
367
  11:../libOLED/src/displayFont.cpp ****       for (uint16_t xt = 0; xt < length; xt++)
368
 200                            .loc 1 11 7 is_stmt 1 view .LVU45
369
  11:../libOLED/src/displayFont.cpp ****       for (uint16_t xt = 0; xt < length; xt++)
370
 201                            .loc 1 11 32 is_stmt 0 view .LVU46
371
 202 008c BAF81430              ldrh    r3, [r10, #20]
372
  11:../libOLED/src/displayFont.cpp ****       for (uint16_t xt = 0; xt < length; xt++)
373
 203                            .loc 1 11 16 view .LVU47
374
 204 0090 1344                  add     r3, r3, r2
375
 205 0092 9BB2                  uxth    r3, r3
376
 206 0094 0293                  str     r3, [sp, #8]
377
 207                    .LVL17:
378
  12:../libOLED/src/displayFont.cpp ****        {
379
 208                            .loc 1 12 7 is_stmt 1 view .LVU48
380
 209                    .LBB41:
381
  12:../libOLED/src/displayFont.cpp ****        {
382
 210                            .loc 1 12 21 is_stmt 0 view .LVU49
383
 211 0096 4FF0000B              mov     fp, #0
384
 212 009a C5E7                  b       .L6
385
 213                    .LVL18:
386
 214                    .L2:
387
  12:../libOLED/src/displayFont.cpp ****        {
388
 215                            .loc 1 12 21 view .LVU50
389
 216                    .LBE41:
390
 217                    .LBE44:
391
 218                    .LBE34:
392
  19:../libOLED/src/displayFont.cpp ****            }
393
  20:../libOLED/src/displayFont.cpp ****        }
394
  21:../libOLED/src/displayFont.cpp ****     }
395
  22:../libOLED/src/displayFont.cpp ****   // move the cursor.
396
  23:../libOLED/src/displayFont.cpp ****   m_cursor_x += xSpacing * length;
397
 219                            .loc 1 23 3 is_stmt 1 view .LVU51
398
 220                            .loc 1 23 14 is_stmt 0 view .LVU52
399
 221 009c DAF81030              ldr     r3, [r10, #16]
400
 222 00a0 049A                  ldr     r2, [sp, #16]
401
 223 00a2 0399                  ldr     r1, [sp, #12]
402
 224 00a4 01FB0233              mla     r3, r1, r2, r3
403
 225 00a8 CAF81030              str     r3, [r10, #16]
404
  24:../libOLED/src/displayFont.cpp **** }
405
 226                            .loc 1 24 1 view .LVU53
406
 227 00ac 07B0                  add     sp, sp, #28
407
 228                    .LCFI2:
408
 229                            .cfi_def_cfa_offset 36
409
 230                            @ sp needed
410
 231 00ae BDE8F08F              pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
411
 232                            .loc 1 24 1 view .LVU54
412
 233                            .cfi_endproc
413
 234                    .LFE18:
414
 236                            .section        .text._ZN9display_t17printScaledStringER6font_tPKctt8colour_t,"ax",%progbits
415
 237                            .align  1
416
 238                            .global _ZN9display_t17printScaledStringER6font_tPKctt8colour_t
417
 239                            .syntax unified
418
 240                            .thumb
419
 241                            .thumb_func
420
 242                            .fpu softvfp
421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 8
422
 
423
 
424
 244                    _ZN9display_t17printScaledStringER6font_tPKctt8colour_t:
425
 245                    .LVL19:
426
 246                    .LFB19:
427
  25:../libOLED/src/displayFont.cpp ****
428
  26:../libOLED/src/displayFont.cpp **** // scale is multiplied by 256
429
  27:../libOLED/src/displayFont.cpp **** void
430
  28:../libOLED/src/displayFont.cpp **** display_t::printScaledString (font_t &font, char const *string,
431
  29:../libOLED/src/displayFont.cpp ****                                uint16_t length, uint16_t scale,
432
  30:../libOLED/src/displayFont.cpp ****                                colour_t colour)
433
  31:../libOLED/src/displayFont.cpp **** {
434
 247                            .loc 1 31 1 is_stmt 1 view -0
435
 248                            .cfi_startproc
436
 249                            @ args = 8, pretend = 0, frame = 16
437
 250                            @ frame_needed = 0, uses_anonymous_args = 0
438
 251                            .loc 1 31 1 is_stmt 0 view .LVU56
439
 252 0000 2DE9F04F              push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
440
 253                    .LCFI3:
441
 254                            .cfi_def_cfa_offset 36
442
 255                            .cfi_offset 4, -36
443
 256                            .cfi_offset 5, -32
444
 257                            .cfi_offset 6, -28
445
 258                            .cfi_offset 7, -24
446
 259                            .cfi_offset 8, -20
447
 260                            .cfi_offset 9, -16
448
 261                            .cfi_offset 10, -12
449
 262                            .cfi_offset 11, -8
450
 263                            .cfi_offset 14, -4
451
 264 0004 85B0                  sub     sp, sp, #20
452
 265                    .LCFI4:
453
 266                            .cfi_def_cfa_offset 56
454
 267 0006 BDF838A0              ldrh    r10, [sp, #56]
455
  32:../libOLED/src/displayFont.cpp ****   uint16_t xt, yt, jt, curr_x=0;
456
 268                            .loc 1 32 3 is_stmt 1 view .LVU57
457
 269                    .LVL20:
458
  33:../libOLED/src/displayFont.cpp ****   uint16_t curr_y = m_cursor_y;
459
 270                            .loc 1 33 3 view .LVU58
460
 271                            .loc 1 33 12 is_stmt 0 view .LVU59
461
 272 000a 848A                  ldrh    r4, [r0, #20]
462
 273 000c 0194                  str     r4, [sp, #4]
463
 274                    .LVL21:
464
  34:../libOLED/src/displayFont.cpp ****   if (scale < 1)
465
 275                            .loc 1 34 3 is_stmt 1 view .LVU60
466
 276 000e BAF1000F              cmp     r10, #0
467
 277 0012 44D0                  beq     .L9
468
 278 0014 0393                  str     r3, [sp, #12]
469
 279 0016 9346                  mov     fp, r2
470
 280 0018 0E46                  mov     r6, r1
471
 281 001a 0290                  str     r0, [sp, #8]
472
  35:../libOLED/src/displayFont.cpp ****     return;
473
  36:../libOLED/src/displayFont.cpp ****   setPixelMode(colour);
474
 282                            .loc 1 36 3 view .LVU61
475
 283                    .LVL22:
476
 284                    .LBB45:
477
 285                    .LBI45:
478
  72:../libOLED/inc/libOLED/displayclass.H ****   { m_colour = colour; }
479
 286                            .loc 2 72 8 view .LVU62
480
 287                    .LBB46:
481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 9
482
 
483
 
484
 288                            .loc 2 73 5 view .LVU63
485
 289                            .loc 2 73 14 is_stmt 0 view .LVU64
486
 290 001c 9DF83C30              ldrb    r3, [sp, #60]   @ zero_extendqisi2
487
 291                    .LVL23:
488
 292                            .loc 2 73 14 view .LVU65
489
 293 0020 0377                  strb    r3, [r0, #28]
490
 294                    .LVL24:
491
 295                            .loc 2 73 14 view .LVU66
492
 296                    .LBE46:
493
 297                    .LBE45:
494
  37:../libOLED/src/displayFont.cpp ****
495
  38:../libOLED/src/displayFont.cpp ****   for (yt = 0; yt < font.height () * 256; yt += scale) // iterate down scan lines
496
 298                            .loc 1 38 3 is_stmt 1 view .LVU67
497
  32:../libOLED/src/displayFont.cpp ****   uint16_t curr_y = m_cursor_y;
498
 299                            .loc 1 32 24 is_stmt 0 view .LVU68
499
 300 0022 0025                  movs    r5, #0
500
 301                    .LBB47:
501
 302                            .loc 1 38 11 view .LVU69
502
 303 0024 A946                  mov     r9, r5
503
 304 0026 29E0                  b       .L16
504
 305                    .LVL25:
505
 306                    .L13:
506
 307                    .LBB48:
507
 308                    .LBB49:
508
  39:../libOLED/src/displayFont.cpp ****     {
509
  40:../libOLED/src/displayFont.cpp ****       // iterate along the string
510
  41:../libOLED/src/displayFont.cpp ****       // local x plotting coordinate
511
  42:../libOLED/src/displayFont.cpp ****       curr_x = m_cursor_x;
512
  43:../libOLED/src/displayFont.cpp ****       for (xt = 0; xt < length; xt++)
513
 309                            .loc 1 43 7 discriminator 2 view .LVU70
514
 310 0028 08F10108              add     r8, r8, #1
515
 311                    .LVL26:
516
 312                            .loc 1 43 7 discriminator 2 view .LVU71
517
 313 002c 1FFA88F8              uxth    r8, r8
518
 314                    .LVL27:
519
 315                    .L15:
520
 316                            .loc 1 43 23 discriminator 1 view .LVU72
521
 317 0030 039B                  ldr     r3, [sp, #12]
522
 318 0032 9845                  cmp     r8, r3
523
 319 0034 1BD2                  bcs     .L12
524
 320                    .LBB50:
525
  44:../libOLED/src/displayFont.cpp ****        {
526
  45:../libOLED/src/displayFont.cpp ****          for (jt = 0; jt < (font.spacing ()) * 256; jt += scale)
527
 321                            .loc 1 45 12 view .LVU73
528
 322 0036 0024                  movs    r4, #0
529
 323                    .L14:
530
 324                    .LVL28:
531
 325                    .LBB51:
532
 326                    .LBI51:
533
  45:../libOLED/inc/libOLED/fontclass.H ****   {
534
 327                            .loc 3 45 3 is_stmt 1 discriminator 3 view .LVU74
535
 328                    .LBB52:
536
 329                            .loc 3 47 5 discriminator 3 view .LVU75
537
 330                            .loc 3 47 12 is_stmt 0 discriminator 3 view .LVU76
538
 331 0038 B379                  ldrb    r3, [r6, #6]    @ zero_extendqisi2
539
 332                    .LVL29:
540
 333                            .loc 3 47 12 discriminator 3 view .LVU77
541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 10
542
 
543
 
544
 334                    .LBE52:
545
 335                    .LBE51:
546
 336                            .loc 1 45 20 discriminator 3 view .LVU78
547
 337 003a B4EB032F              cmp     r4, r3, lsl #8
548
 338 003e F3DA                  bge     .L13
549
 339                    .LBB53:
550
  46:../libOLED/src/displayFont.cpp ****            {
551
  47:../libOLED/src/displayFont.cpp ****              unsigned char c = (string[xt]);
552
 340                            .loc 1 47 8 is_stmt 1 discriminator 2 view .LVU79
553
 341                    .LVL30:
554
  48:../libOLED/src/displayFont.cpp ****              drawPixel (curr_x, curr_y, font.getPixel (c, jt / 256, yt / 256));
555
 342                            .loc 1 48 8 discriminator 2 view .LVU80
556
 343                            .loc 1 48 71 is_stmt 0 discriminator 2 view .LVU81
557
 344 0040 3368                  ldr     r3, [r6]
558
 345 0042 1F68                  ldr     r7, [r3]
559
 346                            .loc 1 48 49 discriminator 2 view .LVU82
560
 347 0044 4FEA1923              lsr     r3, r9, #8
561
 348 0048 220A                  lsrs    r2, r4, #8
562
 349 004a 1BF80810              ldrb    r1, [fp, r8]    @ zero_extendqisi2
563
 350                    .LVL31:
564
 351                            .loc 1 48 49 discriminator 2 view .LVU83
565
 352 004e 3046                  mov     r0, r6
566
 353 0050 B847                  blx     r7
567
 354                    .LVL32:
568
 355                            .loc 1 48 18 discriminator 2 view .LVU84
569
 356 0052 031C                  adds    r3, r0, #0
570
 357 0054 18BF                  it      ne
571
 358 0056 0123                  movne   r3, #1
572
 359 0058 BDF90420              ldrsh   r2, [sp, #4]
573
 360 005c 29B2                  sxth    r1, r5
574
 361 005e 0298                  ldr     r0, [sp, #8]
575
 362 0060 FFF7FEFF              bl      _ZN9display_t9drawPixelEssb
576
 363                    .LVL33:
577
  49:../libOLED/src/displayFont.cpp ****              curr_x++;
578
 364                            .loc 1 49 8 is_stmt 1 discriminator 2 view .LVU85
579
 365                            .loc 1 49 14 is_stmt 0 discriminator 2 view .LVU86
580
 366 0064 0135                  adds    r5, r5, #1
581
 367                    .LVL34:
582
 368                            .loc 1 49 14 discriminator 2 view .LVU87
583
 369 0066 ADB2                  uxth    r5, r5
584
 370                    .LVL35:
585
 371                            .loc 1 49 14 discriminator 2 view .LVU88
586
 372                    .LBE53:
587
  45:../libOLED/src/displayFont.cpp ****            {
588
 373                            .loc 1 45 50 discriminator 2 view .LVU89
589
 374 0068 5444                  add     r4, r4, r10
590
 375                    .LVL36:
591
  45:../libOLED/src/displayFont.cpp ****            {
592
 376                            .loc 1 45 50 discriminator 2 view .LVU90
593
 377 006a A4B2                  uxth    r4, r4
594
 378                    .LVL37:
595
  45:../libOLED/src/displayFont.cpp ****            {
596
 379                            .loc 1 45 4 discriminator 2 view .LVU91
597
 380 006c E4E7                  b       .L14
598
 381                    .LVL38:
599
 382                    .L12:
600
  45:../libOLED/src/displayFont.cpp ****            {
601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 11
602
 
603
 
604
 383                            .loc 1 45 4 discriminator 2 view .LVU92
605
 384                    .LBE50:
606
 385                    .LBE49:
607
  50:../libOLED/src/displayFont.cpp ****            }
608
  51:../libOLED/src/displayFont.cpp ****        }
609
  52:../libOLED/src/displayFont.cpp ****       curr_y++;
610
 386                            .loc 1 52 7 is_stmt 1 discriminator 2 view .LVU93
611
 387                            .loc 1 52 13 is_stmt 0 discriminator 2 view .LVU94
612
 388 006e 019B                  ldr     r3, [sp, #4]
613
 389 0070 0133                  adds    r3, r3, #1
614
 390 0072 9BB2                  uxth    r3, r3
615
 391 0074 0193                  str     r3, [sp, #4]
616
 392                    .LVL39:
617
 393                            .loc 1 52 13 discriminator 2 view .LVU95
618
 394                    .LBE48:
619
  38:../libOLED/src/displayFont.cpp ****     {
620
 395                            .loc 1 38 46 discriminator 2 view .LVU96
621
 396 0076 D144                  add     r9, r9, r10
622
 397                    .LVL40:
623
  38:../libOLED/src/displayFont.cpp ****     {
624
 398                            .loc 1 38 46 discriminator 2 view .LVU97
625
 399 0078 1FFA89F9              uxth    r9, r9
626
 400                    .LVL41:
627
 401                    .L16:
628
 402                    .LBB55:
629
 403                    .LBI55:
630
  33:../libOLED/inc/libOLED/fontclass.H ****   {
631
 404                            .loc 3 33 3 is_stmt 1 discriminator 1 view .LVU98
632
 405                    .LBB56:
633
  35:../libOLED/inc/libOLED/fontclass.H ****   }
634
 406                            .loc 3 35 5 discriminator 1 view .LVU99
635
  35:../libOLED/inc/libOLED/fontclass.H ****   }
636
 407                            .loc 3 35 12 is_stmt 0 discriminator 1 view .LVU100
637
 408 007c 3379                  ldrb    r3, [r6, #4]    @ zero_extendqisi2
638
 409                    .LVL42:
639
  35:../libOLED/inc/libOLED/fontclass.H ****   }
640
 410                            .loc 3 35 12 discriminator 1 view .LVU101
641
 411                    .LBE56:
642
 412                    .LBE55:
643
  38:../libOLED/src/displayFont.cpp ****     {
644
 413                            .loc 1 38 19 discriminator 1 view .LVU102
645
 414 007e B9EB032F              cmp     r9, r3, lsl #8
646
 415 0082 04DA                  bge     .L11
647
 416                    .LBB57:
648
  42:../libOLED/src/displayFont.cpp ****       for (xt = 0; xt < length; xt++)
649
 417                            .loc 1 42 7 is_stmt 1 view .LVU103
650
  42:../libOLED/src/displayFont.cpp ****       for (xt = 0; xt < length; xt++)
651
 418                            .loc 1 42 14 is_stmt 0 view .LVU104
652
 419 0084 029B                  ldr     r3, [sp, #8]
653
 420 0086 1D8A                  ldrh    r5, [r3, #16]
654
 421                    .LVL43:
655
  43:../libOLED/src/displayFont.cpp ****        {
656
 422                            .loc 1 43 7 is_stmt 1 view .LVU105
657
 423                    .LBB54:
658
  43:../libOLED/src/displayFont.cpp ****        {
659
 424                            .loc 1 43 15 is_stmt 0 view .LVU106
660
 425 0088 4FF00008              mov     r8, #0
661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 12
662
 
663
 
664
 426 008c D0E7                  b       .L15
665
 427                    .LVL44:
666
 428                    .L11:
667
  43:../libOLED/src/displayFont.cpp ****        {
668
 429                            .loc 1 43 15 view .LVU107
669
 430                    .LBE54:
670
 431                    .LBE57:
671
 432                    .LBE47:
672
  53:../libOLED/src/displayFont.cpp ****     }
673
  54:../libOLED/src/displayFont.cpp ****   if (curr_x > width ())
674
 433                            .loc 1 54 3 is_stmt 1 view .LVU108
675
 434                            .loc 1 54 22 is_stmt 0 view .LVU109
676
 435 008e 0298                  ldr     r0, [sp, #8]
677
 436 0090 FFF7FEFF              bl      _ZN9display_t5widthEv
678
 437                    .LVL45:
679
 438                            .loc 1 54 3 view .LVU110
680
 439 0094 8542                  cmp     r5, r0
681
 440 0096 00DD                  ble     .L17
682
  55:../libOLED/src/displayFont.cpp ****     {
683
  56:../libOLED/src/displayFont.cpp ****       curr_x = 0;
684
 441                            .loc 1 56 14 view .LVU111
685
 442 0098 0025                  movs    r5, #0
686
 443                    .LVL46:
687
 444                    .L17:
688
  57:../libOLED/src/displayFont.cpp ****     }
689
  58:../libOLED/src/displayFont.cpp ****   m_cursor_x = curr_x;
690
 445                            .loc 1 58 3 is_stmt 1 view .LVU112
691
 446                            .loc 1 58 14 is_stmt 0 view .LVU113
692
 447 009a 029B                  ldr     r3, [sp, #8]
693
 448 009c 1D61                  str     r5, [r3, #16]
694
 449                    .LVL47:
695
 450                    .L9:
696
  59:../libOLED/src/displayFont.cpp **** }
697
 451                            .loc 1 59 1 view .LVU114
698
 452 009e 05B0                  add     sp, sp, #20
699
 453                    .LCFI5:
700
 454                            .cfi_def_cfa_offset 36
701
 455                            @ sp needed
702
 456 00a0 BDE8F08F              pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
703
 457                            .loc 1 59 1 view .LVU115
704
 458                            .cfi_endproc
705
 459                    .LFE19:
706
 461                            .section        .text._ZN9display_t9formatNumEPchhhi,"ax",%progbits
707
 462                            .align  1
708
 463                            .global _ZN9display_t9formatNumEPchhhi
709
 464                            .syntax unified
710
 465                            .thumb
711
 466                            .thumb_func
712
 467                            .fpu softvfp
713
 469                    _ZN9display_t9formatNumEPchhhi:
714
 470                    .LVL48:
715
 471                    .LFB20:
716
  60:../libOLED/src/displayFont.cpp ****
717
  61:../libOLED/src/displayFont.cpp **** uint8_t
718
  62:../libOLED/src/displayFont.cpp **** display_t::formatNum (char *buff, uint8_t siz, uint8_t digits, uint8_t dp_pos, int val)
719
  63:../libOLED/src/displayFont.cpp **** {
720
 472                            .loc 1 63 1 is_stmt 1 view -0
721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 13
722
 
723
 
724
 473                            .cfi_startproc
725
 474                            @ args = 8, pretend = 0, frame = 0
726
 475                            @ frame_needed = 0, uses_anonymous_args = 0
727
 476                            .loc 1 63 1 is_stmt 0 view .LVU117
728
 477 0000 F0B5                  push    {r4, r5, r6, r7, lr}
729
 478                    .LCFI6:
730
 479                            .cfi_def_cfa_offset 20
731
 480                            .cfi_offset 4, -20
732
 481                            .cfi_offset 5, -16
733
 482                            .cfi_offset 6, -12
734
 483                            .cfi_offset 7, -8
735
 484                            .cfi_offset 14, -4
736
 485 0002 9DF814C0              ldrb    ip, [sp, #20]   @ zero_extendqisi2
737
 486 0006 069E                  ldr     r6, [sp, #24]
738
  64:../libOLED/src/displayFont.cpp ****   if(dp_pos != NO_DECIMAL)
739
 487                            .loc 1 64 3 is_stmt 1 view .LVU118
740
 488 0008 BCF1FF0F              cmp     ip, #255
741
 489 000c 0CD0                  beq     .L28
742
  65:../libOLED/src/displayFont.cpp ****   digits++;
743
 490                            .loc 1 65 3 view .LVU119
744
 491                            .loc 1 65 9 is_stmt 0 view .LVU120
745
 492 000e 581C                  adds    r0, r3, #1
746
 493                    .LVL49:
747
 494                            .loc 1 65 9 view .LVU121
748
 495 0010 C0B2                  uxtb    r0, r0
749
 496                    .LVL50:
750
 497                    .L21:
751
  66:../libOLED/src/displayFont.cpp ****   uint8_t pos = digits;
752
 498                            .loc 1 66 3 is_stmt 1 view .LVU122
753
  67:../libOLED/src/displayFont.cpp ****   uint8_t dp_loc = pos - dp_pos;
754
 499                            .loc 1 67 3 view .LVU123
755
 500                            .loc 1 67 11 is_stmt 0 view .LVU124
756
 501 0012 A0EB0C0C              sub     ip, r0, ip
757
 502 0016 5FFA8CFC              uxtb    ip, ip
758
 503                    .LVL51:
759
  68:../libOLED/src/displayFont.cpp ****   uint8_t sign = 0;
760
 504                            .loc 1 68 3 is_stmt 1 view .LVU125
761
  69:../libOLED/src/displayFont.cpp ****   if (val < 0)
762
 505                            .loc 1 69 3 view .LVU126
763
 506 001a 002E                  cmp     r6, #0
764
 507 001c 06DB                  blt     .L31
765
  68:../libOLED/src/displayFont.cpp ****   uint8_t sign = 0;
766
 508                            .loc 1 68 11 is_stmt 0 view .LVU127
767
 509 001e 0023                  movs    r3, #0
768
 510                    .LVL52:
769
 511                    .L22:
770
  70:../libOLED/src/displayFont.cpp ****     {
771
  71:../libOLED/src/displayFont.cpp ****       sign = 1;
772
  72:../libOLED/src/displayFont.cpp ****       val = -val;
773
  73:../libOLED/src/displayFont.cpp ****     }
774
  74:../libOLED/src/displayFont.cpp ****
775
  75:../libOLED/src/displayFont.cpp ****   buff[pos] = 0;
776
 512                            .loc 1 75 3 is_stmt 1 view .LVU128
777
 513                            .loc 1 75 13 is_stmt 0 view .LVU129
778
 514 0020 0024                  movs    r4, #0
779
 515 0022 0C54                  strb    r4, [r1, r0]
780
  66:../libOLED/src/displayFont.cpp ****   uint8_t dp_loc = pos - dp_pos;
781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 14
782
 
783
 
784
 516                            .loc 1 66 11 view .LVU130
785
 517 0024 0546                  mov     r5, r0
786
 518 0026 08E0                  b       .L23
787
 519                    .LVL53:
788
 520                    .L28:
789
  66:../libOLED/src/displayFont.cpp ****   uint8_t dp_loc = pos - dp_pos;
790
 521                            .loc 1 66 11 view .LVU131
791
 522 0028 1846                  mov     r0, r3
792
 523                    .LVL54:
793
  66:../libOLED/src/displayFont.cpp ****   uint8_t dp_loc = pos - dp_pos;
794
 524                            .loc 1 66 11 view .LVU132
795
 525 002a F2E7                  b       .L21
796
 526                    .LVL55:
797
 527                    .L31:
798
  71:../libOLED/src/displayFont.cpp ****       val = -val;
799
 528                            .loc 1 71 7 is_stmt 1 view .LVU133
800
  72:../libOLED/src/displayFont.cpp ****     }
801
 529                            .loc 1 72 7 view .LVU134
802
  72:../libOLED/src/displayFont.cpp ****     }
803
 530                            .loc 1 72 11 is_stmt 0 view .LVU135
804
 531 002c 7642                  rsbs    r6, r6, #0
805
 532                    .LVL56:
806
  71:../libOLED/src/displayFont.cpp ****       val = -val;
807
 533                            .loc 1 71 12 view .LVU136
808
 534 002e 0123                  movs    r3, #1
809
 535 0030 F6E7                  b       .L22
810
 536                    .LVL57:
811
 537                    .L32:
812
  76:../libOLED/src/displayFont.cpp ****   while (pos && pos < siz)
813
  77:../libOLED/src/displayFont.cpp ****     {
814
  78:../libOLED/src/displayFont.cpp ****       if (pos == dp_loc)
815
  79:../libOLED/src/displayFont.cpp ****        {
816
  80:../libOLED/src/displayFont.cpp ****          buff[--pos] = '.';
817
 538                            .loc 1 80 4 is_stmt 1 view .LVU137
818
 539                            .loc 1 80 16 is_stmt 0 view .LVU138
819
 540 0032 013D                  subs    r5, r5, #1
820
 541                    .LVL58:
821
 542                            .loc 1 80 16 view .LVU139
822
 543 0034 EDB2                  uxtb    r5, r5
823
 544                    .LVL59:
824
 545                            .loc 1 80 16 view .LVU140
825
 546 0036 2E24                  movs    r4, #46
826
 547 0038 4C55                  strb    r4, [r1, r5]
827
 548                    .LVL60:
828
 549                    .L23:
829
  76:../libOLED/src/displayFont.cpp ****   while (pos && pos < siz)
830
 550                            .loc 1 76 3 is_stmt 1 view .LVU141
831
  76:../libOLED/src/displayFont.cpp ****   while (pos && pos < siz)
832
 551                            .loc 1 76 14 is_stmt 0 view .LVU142
833
 552 003a CDB1                  cbz     r5, .L24
834
  76:../libOLED/src/displayFont.cpp ****   while (pos && pos < siz)
835
 553                            .loc 1 76 14 discriminator 1 view .LVU143
836
 554 003c 9542                  cmp     r5, r2
837
 555 003e 17D2                  bcs     .L24
838
  78:../libOLED/src/displayFont.cpp ****        {
839
 556                            .loc 1 78 7 is_stmt 1 view .LVU144
840
 557 0040 6545                  cmp     r5, ip
841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 15
842
 
843
 
844
 558 0042 F6D0                  beq     .L32
845
  81:../libOLED/src/displayFont.cpp ****        }
846
  82:../libOLED/src/displayFont.cpp ****       else
847
  83:../libOLED/src/displayFont.cpp ****        {
848
  84:../libOLED/src/displayFont.cpp ****          buff[--pos] = val % 10 + '0';
849
 559                            .loc 1 84 4 view .LVU145
850
 560                            .loc 1 84 22 is_stmt 0 view .LVU146
851
 561 0044 0D4F                  ldr     r7, .L33
852
 562 0046 87FB0647              smull   r4, r7, r7, r6
853
 563 004a F417                  asrs    r4, r6, #31
854
 564 004c C4EBA704              rsb     r4, r4, r7, asr #2
855
 565 0050 2746                  mov     r7, r4
856
 566 0052 04EB8404              add     r4, r4, r4, lsl #2
857
 567 0056 4FEA440E              lsl     lr, r4, #1
858
 568 005a A6EB0E04              sub     r4, r6, lr
859
 569                            .loc 1 84 16 view .LVU147
860
 570 005e 013D                  subs    r5, r5, #1
861
 571                    .LVL61:
862
 572                            .loc 1 84 16 view .LVU148
863
 573 0060 EDB2                  uxtb    r5, r5
864
 574                    .LVL62:
865
 575                            .loc 1 84 27 view .LVU149
866
 576 0062 3034                  adds    r4, r4, #48
867
 577                            .loc 1 84 16 view .LVU150
868
 578 0064 4C55                  strb    r4, [r1, r5]
869
  85:../libOLED/src/displayFont.cpp ****          val /= 10;
870
 579                            .loc 1 85 4 is_stmt 1 view .LVU151
871
 580                            .loc 1 85 8 is_stmt 0 view .LVU152
872
 581 0066 3E46                  mov     r6, r7
873
 582                    .LVL63:
874
  86:../libOLED/src/displayFont.cpp ****          if (val == 0 && pos < dp_loc)
875
 583                            .loc 1 86 4 is_stmt 1 view .LVU153
876
 584 0068 002F                  cmp     r7, #0
877
 585 006a E6D1                  bne     .L23
878
 586                            .loc 1 86 17 is_stmt 0 discriminator 1 view .LVU154
879
 587 006c AC45                  cmp     ip, r5
880
 588 006e E4D9                  bls     .L23
881
 589                    .L24:
882
  87:../libOLED/src/displayFont.cpp ****            break;
883
  88:../libOLED/src/displayFont.cpp ****        }
884
  89:../libOLED/src/displayFont.cpp ****     }
885
  90:../libOLED/src/displayFont.cpp ****   if (sign)
886
 590                            .loc 1 90 3 is_stmt 1 view .LVU155
887
 591 0070 1BB1                  cbz     r3, .L27
888
  91:../libOLED/src/displayFont.cpp ****     {
889
  92:../libOLED/src/displayFont.cpp ****       buff[--pos] = '-';
890
 592                            .loc 1 92 7 view .LVU156
891
 593                            .loc 1 92 19 is_stmt 0 view .LVU157
892
 594 0072 013D                  subs    r5, r5, #1
893
 595                    .LVL64:
894
 596                            .loc 1 92 19 view .LVU158
895
 597 0074 EDB2                  uxtb    r5, r5
896
 598                    .LVL65:
897
 599                            .loc 1 92 19 view .LVU159
898
 600 0076 2D23                  movs    r3, #45
899
 601                    .LVL66:
900
 602                            .loc 1 92 19 view .LVU160
901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 16
902
 
903
 
904
 603 0078 4B55                  strb    r3, [r1, r5]
905
 604                    .L27:
906
  93:../libOLED/src/displayFont.cpp ****     }
907
  94:../libOLED/src/displayFont.cpp ****   return digits;
908
 605                            .loc 1 94 3 is_stmt 1 view .LVU161
909
  95:../libOLED/src/displayFont.cpp **** }
910
 606                            .loc 1 95 1 is_stmt 0 view .LVU162
911
 607 007a F0BD                  pop     {r4, r5, r6, r7, pc}
912
 608                    .LVL67:
913
 609                    .L34:
914
 610                            .loc 1 95 1 view .LVU163
915
 611                            .align  2
916
 612                    .L33:
917
 613 007c 67666666              .word   1717986919
918
 614                            .cfi_endproc
919
 615                    .LFE20:
920
 617                            .section        .text._ZN9display_t10fontDigitsER6font_thhi8colour_t,"ax",%progbits
921
 618                            .align  1
922
 619                            .global _ZN9display_t10fontDigitsER6font_thhi8colour_t
923
 620                            .syntax unified
924
 621                            .thumb
925
 622                            .thumb_func
926
 623                            .fpu softvfp
927
 625                    _ZN9display_t10fontDigitsER6font_thhi8colour_t:
928
 626                    .LVL68:
929
 627                    .LFB21:
930
  96:../libOLED/src/displayFont.cpp ****
931
  97:../libOLED/src/displayFont.cpp **** void
932
  98:../libOLED/src/displayFont.cpp **** display_t::fontDigits (font_t &font, uint8_t digits, uint8_t dp_pos, int val, colour_t colour)
933
  99:../libOLED/src/displayFont.cpp **** {
934
 628                            .loc 1 99 1 is_stmt 1 view -0
935
 629                            .cfi_startproc
936
 630                            @ args = 8, pretend = 0, frame = 16
937
 631                            @ frame_needed = 0, uses_anonymous_args = 0
938
 632                            .loc 1 99 1 is_stmt 0 view .LVU165
939
 633 0000 F0B5                  push    {r4, r5, r6, r7, lr}
940
 634                    .LCFI7:
941
 635                            .cfi_def_cfa_offset 20
942
 636                            .cfi_offset 4, -20
943
 637                            .cfi_offset 5, -16
944
 638                            .cfi_offset 6, -12
945
 639                            .cfi_offset 7, -8
946
 640                            .cfi_offset 14, -4
947
 641 0002 87B0                  sub     sp, sp, #28
948
 642                    .LCFI8:
949
 643                            .cfi_def_cfa_offset 48
950
 644 0004 0546                  mov     r5, r0
951
 645 0006 0E46                  mov     r6, r1
952
 646 0008 1746                  mov     r7, r2
953
 100:../libOLED/src/displayFont.cpp ****   char buff[10] = "        ";
954
 647                            .loc 1 100 3 is_stmt 1 view .LVU166
955
 648                            .loc 1 100 8 is_stmt 0 view .LVU167
956
 649 000a 0E4A                  ldr     r2, .L37
957
 650                    .LVL69:
958
 651                            .loc 1 100 8 view .LVU168
959
 652 000c 03AC                  add     r4, sp, #12
960
 653 000e 07CA                  ldm     r2, {r0, r1, r2}
961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 17
962
 
963
 
964
 654                    .LVL70:
965
 655                            .loc 1 100 8 view .LVU169
966
 656 0010 03C4                  stmia   r4!, {r0, r1}
967
 657 0012 2270                  strb    r2, [r4]
968
 658 0014 0022                  movs    r2, #0
969
 659 0016 8DF81520              strb    r2, [sp, #21]
970
 101:../libOLED/src/displayFont.cpp ****   uint8_t wid = formatNum (buff, sizeof(buff), digits, dp_pos, val);
971
 660                            .loc 1 101 3 is_stmt 1 view .LVU170
972
 661                            .loc 1 101 27 is_stmt 0 view .LVU171
973
 662 001a 0C9A                  ldr     r2, [sp, #48]
974
 663 001c 0192                  str     r2, [sp, #4]
975
 664 001e 0093                  str     r3, [sp]
976
 665 0020 3B46                  mov     r3, r7
977
 666                    .LVL71:
978
 667                            .loc 1 101 27 view .LVU172
979
 668 0022 0A22                  movs    r2, #10
980
 669 0024 03A9                  add     r1, sp, #12
981
 670 0026 2846                  mov     r0, r5
982
 671 0028 FFF7FEFF              bl      _ZN9display_t9formatNumEPchhhi
983
 672                    .LVL72:
984
 102:../libOLED/src/displayFont.cpp ****   printString (font, buff, wid, colour );
985
 673                            .loc 1 102 3 is_stmt 1 view .LVU173
986
 674                            .loc 1 102 15 is_stmt 0 view .LVU174
987
 675 002c 9DF83430              ldrb    r3, [sp, #52]   @ zero_extendqisi2
988
 676 0030 0093                  str     r3, [sp]
989
 677 0032 83B2                  uxth    r3, r0
990
 678 0034 03AA                  add     r2, sp, #12
991
 679 0036 3146                  mov     r1, r6
992
 680 0038 2846                  mov     r0, r5
993
 681                    .LVL73:
994
 682                            .loc 1 102 15 view .LVU175
995
 683 003a FFF7FEFF              bl      _ZN9display_t11printStringER6font_tPKct8colour_t
996
 684                    .LVL74:
997
 103:../libOLED/src/displayFont.cpp **** }
998
 685                            .loc 1 103 1 view .LVU176
999
 686 003e 07B0                  add     sp, sp, #28
1000
 687                    .LCFI9:
1001
 688                            .cfi_def_cfa_offset 20
1002
 689                            @ sp needed
1003
 690 0040 F0BD                  pop     {r4, r5, r6, r7, pc}
1004
 691                    .LVL75:
1005
 692                    .L38:
1006
 693                            .loc 1 103 1 view .LVU177
1007
 694 0042 00BF                  .align  2
1008
 695                    .L37:
1009
 696 0044 00000000              .word   .LANCHOR0
1010
 697                            .cfi_endproc
1011
 698                    .LFE21:
1012
 700                            .section        .text._ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t,"ax",%progbits
1013
 701                            .align  1
1014
 702                            .global _ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t
1015
 703                            .syntax unified
1016
 704                            .thumb
1017
 705                            .thumb_func
1018
 706                            .fpu softvfp
1019
 708                    _ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t:
1020
 709                    .LVL76:
1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 18
1022
 
1023
 
1024
 710                    .LFB22:
1025
 104:../libOLED/src/displayFont.cpp ****
1026
 105:../libOLED/src/displayFont.cpp **** void
1027
 106:../libOLED/src/displayFont.cpp **** display_t::fontSigDigits (font_t &font,uint8_t x, uint8_t y, bool right_justify, uint8_t dp_pos,
1028
 107:../libOLED/src/displayFont.cpp ****                 int val, colour_t colour)
1029
 108:../libOLED/src/displayFont.cpp **** {
1030
 711                            .loc 1 108 1 is_stmt 1 view -0
1031
 712                            .cfi_startproc
1032
 713                            @ args = 16, pretend = 0, frame = 0
1033
 714                            @ frame_needed = 0, uses_anonymous_args = 0
1034
 715                            .loc 1 108 1 is_stmt 0 view .LVU179
1035
 716 0000 F0B5                  push    {r4, r5, r6, r7, lr}
1036
 717                    .LCFI10:
1037
 718                            .cfi_def_cfa_offset 20
1038
 719                            .cfi_offset 4, -20
1039
 720                            .cfi_offset 5, -16
1040
 721                            .cfi_offset 6, -12
1041
 722                            .cfi_offset 7, -8
1042
 723                            .cfi_offset 14, -4
1043
 724 0002 83B0                  sub     sp, sp, #12
1044
 725                    .LCFI11:
1045
 726                            .cfi_def_cfa_offset 32
1046
 727 0004 9C46                  mov     ip, r3
1047
 728 0006 9DF820E0              ldrb    lr, [sp, #32]   @ zero_extendqisi2
1048
 729 000a 9DF82430              ldrb    r3, [sp, #36]   @ zero_extendqisi2
1049
 730                    .LVL77:
1050
 731                            .loc 1 108 1 view .LVU180
1051
 732 000e 0A9D                  ldr     r5, [sp, #40]
1052
 109:../libOLED/src/displayFont.cpp ****   char digits;
1053
 733                            .loc 1 109 3 is_stmt 1 view .LVU181
1054
 110:../libOLED/src/displayFont.cpp ****   char sign = 0;
1055
 734                            .loc 1 110 3 view .LVU182
1056
 735                    .LVL78:
1057
 111:../libOLED/src/displayFont.cpp ****   int uval;
1058
 736                            .loc 1 111 3 view .LVU183
1059
 112:../libOLED/src/displayFont.cpp ****   if (val < 0)
1060
 737                            .loc 1 112 3 view .LVU184
1061
 738 0010 002D                  cmp     r5, #0
1062
 739 0012 26DB                  blt     .L52
1063
 113:../libOLED/src/displayFont.cpp ****     {
1064
 114:../libOLED/src/displayFont.cpp ****       uval = -val;
1065
 115:../libOLED/src/displayFont.cpp ****       sign = 1; // mark as negative
1066
 116:../libOLED/src/displayFont.cpp ****     }
1067
 117:../libOLED/src/displayFont.cpp ****   else
1068
 118:../libOLED/src/displayFont.cpp ****     {
1069
 119:../libOLED/src/displayFont.cpp ****       uval = val;
1070
 740                            .loc 1 119 12 is_stmt 0 view .LVU185
1071
 741 0014 2E46                  mov     r6, r5
1072
 742                    .LVL79:
1073
 743                    .L40:
1074
 120:../libOLED/src/displayFont.cpp ****     }
1075
 121:../libOLED/src/displayFont.cpp ****   if (uval < 10) // always one digit for a sign or space, one for a digit
1076
 744                            .loc 1 121 3 is_stmt 1 view .LVU186
1077
 122:../libOLED/src/displayFont.cpp ****     {
1078
 123:../libOLED/src/displayFont.cpp ****       digits = 1;
1079
 124:../libOLED/src/displayFont.cpp ****     }
1080
 125:../libOLED/src/displayFont.cpp ****   if (uval >= 10 && uval < 100)
1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 19
1082
 
1083
 
1084
 745                            .loc 1 125 3 view .LVU187
1085
 746                            .loc 1 125 18 is_stmt 0 view .LVU188
1086
 747 0016 3746                  mov     r7, r6
1087
 748 0018 A6F10A04              sub     r4, r6, #10
1088
 749                            .loc 1 125 3 view .LVU189
1089
 750 001c 592C                  cmp     r4, #89
1090
 751 001e 22D9                  bls     .L48
1091
 752 0020 0124                  movs    r4, #1
1092
 753                    .L41:
1093
 754                    .LVL80:
1094
 126:../libOLED/src/displayFont.cpp ****     {
1095
 127:../libOLED/src/displayFont.cpp ****       digits = 2;
1096
 128:../libOLED/src/displayFont.cpp ****     }
1097
 129:../libOLED/src/displayFont.cpp ****   if (uval >= 100 && uval < 1000)
1098
 755                            .loc 1 129 3 is_stmt 1 view .LVU190
1099
 756                            .loc 1 129 19 is_stmt 0 view .LVU191
1100
 757 0022 643F                  subs    r7, r7, #100
1101
 758                            .loc 1 129 3 view .LVU192
1102
 759 0024 B7F5617F              cmp     r7, #900
1103
 760 0028 00D2                  bcs     .L42
1104
 130:../libOLED/src/displayFont.cpp ****     {
1105
 131:../libOLED/src/displayFont.cpp ****       digits = 3;
1106
 761                            .loc 1 131 14 view .LVU193
1107
 762 002a 0324                  movs    r4, #3
1108
 763                    .LVL81:
1109
 764                    .L42:
1110
 132:../libOLED/src/displayFont.cpp ****     }
1111
 133:../libOLED/src/displayFont.cpp ****   if (uval >= 1000)
1112
 765                            .loc 1 133 3 is_stmt 1 view .LVU194
1113
 766 002c B6F57A7F              cmp     r6, #1000
1114
 767 0030 00DB                  blt     .L43
1115
 134:../libOLED/src/displayFont.cpp ****     {
1116
 135:../libOLED/src/displayFont.cpp ****       digits = 4;
1117
 768                            .loc 1 135 14 is_stmt 0 view .LVU195
1118
 769 0032 0424                  movs    r4, #4
1119
 770                    .LVL82:
1120
 771                    .L43:
1121
 136:../libOLED/src/displayFont.cpp ****     }
1122
 137:../libOLED/src/displayFont.cpp ****   // backup for the - sign if right justified
1123
 138:../libOLED/src/displayFont.cpp ****   if (right_justify)
1124
 772                            .loc 1 138 3 is_stmt 1 view .LVU196
1125
 773 0034 BEF1000F              cmp     lr, #0
1126
 774 0038 07D0                  beq     .L44
1127
 139:../libOLED/src/displayFont.cpp ****     {
1128
 140:../libOLED/src/displayFont.cpp ****       if (dp_pos < 10)
1129
 775                            .loc 1 140 7 view .LVU197
1130
 776 003a 092B                  cmp     r3, #9
1131
 777 003c 15D8                  bhi     .L45
1132
 141:../libOLED/src/displayFont.cpp ****        {
1133
 142:../libOLED/src/displayFont.cpp ****          digits += 2;
1134
 778                            .loc 1 142 4 view .LVU198
1135
 779                            .loc 1 142 11 is_stmt 0 view .LVU199
1136
 780 003e 0234                  adds    r4, r4, #2
1137
 781                    .LVL83:
1138
 782                            .loc 1 142 11 view .LVU200
1139
 783 0040 E4B2                  uxtb    r4, r4
1140
 784                    .LVL84:
1141
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 20
1142
 
1143
 
1144
 785                    .L46:
1145
 143:../libOLED/src/displayFont.cpp ****        }
1146
 144:../libOLED/src/displayFont.cpp ****       else
1147
 145:../libOLED/src/displayFont.cpp ****        {
1148
 146:../libOLED/src/displayFont.cpp ****          digits += 1;
1149
 147:../libOLED/src/displayFont.cpp ****        }
1150
 148:../libOLED/src/displayFont.cpp ****       x -= digits * font.spacing();
1151
 786                            .loc 1 148 7 is_stmt 1 view .LVU201
1152
 787                    .LBB58:
1153
 788                    .LBI58:
1154
  45:../libOLED/inc/libOLED/fontclass.H ****   {
1155
 789                            .loc 3 45 3 view .LVU202
1156
 790                    .LBB59:
1157
 791                            .loc 3 47 5 view .LVU203
1158
 792                            .loc 3 47 12 is_stmt 0 view .LVU204
1159
 793 0042 8E79                  ldrb    r6, [r1, #6]    @ zero_extendqisi2
1160
 794                    .LVL85:
1161
 795                            .loc 3 47 12 view .LVU205
1162
 796                    .LBE59:
1163
 797                    .LBE58:
1164
 798                            .loc 1 148 9 view .LVU206
1165
 799 0044 06FB1422              mls     r2, r6, r4, r2
1166
 800                    .LVL86:
1167
 801                            .loc 1 148 9 view .LVU207
1168
 802 0048 D2B2                  uxtb    r2, r2
1169
 803                    .LVL87:
1170
 804                    .L44:
1171
 149:../libOLED/src/displayFont.cpp ****     }
1172
 150:../libOLED/src/displayFont.cpp ****
1173
 151:../libOLED/src/displayFont.cpp ****   gotoxy (x, y);
1174
 805                            .loc 1 151 3 is_stmt 1 view .LVU208
1175
 806                    .LBB60:
1176
 807                    .LBI60:
1177
  74:../libOLED/inc/libOLED/displayclass.H ****
1178
  75:../libOLED/inc/libOLED/displayclass.H ****
1179
  76:../libOLED/inc/libOLED/displayclass.H ****   void
1180
  77:../libOLED/inc/libOLED/displayclass.H ****   drawPixel (int16_t x, int16_t y, bool pixel);
1181
  78:../libOLED/inc/libOLED/displayclass.H ****
1182
  79:../libOLED/inc/libOLED/displayclass.H ****   void
1183
  80:../libOLED/inc/libOLED/displayclass.H ****   drawLine (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
1184
  81:../libOLED/inc/libOLED/displayclass.H ****
1185
  82:../libOLED/inc/libOLED/displayclass.H ****   void drawRectangle (int16_t x1, int16_t y1, int16_t x2, int16_t y2, colour_t color);
1186
  83:../libOLED/inc/libOLED/displayclass.H ****
1187
  84:../libOLED/inc/libOLED/displayclass.H ****
1188
  85:../libOLED/inc/libOLED/displayclass.H ****   void
1189
  86:../libOLED/inc/libOLED/displayclass.H ****   gotoxy (int x, int y)
1190
 808                            .loc 2 86 3 view .LVU209
1191
 809                    .LBB61:
1192
  87:../libOLED/inc/libOLED/displayclass.H ****   {
1193
  88:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_x = x;
1194
 810                            .loc 2 88 5 view .LVU210
1195
 811                            .loc 2 88 16 is_stmt 0 view .LVU211
1196
 812 004a 0261                  str     r2, [r0, #16]
1197
  89:../libOLED/inc/libOLED/displayclass.H ****     m_cursor_y = y;
1198
 813                            .loc 2 89 5 is_stmt 1 view .LVU212
1199
 814                            .loc 2 89 16 is_stmt 0 view .LVU213
1200
 815 004c C0F814C0              str     ip, [r0, #20]
1201
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 21
1202
 
1203
 
1204
 816                    .LVL88:
1205
 817                            .loc 2 89 16 view .LVU214
1206
 818                    .LBE61:
1207
 819                    .LBE60:
1208
 152:../libOLED/src/displayFont.cpp ****   fontDigits (font, digits, dp_pos, val,colour);
1209
 820                            .loc 1 152 3 is_stmt 1 view .LVU215
1210
 821                            .loc 1 152 14 is_stmt 0 view .LVU216
1211
 822 0050 9DF82C20              ldrb    r2, [sp, #44]   @ zero_extendqisi2
1212
 823                    .LVL89:
1213
 824                            .loc 1 152 14 view .LVU217
1214
 825 0054 0192                  str     r2, [sp, #4]
1215
 826 0056 0095                  str     r5, [sp]
1216
 827 0058 2246                  mov     r2, r4
1217
 828 005a FFF7FEFF              bl      _ZN9display_t10fontDigitsER6font_thhi8colour_t
1218
 829                    .LVL90:
1219
 153:../libOLED/src/displayFont.cpp **** }
1220
 830                            .loc 1 153 1 view .LVU218
1221
 831 005e 03B0                  add     sp, sp, #12
1222
 832                    .LCFI12:
1223
 833                            .cfi_remember_state
1224
 834                            .cfi_def_cfa_offset 20
1225
 835                            @ sp needed
1226
 836 0060 F0BD                  pop     {r4, r5, r6, r7, pc}
1227
 837                    .LVL91:
1228
 838                    .L52:
1229
 839                    .LCFI13:
1230
 840                            .cfi_restore_state
1231
 114:../libOLED/src/displayFont.cpp ****       sign = 1; // mark as negative
1232
 841                            .loc 1 114 7 is_stmt 1 view .LVU219
1233
 114:../libOLED/src/displayFont.cpp ****       sign = 1; // mark as negative
1234
 842                            .loc 1 114 12 is_stmt 0 view .LVU220
1235
 843 0062 6E42                  rsbs    r6, r5, #0
1236
 844                    .LVL92:
1237
 115:../libOLED/src/displayFont.cpp ****     }
1238
 845                            .loc 1 115 7 is_stmt 1 view .LVU221
1239
 115:../libOLED/src/displayFont.cpp ****     }
1240
 846                            .loc 1 115 7 is_stmt 0 view .LVU222
1241
 847 0064 D7E7                  b       .L40
1242
 848                    .LVL93:
1243
 849                    .L48:
1244
 127:../libOLED/src/displayFont.cpp ****     }
1245
 850                            .loc 1 127 14 view .LVU223
1246
 851 0066 0224                  movs    r4, #2
1247
 852 0068 DBE7                  b       .L41
1248
 853                    .LVL94:
1249
 854                    .L45:
1250
 146:../libOLED/src/displayFont.cpp ****        }
1251
 855                            .loc 1 146 4 is_stmt 1 view .LVU224
1252
 146:../libOLED/src/displayFont.cpp ****        }
1253
 856                            .loc 1 146 11 is_stmt 0 view .LVU225
1254
 857 006a 0134                  adds    r4, r4, #1
1255
 858                    .LVL95:
1256
 146:../libOLED/src/displayFont.cpp ****        }
1257
 859                            .loc 1 146 11 view .LVU226
1258
 860 006c E4B2                  uxtb    r4, r4
1259
 861                    .LVL96:
1260
 146:../libOLED/src/displayFont.cpp ****        }
1261
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 22
1262
 
1263
 
1264
 862                            .loc 1 146 11 view .LVU227
1265
 863 006e E8E7                  b       .L46
1266
 864                            .cfi_endproc
1267
 865                    .LFE22:
1268
 867                            .section        .rodata
1269
 868                            .align  2
1270
 869                            .set    .LANCHOR0,. + 0
1271
 870                    .LC0:
1272
 871 0000 20202020              .ascii  "        \000"
1273
 871      20202020
1274
 871      00
1275
 872 0009 00                    .space  1
1276
 873                            .text
1277
 874                    .Letext0:
1278
 875                            .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1279
 876                            .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1280
 877                            .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1281
 878                            .file 7 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1282
 879                            .file 8 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1283
 880                            .file 9 "<built-in>"
1284
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s                   page 23
1285
 
1286
 
1287
DEFINED SYMBOLS
1288
                            *ABS*:0000000000000000 displayFont.cpp
1289
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:16     .text._ZN9display_t11printStringER6font_tPKct8colour_t:0000000000000000 $t
1290
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:24     .text._ZN9display_t11printStringER6font_tPKct8colour_t:0000000000000000 _ZN9display_t11printStringER6font_tPKct8colour_t
1291
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:237    .text._ZN9display_t17printScaledStringER6font_tPKctt8colour_t:0000000000000000 $t
1292
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:244    .text._ZN9display_t17printScaledStringER6font_tPKctt8colour_t:0000000000000000 _ZN9display_t17printScaledStringER6font_tPKctt8colour_t
1293
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:462    .text._ZN9display_t9formatNumEPchhhi:0000000000000000 $t
1294
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:469    .text._ZN9display_t9formatNumEPchhhi:0000000000000000 _ZN9display_t9formatNumEPchhhi
1295
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:613    .text._ZN9display_t9formatNumEPchhhi:000000000000007c $d
1296
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:618    .text._ZN9display_t10fontDigitsER6font_thhi8colour_t:0000000000000000 $t
1297
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:625    .text._ZN9display_t10fontDigitsER6font_thhi8colour_t:0000000000000000 _ZN9display_t10fontDigitsER6font_thhi8colour_t
1298
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:696    .text._ZN9display_t10fontDigitsER6font_thhi8colour_t:0000000000000044 $d
1299
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:701    .text._ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t:0000000000000000 $t
1300
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:708    .text._ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t:0000000000000000 _ZN9display_t13fontSigDigitsER6font_thhbhi8colour_t
1301
C:\Users\mike\AppData\Local\Temp\ccWXzd8x.s:868    .rodata:0000000000000000 $d
1302
 
1303
UNDEFINED SYMBOLS
1304
_ZN9display_t9drawPixelEssb
1305
_ZN9display_t5widthEv