Subversion Repositories dashGPS

Rev

Rev 18 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
19 mjames 1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                    page 1
16 mjames 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   "displayclass.cpp"
15
  12                            .text
16
  13                    .Ltext0:
17
  14                            .cfi_sections   .debug_frame
18
  15                            .section        .text._ZN12_GLOBAL__N_14swapIsEEvRT_S2_,"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                    _ZN12_GLOBAL__N_14swapIsEEvRT_S2_:
26
  24                    .LVL0:
27
  25                    .LFB58:
28
  26                            .file 1 "../libOLED/src/displayclass.cpp"
29
   1:../libOLED/src/displayclass.cpp **** /*
30
   2:../libOLED/src/displayclass.cpp ****  * displayclass.cpp
31
   3:../libOLED/src/displayclass.cpp ****  *
32
   4:../libOLED/src/displayclass.cpp ****  *  Created on: 31 Oct 2020
33
   5:../libOLED/src/displayclass.cpp ****  *      Author: mike
34
   6:../libOLED/src/displayclass.cpp ****  */
35
   7:../libOLED/src/displayclass.cpp ****
36
   8:../libOLED/src/displayclass.cpp **** #include "libOLED/displayclass.H"
37
   9:../libOLED/src/displayclass.cpp ****
38
  10:../libOLED/src/displayclass.cpp **** #include <cstring>
39
  11:../libOLED/src/displayclass.cpp **** #include <cstdlib>
40
  12:../libOLED/src/displayclass.cpp **** namespace
41
  13:../libOLED/src/displayclass.cpp **** {
42
  14:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETCONTRAST = 0x81;
43
  15:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_DISPLAYALLON_RESUME = 0xA4;
44
  16:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_DISPLAYALLON = 0xA5;
45
  17:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_NORMALDISPLAY = 0xA6;
46
  18:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_INVERTDISPLAY = 0xA7;
47
  19:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_DISPLAYOFF = 0xAE;
48
  20:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_DISPLAYON = 0xAF;
49
  21:../libOLED/src/displayclass.cpp ****
50
  22:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETDISPLAYOFFSET = 0xD3;
51
  23:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETCOMPINS = 0xDA;
52
  24:../libOLED/src/displayclass.cpp ****
53
  25:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETVCOMDETECT = 0xDB;
54
  26:../libOLED/src/displayclass.cpp ****
55
  27:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETDISPLAYCLOCKDIV = 0xD5;
56
  28:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETPRECHARGE = 0xD9;
57
  29:../libOLED/src/displayclass.cpp ****
58
  30:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETMULTIPLEX = 0xA8;
59
  31:../libOLED/src/displayclass.cpp ****
60
  32:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETLOWCOLUMN = 0x00;
19 mjames 61
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 2
16 mjames 62
 
63
 
64
  33:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETHIGHCOLUMN = 0x10;
65
  34:../libOLED/src/displayclass.cpp ****
66
  35:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SETSTARTLINE = 0x40;
67
  36:../libOLED/src/displayclass.cpp ****
68
  37:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_MEMORYMODE = 0x20;
69
  38:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_COLUMNADDR = 0x21;
70
  39:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_PAGEADDR = 0x22;
71
  40:../libOLED/src/displayclass.cpp ****
72
  41:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_COMSCANINC = 0xC0;
73
  42:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_COMSCANDEC = 0xC8;
74
  43:../libOLED/src/displayclass.cpp ****
75
  44:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SEGREMAP = 0xA0;
76
  45:../libOLED/src/displayclass.cpp ****
77
  46:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_CHARGEPUMP = 0x8D;
78
  47:../libOLED/src/displayclass.cpp ****
79
  48:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_EXTERNALVCC = 0x1;
80
  49:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SWITCHCAPVCC = 0x2;
81
  50:../libOLED/src/displayclass.cpp ****
82
  51:../libOLED/src/displayclass.cpp **** // Scrolling #defines
83
  52:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_ACTIVATE_SCROLL = 0x2F;
84
  53:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_DEACTIVATE_SCROLL = 0x2E;
85
  54:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_SET_VERTICAL_SCROLL_AREA = 0xA3;
86
  55:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_RIGHT_HORIZONTAL_SCROLL = 0x26;
87
  56:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_LEFT_HORIZONTAL_SCROLL = 0x27;
88
  57:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL = 0x29;
89
  58:../libOLED/src/displayclass.cpp ****   uint8_t const SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL = 0x2A;
90
  59:../libOLED/src/displayclass.cpp ****
91
  60:../libOLED/src/displayclass.cpp ****   template<class T>
92
  61:../libOLED/src/displayclass.cpp ****     void
93
  62:../libOLED/src/displayclass.cpp ****     swap (T &x, T &y)
94
  27                            .loc 1 62 5 view -0
95
  28                            .cfi_startproc
96
  29                            @ args = 0, pretend = 0, frame = 0
97
  30                            @ frame_needed = 0, uses_anonymous_args = 0
98
  31                            @ link register save eliminated.
99
  63:../libOLED/src/displayclass.cpp ****     {
100
  64:../libOLED/src/displayclass.cpp ****       T temp = x;
101
  32                            .loc 1 64 9 is_stmt 0 view .LVU1
102
  33 0000 B0F90030              ldrsh   r3, [r0]
103
  34                    .LVL1:
104
  65:../libOLED/src/displayclass.cpp ****       x = y;
105
  35                            .loc 1 65 7 view .LVU2
106
  36 0004 B1F90020              ldrsh   r2, [r1]
107
  37 0008 0280                  strh    r2, [r0]        @ movhi
108
  66:../libOLED/src/displayclass.cpp ****       y = temp;
109
  38                            .loc 1 66 7 view .LVU3
110
  39 000a 0B80                  strh    r3, [r1]        @ movhi
111
  67:../libOLED/src/displayclass.cpp ****     }
112
  40                            .loc 1 67 5 view .LVU4
113
  41 000c 7047                  bx      lr
114
  42                            .cfi_endproc
115
  43                    .LFE58:
116
  45                            .section        .text._ZN12_GLOBAL__N_13absIsEET_S1_,"ax",%progbits
117
  46                            .align  1
118
  47                            .syntax unified
119
  48                            .thumb
120
  49                            .thumb_func
19 mjames 121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 3
16 mjames 122
 
123
 
124
  50                            .fpu softvfp
125
  52                    _ZN12_GLOBAL__N_13absIsEET_S1_:
126
  53                    .LVL2:
127
  54                    .LFB59:
128
  68:../libOLED/src/displayclass.cpp ****
129
  69:../libOLED/src/displayclass.cpp ****   template<class T>
130
  70:../libOLED/src/displayclass.cpp ****     T
131
  71:../libOLED/src/displayclass.cpp ****     abs (T x)
132
  55                            .loc 1 71 5 is_stmt 1 view -0
133
  56                            .cfi_startproc
134
  57                            @ args = 0, pretend = 0, frame = 0
135
  58                            @ frame_needed = 0, uses_anonymous_args = 0
136
  59                            @ link register save eliminated.
137
  72:../libOLED/src/displayclass.cpp ****     {
138
  73:../libOLED/src/displayclass.cpp ****       return x < 0 ? -x : x;
139
  60                            .loc 1 73 20 is_stmt 0 view .LVU6
140
  61 0000 0028                  cmp     r0, #0
141
  62 0002 B8BF                  it      lt
142
  63 0004 4042                  rsblt   r0, r0, #0
143
  64                    .LVL3:
144
  74:../libOLED/src/displayclass.cpp ****     }
145
  65                            .loc 1 74 5 view .LVU7
146
  66 0006 00B2                  sxth    r0, r0
147
  67 0008 7047                  bx      lr
148
  68                            .cfi_endproc
149
  69                    .LFE59:
150
  71                            .section        .text._ZdlPvj,"ax",%progbits
151
  72                            .align  1
152
  73                            .global _ZdlPvj
153
  74                            .syntax unified
154
  75                            .thumb
155
  76                            .thumb_func
156
  77                            .fpu softvfp
157
  79                    _ZdlPvj:
158
  80                    .LVL4:
159
  81                    .LFB32:
160
  75:../libOLED/src/displayclass.cpp ****
161
  76:../libOLED/src/displayclass.cpp **** }
162
  77:../libOLED/src/displayclass.cpp **** // provided to allow a destructor to destroy something not deleted
163
  78:../libOLED/src/displayclass.cpp **** // this is only OK because destructors shouldnt be needed
164
  79:../libOLED/src/displayclass.cpp **** void
165
  80:../libOLED/src/displayclass.cpp **** operator delete (void *data, unsigned int f)
166
  81:../libOLED/src/displayclass.cpp **** {
167
  82                            .loc 1 81 1 is_stmt 1 view -0
168
  83                            .cfi_startproc
169
  84                            @ args = 0, pretend = 0, frame = 0
170
  85                            @ frame_needed = 0, uses_anonymous_args = 0
171
  86                            @ link register save eliminated.
172
  82:../libOLED/src/displayclass.cpp ****   (void) data;
173
  87                            .loc 1 82 3 view .LVU9
174
  83:../libOLED/src/displayclass.cpp ****   (void) f;
175
  88                            .loc 1 83 3 view .LVU10
176
  84:../libOLED/src/displayclass.cpp **** }
177
  89                            .loc 1 84 1 is_stmt 0 view .LVU11
178
  90 0000 7047                  bx      lr
179
  91                            .cfi_endproc
180
  92                    .LFE32:
19 mjames 181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 4
16 mjames 182
 
183
 
184
  94                            .section        .text.__cxa_pure_virtual,"ax",%progbits
185
  95                            .align  1
186
  96                            .global __cxa_pure_virtual
187
  97                            .syntax unified
188
  98                            .thumb
189
  99                            .thumb_func
190
 100                            .fpu softvfp
191
 102                    __cxa_pure_virtual:
192
 103                    .LFB33:
193
  85:../libOLED/src/displayclass.cpp ****
194
  86:../libOLED/src/displayclass.cpp **** // provided to implement an "error handler" on pure virtual
195
  87:../libOLED/src/displayclass.cpp **** extern "C" void
196
  88:../libOLED/src/displayclass.cpp **** __cxa_pure_virtual ()
197
  89:../libOLED/src/displayclass.cpp **** {
198
 104                            .loc 1 89 1 is_stmt 1 view -0
199
 105                            .cfi_startproc
200
 106                            @ Volatile: function does not return.
201
 107                            @ args = 0, pretend = 0, frame = 0
202
 108                            @ frame_needed = 0, uses_anonymous_args = 0
203
 109                            @ link register save eliminated.
204
 110                    .L5:
205
  90:../libOLED/src/displayclass.cpp ****   while (1)
206
 111                            .loc 1 90 3 discriminator 1 view .LVU13
207
 112 0000 FEE7                  b       .L5
208
 113                            .cfi_endproc
209
 114                    .LFE33:
210
 116                            .section        .text._ZN9display_tC2EiiiPh,"ax",%progbits
211
 117                            .align  1
212
 118                            .global _ZN9display_tC2EiiiPh
213
 119                            .syntax unified
214
 120                            .thumb
215
 121                            .thumb_func
216
 122                            .fpu softvfp
217
 124                    _ZN9display_tC2EiiiPh:
218
 125                    .LVL5:
219
 126                    .LFB35:
220
  91:../libOLED/src/displayclass.cpp ****     ;
221
  92:../libOLED/src/displayclass.cpp **** }
222
  93:../libOLED/src/displayclass.cpp ****
223
  94:../libOLED/src/displayclass.cpp **** display_t::display_t (int const width, int const height, int const ramwidth,
224
 127                            .loc 1 94 1 view -0
225
 128                            .cfi_startproc
226
 129                            @ args = 4, pretend = 0, frame = 0
227
 130                            @ frame_needed = 0, uses_anonymous_args = 0
228
 131                            @ link register save eliminated.
229
 132                            .loc 1 94 1 is_stmt 0 view .LVU15
230
 133 0000 30B4                  push    {r4, r5}
231
 134                    .LCFI0:
232
 135                            .cfi_def_cfa_offset 8
233
 136                            .cfi_offset 4, -8
234
 137                            .cfi_offset 5, -4
235
 138                    .LBB13:
236
  95:../libOLED/src/displayclass.cpp ****                     uint8_t *const data) :
237
  96:../libOLED/src/displayclass.cpp ****     m_width (width), m_height (height), m_ramwidth (ramwidth), m_cursor_x (0), m_cursor_y (
238
  97:../libOLED/src/displayclass.cpp ****       0), m_rotation (0), m_colour (WHITE), m_data (data)
239
 139                            .loc 1 97 52 view .LVU16
240
 140 0002 074D                  ldr     r5, .L8
19 mjames 241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 5
16 mjames 242
 
243
 
244
 141 0004 0560                  str     r5, [r0]
245
 142 0006 4160                  str     r1, [r0, #4]
246
 143 0008 8260                  str     r2, [r0, #8]
247
 144 000a C360                  str     r3, [r0, #12]
248
 145 000c 0023                  movs    r3, #0
249
 146                    .LVL6:
250
 147                            .loc 1 97 52 view .LVU17
251
 148 000e 0361                  str     r3, [r0, #16]
252
 149 0010 4361                  str     r3, [r0, #20]
253
 150 0012 8361                  str     r3, [r0, #24]
254
 151 0014 0123                  movs    r3, #1
255
 152 0016 0377                  strb    r3, [r0, #28]
256
 153 0018 029B                  ldr     r3, [sp, #8]
257
 154 001a 0362                  str     r3, [r0, #32]
258
 155                    .LBE13:
259
  98:../libOLED/src/displayclass.cpp **** {
260
  99:../libOLED/src/displayclass.cpp **** }
261
 156                            .loc 1 99 1 view .LVU18
262
 157 001c 30BC                  pop     {r4, r5}
263
 158                    .LCFI1:
264
 159                            .cfi_restore 5
265
 160                            .cfi_restore 4
266
 161                            .cfi_def_cfa_offset 0
267
 162                    .LVL7:
268
 163                            .loc 1 99 1 view .LVU19
269
 164 001e 7047                  bx      lr
270
 165                    .L9:
271
 166                            .align  2
272
 167                    .L8:
273
 168 0020 08000000              .word   .LANCHOR0+8
274
 169                            .cfi_endproc
275
 170                    .LFE35:
276
 172                            .global _ZN9display_tC1EiiiPh
277
 173                            .thumb_set _ZN9display_tC1EiiiPh,_ZN9display_tC2EiiiPh
278
 174                            .section        .text._ZN9display_tD2Ev,"ax",%progbits
279
 175                            .align  1
280
 176                            .global _ZN9display_tD2Ev
281
 177                            .syntax unified
282
 178                            .thumb
283
 179                            .thumb_func
284
 180                            .fpu softvfp
285
 182                    _ZN9display_tD2Ev:
286
 183                    .LVL8:
287
 184                    .LFB38:
288
 100:../libOLED/src/displayclass.cpp ****
289
 101:../libOLED/src/displayclass.cpp **** display_t::~display_t ()
290
 185                            .loc 1 101 1 is_stmt 1 view -0
291
 186                            .cfi_startproc
292
 187                            @ args = 0, pretend = 0, frame = 0
293
 188                            @ frame_needed = 0, uses_anonymous_args = 0
294
 189                            @ link register save eliminated.
295
 102:../libOLED/src/displayclass.cpp **** {
296
 103:../libOLED/src/displayclass.cpp ****
297
 104:../libOLED/src/displayclass.cpp **** }
298
 190                            .loc 1 104 1 is_stmt 0 view .LVU21
299
 191 0000 7047                  bx      lr
300
 192                            .cfi_endproc
19 mjames 301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 6
16 mjames 302
 
303
 
304
 193                    .LFE38:
305
 195                            .global _ZN9display_tD1Ev
306
 196                            .thumb_set _ZN9display_tD1Ev,_ZN9display_tD2Ev
307
 197                            .section        .text._ZN9display_tD0Ev,"ax",%progbits
308
 198                            .align  1
309
 199                            .global _ZN9display_tD0Ev
310
 200                            .syntax unified
311
 201                            .thumb
312
 202                            .thumb_func
313
 203                            .fpu softvfp
314
 205                    _ZN9display_tD0Ev:
315
 206                    .LVL9:
316
 207                    .LFB40:
317
 101:../libOLED/src/displayclass.cpp **** {
318
 208                            .loc 1 101 1 is_stmt 1 view -0
319
 209                            .cfi_startproc
320
 210                            @ args = 0, pretend = 0, frame = 0
321
 211                            @ frame_needed = 0, uses_anonymous_args = 0
322
 212                            @ link register save eliminated.
323
 213                            .loc 1 104 1 is_stmt 0 view .LVU23
324
 214 0000 7047                  bx      lr
325
 215                            .cfi_endproc
326
 216                    .LFE40:
327
 218                            .section        .text._ZN9display_t5resetEv,"ax",%progbits
328
 219                            .align  1
329
 220                            .global _ZN9display_t5resetEv
330
 221                            .syntax unified
331
 222                            .thumb
332
 223                            .thumb_func
333
 224                            .fpu softvfp
334
 226                    _ZN9display_t5resetEv:
335
 227                    .LVL10:
336
 228                    .LFB41:
337
 105:../libOLED/src/displayclass.cpp ****
338
 106:../libOLED/src/displayclass.cpp **** void display_t::reset()
339
 107:../libOLED/src/displayclass.cpp **** {
340
 229                            .loc 1 107 1 is_stmt 1 view -0
341
 230                            .cfi_startproc
342
 231                            @ args = 0, pretend = 0, frame = 0
343
 232                            @ frame_needed = 0, uses_anonymous_args = 0
344
 233                            .loc 1 107 1 is_stmt 0 view .LVU25
345
 234 0000 08B5                  push    {r3, lr}
346
 235                    .LCFI2:
347
 236                            .cfi_def_cfa_offset 8
348
 237                            .cfi_offset 3, -8
349
 238                            .cfi_offset 14, -4
350
 108:../libOLED/src/displayclass.cpp ****   oledReset();
351
 239                            .loc 1 108 3 is_stmt 1 view .LVU26
352
 240                            .loc 1 108 13 is_stmt 0 view .LVU27
353
 241 0002 0368                  ldr     r3, [r0]
354
 242 0004 1B69                  ldr     r3, [r3, #16]
355
 243                            .loc 1 108 12 view .LVU28
356
 244 0006 9847                  blx     r3
357
 245                    .LVL11:
358
 109:../libOLED/src/displayclass.cpp **** }
359
 246                            .loc 1 109 1 view .LVU29
360
 247 0008 08BD                  pop     {r3, pc}
19 mjames 361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 7
16 mjames 362
 
363
 
364
 248                            .cfi_endproc
365
 249                    .LFE41:
366
 251                            .section        .text._ZN9display_t11getRotationEv,"ax",%progbits
367
 252                            .align  1
368
 253                            .global _ZN9display_t11getRotationEv
369
 254                            .syntax unified
370
 255                            .thumb
371
 256                            .thumb_func
372
 257                            .fpu softvfp
373
 259                    _ZN9display_t11getRotationEv:
374
 260                    .LVL12:
375
 261                    .LFB43:
376
 110:../libOLED/src/displayclass.cpp ****
377
 111:../libOLED/src/displayclass.cpp **** void
378
 112:../libOLED/src/displayclass.cpp **** display_t::init ()
379
 113:../libOLED/src/displayclass.cpp **** {
380
 114:../libOLED/src/displayclass.cpp ****   uint8_t const vccstate = SSD1306_EXTERNALVCC;
381
 115:../libOLED/src/displayclass.cpp ****
382
 116:../libOLED/src/displayclass.cpp ****
383
 117:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
384
 118:../libOLED/src/displayclass.cpp ****
385
 119:../libOLED/src/displayclass.cpp ****   // Init sequence for 128x32 or 128x64  OLED module
386
 120:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYOFF); // 0xAE
387
 121:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYCLOCKDIV); // 0xD5
388
 122:../libOLED/src/displayclass.cpp ****   oledWrite (0x80); // the suggested ratio 0x80
389
 123:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETMULTIPLEX); // 0xA8
390
 124:../libOLED/src/displayclass.cpp ****   oledWrite (m_height - 1);
391
 125:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYOFFSET); // 0xD3
392
 126:../libOLED/src/displayclass.cpp ****   oledWrite (0x0); // no offset
393
 127:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETSTARTLINE | 0x0); // line #0
394
 128:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_CHARGEPUMP); // 0x8D
395
 129:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x10 : 0x14);
396
 130:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_MEMORYMODE);                    // 0x20
397
 131:../libOLED/src/displayclass.cpp ****   oledWrite (0x00);                    // 0x0 act like ks0108
398
 132:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SEGREMAP | 0x1);
399
 133:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_COMSCANDEC);
400
 134:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCOMPINS);                    // 0xDA
401
 135:../libOLED/src/displayclass.cpp ****   oledWrite (m_height == 32 ? 0x02 : 0x12);
402
 136:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
403
 137:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x9F : 0xCF);
404
 138:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETPRECHARGE);                    // 0xd9
405
 139:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x22 : 0xF1);
406
 140:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETVCOMDETECT);                 // 0xDB
407
 141:../libOLED/src/displayclass.cpp ****   oledWrite (0x40);
408
 142:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYALLON_RESUME);                 // 0xA4
409
 143:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_NORMALDISPLAY);                 // 0xA6
410
 144:../libOLED/src/displayclass.cpp ****
411
 145:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYON);             //--turn on oled panel
412
 146:../libOLED/src/displayclass.cpp ****
413
 147:../libOLED/src/displayclass.cpp ****   clearDisplay ();
414
 148:../libOLED/src/displayclass.cpp ****
415
 149:../libOLED/src/displayclass.cpp **** }
416
 150:../libOLED/src/displayclass.cpp ****
417
 151:../libOLED/src/displayclass.cpp **** uint8_t
418
 152:../libOLED/src/displayclass.cpp **** display_t::getRotation (void)
419
 153:../libOLED/src/displayclass.cpp **** {
420
 262                            .loc 1 153 1 is_stmt 1 view -0
19 mjames 421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 8
16 mjames 422
 
423
 
424
 263                            .cfi_startproc
425
 264                            @ args = 0, pretend = 0, frame = 0
426
 265                            @ frame_needed = 0, uses_anonymous_args = 0
427
 266                            @ link register save eliminated.
428
 154:../libOLED/src/displayclass.cpp ****   return m_rotation;
429
 267                            .loc 1 154 3 view .LVU31
430
 155:../libOLED/src/displayclass.cpp **** }
431
 268                            .loc 1 155 1 is_stmt 0 view .LVU32
432
 269 0000 007E                  ldrb    r0, [r0, #24]   @ zero_extendqisi2
433
 270                    .LVL13:
434
 271                            .loc 1 155 1 view .LVU33
435
 272 0002 7047                  bx      lr
436
 273                            .cfi_endproc
437
 274                    .LFE43:
438
 276                            .section        .text._ZN9display_t5widthEv,"ax",%progbits
439
 277                            .align  1
440
 278                            .global _ZN9display_t5widthEv
441
 279                            .syntax unified
442
 280                            .thumb
443
 281                            .thumb_func
444
 282                            .fpu softvfp
445
 284                    _ZN9display_t5widthEv:
446
 285                    .LVL14:
447
 286                    .LFB44:
448
 156:../libOLED/src/displayclass.cpp ****
449
 157:../libOLED/src/displayclass.cpp **** int16_t
450
 158:../libOLED/src/displayclass.cpp **** display_t::width (void)
451
 159:../libOLED/src/displayclass.cpp **** {
452
 287                            .loc 1 159 1 is_stmt 1 view -0
453
 288                            .cfi_startproc
454
 289                            @ args = 0, pretend = 0, frame = 0
455
 290                            @ frame_needed = 0, uses_anonymous_args = 0
456
 291                            @ link register save eliminated.
457
 160:../libOLED/src/displayclass.cpp ****   switch (m_rotation)
458
 292                            .loc 1 160 3 view .LVU35
459
 293                            .loc 1 160 11 is_stmt 0 view .LVU36
460
 294 0000 8369                  ldr     r3, [r0, #24]
461
 295                            .loc 1 160 3 view .LVU37
462
 296 0002 032B                  cmp     r3, #3
463
 297 0004 10D8                  bhi     .L22
464
 298 0006 DFE803F0              tbb     [pc, r3]
465
 299                    .L18:
466
 300 000a 02                    .byte   (.L21-.L18)/2
467
 301 000b 05                    .byte   (.L20-.L18)/2
468
 302 000c 08                    .byte   (.L19-.L18)/2
469
 303 000d 0B                    .byte   (.L17-.L18)/2
470
 304                            .p2align 1
471
 305                    .L21:
472
 161:../libOLED/src/displayclass.cpp ****     {
473
 162:../libOLED/src/displayclass.cpp ****     case 0:
474
 306                            .loc 1 162 5 is_stmt 1 view .LVU38
475
 163:../libOLED/src/displayclass.cpp ****       return m_width;
476
 307                            .loc 1 163 7 view .LVU39
477
 308                            .loc 1 163 14 is_stmt 0 view .LVU40
478
 309 000e B0F90400              ldrsh   r0, [r0, #4]
479
 310                    .LVL15:
480
 311                            .loc 1 163 14 view .LVU41
19 mjames 481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 9
16 mjames 482
 
483
 
484
 312 0012 7047                  bx      lr
485
 313                    .LVL16:
486
 314                    .L20:
487
 164:../libOLED/src/displayclass.cpp ****       break;
488
 315                            .loc 1 164 7 is_stmt 1 view .LVU42
489
 165:../libOLED/src/displayclass.cpp ****     case 1:
490
 316                            .loc 1 165 5 view .LVU43
491
 166:../libOLED/src/displayclass.cpp ****       return m_width;
492
 317                            .loc 1 166 7 view .LVU44
493
 318                            .loc 1 166 14 is_stmt 0 view .LVU45
494
 319 0014 B0F90400              ldrsh   r0, [r0, #4]
495
 320                    .LVL17:
496
 321                            .loc 1 166 14 view .LVU46
497
 322 0018 7047                  bx      lr
498
 323                    .LVL18:
499
 324                    .L19:
500
 167:../libOLED/src/displayclass.cpp ****       break;
501
 325                            .loc 1 167 7 is_stmt 1 view .LVU47
502
 168:../libOLED/src/displayclass.cpp ****     case 2:
503
 326                            .loc 1 168 5 view .LVU48
504
 169:../libOLED/src/displayclass.cpp ****       return m_height;
505
 327                            .loc 1 169 7 view .LVU49
506
 328                            .loc 1 169 14 is_stmt 0 view .LVU50
507
 329 001a B0F90800              ldrsh   r0, [r0, #8]
508
 330                    .LVL19:
509
 331                            .loc 1 169 14 view .LVU51
510
 332 001e 7047                  bx      lr
511
 333                    .LVL20:
512
 334                    .L17:
513
 170:../libOLED/src/displayclass.cpp ****       break;
514
 335                            .loc 1 170 7 is_stmt 1 view .LVU52
515
 171:../libOLED/src/displayclass.cpp ****     case 3:
516
 336                            .loc 1 171 5 view .LVU53
517
 172:../libOLED/src/displayclass.cpp ****       return -m_width;
518
 337                            .loc 1 172 7 view .LVU54
519
 338                            .loc 1 172 15 is_stmt 0 view .LVU55
520
 339 0020 4068                  ldr     r0, [r0, #4]
521
 340                    .LVL21:
522
 341                            .loc 1 172 15 view .LVU56
523
 342 0022 4042                  rsbs    r0, r0, #0
524
 343 0024 00B2                  sxth    r0, r0
525
 344 0026 7047                  bx      lr
526
 345                    .LVL22:
527
 346                    .L22:
528
 173:../libOLED/src/displayclass.cpp ****       break;
529
 174:../libOLED/src/displayclass.cpp ****     }
530
 175:../libOLED/src/displayclass.cpp ****   return 0;
531
 347                            .loc 1 175 10 view .LVU57
532
 348 0028 0020                  movs    r0, #0
533
 349                    .LVL23:
534
 176:../libOLED/src/displayclass.cpp **** }
535
 350                            .loc 1 176 1 view .LVU58
536
 351 002a 7047                  bx      lr
537
 352                            .cfi_endproc
538
 353                    .LFE44:
539
 355                            .section        .text._ZN9display_t6heightEv,"ax",%progbits
540
 356                            .align  1
19 mjames 541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 10
16 mjames 542
 
543
 
544
 357                            .global _ZN9display_t6heightEv
545
 358                            .syntax unified
546
 359                            .thumb
547
 360                            .thumb_func
548
 361                            .fpu softvfp
549
 363                    _ZN9display_t6heightEv:
550
 364                    .LVL24:
551
 365                    .LFB45:
552
 177:../libOLED/src/displayclass.cpp ****
553
 178:../libOLED/src/displayclass.cpp **** int16_t
554
 179:../libOLED/src/displayclass.cpp **** display_t::height (void)
555
 180:../libOLED/src/displayclass.cpp **** {
556
 366                            .loc 1 180 1 is_stmt 1 view -0
557
 367                            .cfi_startproc
558
 368                            @ args = 0, pretend = 0, frame = 0
559
 369                            @ frame_needed = 0, uses_anonymous_args = 0
560
 370                            @ link register save eliminated.
561
 181:../libOLED/src/displayclass.cpp ****   switch (m_rotation)
562
 371                            .loc 1 181 3 view .LVU60
563
 372                            .loc 1 181 11 is_stmt 0 view .LVU61
564
 373 0000 8369                  ldr     r3, [r0, #24]
565
 374                            .loc 1 181 3 view .LVU62
566
 375 0002 032B                  cmp     r3, #3
567
 376 0004 10D8                  bhi     .L30
568
 377 0006 DFE803F0              tbb     [pc, r3]
569
 378                    .L26:
570
 379 000a 02                    .byte   (.L29-.L26)/2
571
 380 000b 05                    .byte   (.L28-.L26)/2
572
 381 000c 08                    .byte   (.L27-.L26)/2
573
 382 000d 0B                    .byte   (.L25-.L26)/2
574
 383                            .p2align 1
575
 384                    .L29:
576
 182:../libOLED/src/displayclass.cpp ****     {
577
 183:../libOLED/src/displayclass.cpp ****     case 0:
578
 385                            .loc 1 183 5 is_stmt 1 view .LVU63
579
 184:../libOLED/src/displayclass.cpp ****       return m_height;
580
 386                            .loc 1 184 7 view .LVU64
581
 387                            .loc 1 184 14 is_stmt 0 view .LVU65
582
 388 000e B0F90800              ldrsh   r0, [r0, #8]
583
 389                    .LVL25:
584
 390                            .loc 1 184 14 view .LVU66
585
 391 0012 7047                  bx      lr
586
 392                    .LVL26:
587
 393                    .L28:
588
 185:../libOLED/src/displayclass.cpp ****       break;
589
 394                            .loc 1 185 7 is_stmt 1 view .LVU67
590
 186:../libOLED/src/displayclass.cpp ****     case 1:
591
 395                            .loc 1 186 5 view .LVU68
592
 187:../libOLED/src/displayclass.cpp ****       return m_height;
593
 396                            .loc 1 187 7 view .LVU69
594
 397                            .loc 1 187 14 is_stmt 0 view .LVU70
595
 398 0014 B0F90800              ldrsh   r0, [r0, #8]
596
 399                    .LVL27:
597
 400                            .loc 1 187 14 view .LVU71
598
 401 0018 7047                  bx      lr
599
 402                    .LVL28:
600
 403                    .L27:
19 mjames 601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 11
16 mjames 602
 
603
 
604
 188:../libOLED/src/displayclass.cpp ****       break;
605
 404                            .loc 1 188 7 is_stmt 1 view .LVU72
606
 189:../libOLED/src/displayclass.cpp ****     case 2:
607
 405                            .loc 1 189 5 view .LVU73
608
 190:../libOLED/src/displayclass.cpp ****       return m_width;
609
 406                            .loc 1 190 7 view .LVU74
610
 407                            .loc 1 190 14 is_stmt 0 view .LVU75
611
 408 001a B0F90400              ldrsh   r0, [r0, #4]
612
 409                    .LVL29:
613
 410                            .loc 1 190 14 view .LVU76
614
 411 001e 7047                  bx      lr
615
 412                    .LVL30:
616
 413                    .L25:
617
 191:../libOLED/src/displayclass.cpp ****       break;
618
 414                            .loc 1 191 7 is_stmt 1 view .LVU77
619
 192:../libOLED/src/displayclass.cpp ****     case 3:
620
 415                            .loc 1 192 5 view .LVU78
621
 193:../libOLED/src/displayclass.cpp ****       return -m_height;
622
 416                            .loc 1 193 7 view .LVU79
623
 417                            .loc 1 193 15 is_stmt 0 view .LVU80
624
 418 0020 8068                  ldr     r0, [r0, #8]
625
 419                    .LVL31:
626
 420                            .loc 1 193 15 view .LVU81
627
 421 0022 4042                  rsbs    r0, r0, #0
628
 422 0024 00B2                  sxth    r0, r0
629
 423 0026 7047                  bx      lr
630
 424                    .LVL32:
631
 425                    .L30:
632
 194:../libOLED/src/displayclass.cpp ****       break;
633
 195:../libOLED/src/displayclass.cpp ****     }
634
 196:../libOLED/src/displayclass.cpp ****   return 0;
635
 426                            .loc 1 196 10 view .LVU82
636
 427 0028 0020                  movs    r0, #0
637
 428                    .LVL33:
638
 197:../libOLED/src/displayclass.cpp **** }
639
 429                            .loc 1 197 1 view .LVU83
640
 430 002a 7047                  bx      lr
641
 431                            .cfi_endproc
642
 432                    .LFE45:
643
 434                            .section        .text._ZN9display_t9drawPixelEssb,"ax",%progbits
644
 435                            .align  1
645
 436                            .global _ZN9display_t9drawPixelEssb
646
 437                            .syntax unified
647
 438                            .thumb
648
 439                            .thumb_func
649
 440                            .fpu softvfp
650
 442                    _ZN9display_t9drawPixelEssb:
651
 443                    .LVL34:
652
 444                    .LFB46:
653
 198:../libOLED/src/displayclass.cpp ****
654
 199:../libOLED/src/displayclass.cpp **** // the most basic function, set a single pixel
655
 200:../libOLED/src/displayclass.cpp **** void
656
 201:../libOLED/src/displayclass.cpp **** display_t::drawPixel (int16_t x, int16_t y, bool pixel)
657
 202:../libOLED/src/displayclass.cpp **** {
658
 445                            .loc 1 202 1 is_stmt 1 view -0
659
 446                            .cfi_startproc
660
 447                            @ args = 0, pretend = 0, frame = 8
19 mjames 661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 12
16 mjames 662
 
663
 
664
 448                            @ frame_needed = 0, uses_anonymous_args = 0
665
 449                            .loc 1 202 1 is_stmt 0 view .LVU85
666
 450 0000 F0B5                  push    {r4, r5, r6, r7, lr}
667
 451                    .LCFI3:
668
 452                            .cfi_def_cfa_offset 20
669
 453                            .cfi_offset 4, -20
670
 454                            .cfi_offset 5, -16
671
 455                            .cfi_offset 6, -12
672
 456                            .cfi_offset 7, -8
673
 457                            .cfi_offset 14, -4
674
 458 0002 83B0                  sub     sp, sp, #12
675
 459                    .LCFI4:
676
 460                            .cfi_def_cfa_offset 32
677
 461 0004 ADF80610              strh    r1, [sp, #6]    @ movhi
678
 462 0008 ADF80420              strh    r2, [sp, #4]    @ movhi
679
 203:../libOLED/src/displayclass.cpp ****   if ((x < 0) || (x >= m_width) || (y < 0) || (y >= m_height))
680
 463                            .loc 1 203 3 is_stmt 1 view .LVU86
681
 464 000c 0029                  cmp     r1, #0
682
 465                    .LVL35:
683
 466                            .loc 1 203 3 is_stmt 0 view .LVU87
684
 467 000e 73DB                  blt     .L31
685
 468                            .loc 1 203 24 discriminator 1 view .LVU88
686
 469 0010 4268                  ldr     r2, [r0, #4]
687
 470                    .LVL36:
688
 471                            .loc 1 203 15 discriminator 1 view .LVU89
689
 472 0012 9142                  cmp     r1, r2
690
 473 0014 70DA                  bge     .L31
691
 474                            .loc 1 203 39 discriminator 2 view .LVU90
692
 475 0016 BDF90460              ldrsh   r6, [sp, #4]
693
 476                            .loc 1 203 33 discriminator 2 view .LVU91
694
 477 001a 002E                  cmp     r6, #0
695
 478 001c 6CDB                  blt     .L31
696
 479                            .loc 1 203 53 discriminator 3 view .LVU92
697
 480 001e 8768                  ldr     r7, [r0, #8]
698
 481                            .loc 1 203 44 discriminator 3 view .LVU93
699
 482 0020 BE42                  cmp     r6, r7
700
 483 0022 69DA                  bge     .L31
701
 484 0024 1D46                  mov     r5, r3
702
 485 0026 0446                  mov     r4, r0
703
 204:../libOLED/src/displayclass.cpp ****     return;
704
 205:../libOLED/src/displayclass.cpp ****
705
 206:../libOLED/src/displayclass.cpp ****   // check rotation, move pixel around if necessary
706
 207:../libOLED/src/displayclass.cpp ****   switch (m_rotation)
707
 486                            .loc 1 207 3 is_stmt 1 view .LVU94
708
 487                            .loc 1 207 11 is_stmt 0 view .LVU95
709
 488 0028 8369                  ldr     r3, [r0, #24]
710
 489                    .LVL37:
711
 490                            .loc 1 207 3 view .LVU96
712
 491 002a 022B                  cmp     r3, #2
713
 492 002c 1DD0                  beq     .L33
714
 493 002e 032B                  cmp     r3, #3
715
 494 0030 26D0                  beq     .L34
716
 495 0032 012B                  cmp     r3, #1
717
 496 0034 0BD0                  beq     .L47
718
 497                    .LVL38:
719
 498                    .L35:
720
 208:../libOLED/src/displayclass.cpp ****     {
19 mjames 721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 13
16 mjames 722
 
723
 
724
 209:../libOLED/src/displayclass.cpp ****     case 1:
725
 210:../libOLED/src/displayclass.cpp ****       swap (x, y);
726
 211:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
727
 212:../libOLED/src/displayclass.cpp ****       break;
728
 213:../libOLED/src/displayclass.cpp ****     case 2:
729
 214:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
730
 215:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
731
 216:../libOLED/src/displayclass.cpp ****       break;
732
 217:../libOLED/src/displayclass.cpp ****     case 3:
733
 218:../libOLED/src/displayclass.cpp ****       swap (x, y);
734
 219:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
735
 220:../libOLED/src/displayclass.cpp ****       break;
736
 221:../libOLED/src/displayclass.cpp ****     }
737
 222:../libOLED/src/displayclass.cpp ****
738
 223:../libOLED/src/displayclass.cpp ****   // x is which column
739
 224:../libOLED/src/displayclass.cpp ****   //  BLACK,  and 0,             invert 0
740
 225:../libOLED/src/displayclass.cpp ****   //  WHITE,   and 0,            invert 1
741
 226:../libOLED/src/displayclass.cpp ****   //  OVERLAY, and 1 (preserve) , invert 0/
742
 227:../libOLED/src/displayclass.cpp ****   // INVERT,  and 1, (preserve) , invert 1
743
 228:../libOLED/src/displayclass.cpp ****
744
 229:../libOLED/src/displayclass.cpp ****   switch (m_colour)
745
 499                            .loc 1 229 3 is_stmt 1 view .LVU97
746
 500                            .loc 1 229 11 is_stmt 0 view .LVU98
747
 501 0036 237F                  ldrb    r3, [r4, #28]   @ zero_extendqisi2
748
 502                            .loc 1 229 3 view .LVU99
749
 503 0038 012B                  cmp     r3, #1
750
 504 003a 2FD9                  bls     .L48
751
 505                    .L36:
752
 230:../libOLED/src/displayclass.cpp ****     {
753
 231:../libOLED/src/displayclass.cpp ****     case BLACK:
754
 232:../libOLED/src/displayclass.cpp ****     case WHITE:
755
 233:../libOLED/src/displayclass.cpp ****       m_data[x + (y / 8) * m_width] &= ~(1 << (y & 7));
756
 234:../libOLED/src/displayclass.cpp ****       break;
757
 235:../libOLED/src/displayclass.cpp ****     default:
758
 236:../libOLED/src/displayclass.cpp ****       break;
759
 237:../libOLED/src/displayclass.cpp ****     }
760
 238:../libOLED/src/displayclass.cpp ****   uint8_t pixData = 0;
761
 506                            .loc 1 238 3 is_stmt 1 view .LVU100
762
 507                    .LVL39:
763
 239:../libOLED/src/displayclass.cpp ****   switch (m_colour)
764
 508                            .loc 1 239 3 view .LVU101
765
 509                            .loc 1 239 11 is_stmt 0 view .LVU102
766
 510 003c 237F                  ldrb    r3, [r4, #28]   @ zero_extendqisi2
767
 511                            .loc 1 239 3 view .LVU103
768
 512 003e 002B                  cmp     r3, #0
769
 513 0040 43D0                  beq     .L38
770
 514 0042 032B                  cmp     r3, #3
771
 515 0044 44D8                  bhi     .L42
772
 240:../libOLED/src/displayclass.cpp ****     {
773
 241:../libOLED/src/displayclass.cpp ****     case BLACK:
774
 242:../libOLED/src/displayclass.cpp ****       pixData = pixel ? 0 : 1;
775
 243:../libOLED/src/displayclass.cpp ****       break;
776
 244:../libOLED/src/displayclass.cpp ****     case WHITE:
777
 516                            .loc 1 244 5 is_stmt 1 view .LVU104
778
 245:../libOLED/src/displayclass.cpp ****     case OVERLAY:
779
 517                            .loc 1 245 5 view .LVU105
780
 246:../libOLED/src/displayclass.cpp ****     case INVERT:
19 mjames 781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 14
16 mjames 782
 
783
 
784
 518                            .loc 1 246 5 view .LVU106
785
 247:../libOLED/src/displayclass.cpp ****        pixData = pixel ? 1 : 0;
786
 519                            .loc 1 247 8 view .LVU107
787
 520                            .loc 1 247 16 is_stmt 0 view .LVU108
788
 521 0046 002D                  cmp     r5, #0
789
 522 0048 5AD0                  beq     .L44
790
 523 004a 0121                  movs    r1, #1
791
 524 004c 41E0                  b       .L39
792
 525                    .LVL40:
793
 526                    .L47:
794
 209:../libOLED/src/displayclass.cpp ****       swap (x, y);
795
 527                            .loc 1 209 5 is_stmt 1 view .LVU109
796
 210:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
797
 528                            .loc 1 210 7 view .LVU110
798
 210:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
799
 529                            .loc 1 210 12 is_stmt 0 view .LVU111
800
 530 004e 01A9                  add     r1, sp, #4
801
 531                    .LVL41:
802
 210:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
803
 532                            .loc 1 210 12 view .LVU112
804
 533 0050 0DF10600              add     r0, sp, #6
805
 534                    .LVL42:
806
 210:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
807
 535                            .loc 1 210 12 view .LVU113
808
 536 0054 FFF7FEFF              bl      _ZN12_GLOBAL__N_14swapIsEEvRT_S2_
809
 537                    .LVL43:
810
 211:../libOLED/src/displayclass.cpp ****       break;
811
 538                            .loc 1 211 7 is_stmt 1 view .LVU114
812
 211:../libOLED/src/displayclass.cpp ****       break;
813
 539                            .loc 1 211 11 is_stmt 0 view .LVU115
814
 540 0058 6368                  ldr     r3, [r4, #4]
815
 211:../libOLED/src/displayclass.cpp ****       break;
816
 541                            .loc 1 211 19 view .LVU116
817
 542 005a BDF80620              ldrh    r2, [sp, #6]
818
 543 005e 9B1A                  subs    r3, r3, r2
819
 544 0060 9BB2                  uxth    r3, r3
820
 211:../libOLED/src/displayclass.cpp ****       break;
821
 545                            .loc 1 211 23 view .LVU117
822
 546 0062 013B                  subs    r3, r3, #1
823
 211:../libOLED/src/displayclass.cpp ****       break;
824
 547                            .loc 1 211 9 view .LVU118
825
 548 0064 ADF80630              strh    r3, [sp, #6]    @ movhi
826
 212:../libOLED/src/displayclass.cpp ****     case 2:
827
 549                            .loc 1 212 7 is_stmt 1 view .LVU119
828
 550 0068 E5E7                  b       .L35
829
 551                    .LVL44:
830
 552                    .L33:
831
 213:../libOLED/src/displayclass.cpp ****       x = m_width - x - 1;
832
 553                            .loc 1 213 5 view .LVU120
833
 214:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
834
 554                            .loc 1 214 7 view .LVU121
835
 214:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
836
 555                            .loc 1 214 19 is_stmt 0 view .LVU122
837
 556 006a 521A                  subs    r2, r2, r1
838
 557 006c 92B2                  uxth    r2, r2
839
 214:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
840
 558                            .loc 1 214 23 view .LVU123
19 mjames 841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 15
16 mjames 842
 
843
 
844
 559 006e 013A                  subs    r2, r2, #1
845
 214:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
846
 560                            .loc 1 214 9 view .LVU124
847
 561 0070 ADF80620              strh    r2, [sp, #6]    @ movhi
848
 562                    .LVL45:
849
 215:../libOLED/src/displayclass.cpp ****       break;
850
 563                            .loc 1 215 7 is_stmt 1 view .LVU125
851
 215:../libOLED/src/displayclass.cpp ****       break;
852
 564                            .loc 1 215 20 is_stmt 0 view .LVU126
853
 565 0074 BB1B                  subs    r3, r7, r6
854
 566 0076 9BB2                  uxth    r3, r3
855
 215:../libOLED/src/displayclass.cpp ****       break;
856
 567                            .loc 1 215 24 view .LVU127
857
 568 0078 013B                  subs    r3, r3, #1
858
 215:../libOLED/src/displayclass.cpp ****       break;
859
 569                            .loc 1 215 9 view .LVU128
860
 570 007a ADF80430              strh    r3, [sp, #4]    @ movhi
861
 571                    .LVL46:
862
 216:../libOLED/src/displayclass.cpp ****     case 3:
863
 572                            .loc 1 216 7 is_stmt 1 view .LVU129
864
 573 007e DAE7                  b       .L35
865
 574                    .LVL47:
866
 575                    .L34:
867
 217:../libOLED/src/displayclass.cpp ****       swap (x, y);
868
 576                            .loc 1 217 5 view .LVU130
869
 218:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
870
 577                            .loc 1 218 7 view .LVU131
871
 218:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
872
 578                            .loc 1 218 12 is_stmt 0 view .LVU132
873
 579 0080 01A9                  add     r1, sp, #4
874
 580                    .LVL48:
875
 218:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
876
 581                            .loc 1 218 12 view .LVU133
877
 582 0082 0DF10600              add     r0, sp, #6
878
 583                    .LVL49:
879
 218:../libOLED/src/displayclass.cpp ****       y = m_height - y - 1;
880
 584                            .loc 1 218 12 view .LVU134
881
 585 0086 FFF7FEFF              bl      _ZN12_GLOBAL__N_14swapIsEEvRT_S2_
882
 586                    .LVL50:
883
 219:../libOLED/src/displayclass.cpp ****       break;
884
 587                            .loc 1 219 7 is_stmt 1 view .LVU135
885
 219:../libOLED/src/displayclass.cpp ****       break;
886
 588                            .loc 1 219 11 is_stmt 0 view .LVU136
887
 589 008a A368                  ldr     r3, [r4, #8]
888
 219:../libOLED/src/displayclass.cpp ****       break;
889
 590                            .loc 1 219 20 view .LVU137
890
 591 008c BDF80420              ldrh    r2, [sp, #4]
891
 592 0090 9B1A                  subs    r3, r3, r2
892
 593 0092 9BB2                  uxth    r3, r3
893
 219:../libOLED/src/displayclass.cpp ****       break;
894
 594                            .loc 1 219 24 view .LVU138
895
 595 0094 013B                  subs    r3, r3, #1
896
 219:../libOLED/src/displayclass.cpp ****       break;
897
 596                            .loc 1 219 9 view .LVU139
898
 597 0096 ADF80430              strh    r3, [sp, #4]    @ movhi
899
 220:../libOLED/src/displayclass.cpp ****     }
900
 598                            .loc 1 220 7 is_stmt 1 view .LVU140
19 mjames 901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 16
16 mjames 902
 
903
 
904
 599 009a CCE7                  b       .L35
905
 600                    .L48:
906
 231:../libOLED/src/displayclass.cpp ****     case WHITE:
907
 601                            .loc 1 231 5 view .LVU141
908
 232:../libOLED/src/displayclass.cpp ****       m_data[x + (y / 8) * m_width] &= ~(1 << (y & 7));
909
 602                            .loc 1 232 5 view .LVU142
910
 233:../libOLED/src/displayclass.cpp ****       break;
911
 603                            .loc 1 233 7 view .LVU143
912
 604 009c 206A                  ldr     r0, [r4, #32]
913
 233:../libOLED/src/displayclass.cpp ****       break;
914
 605                            .loc 1 233 21 is_stmt 0 view .LVU144
915
 606 009e BDF90420              ldrsh   r2, [sp, #4]
916
 607 00a2 1346                  mov     r3, r2
917
 608 00a4 002A                  cmp     r2, #0
918
 609 00a6 0EDB                  blt     .L49
919
 610                    .L37:
920
 611 00a8 DB10                  asrs    r3, r3, #3
921
 233:../libOLED/src/displayclass.cpp ****       break;
922
 612                            .loc 1 233 28 view .LVU145
923
 613 00aa 6668                  ldr     r6, [r4, #4]
924
 233:../libOLED/src/displayclass.cpp ****       break;
925
 614                            .loc 1 233 37 view .LVU146
926
 615 00ac BDF90610              ldrsh   r1, [sp, #6]
927
 616 00b0 06FB0313              mla     r3, r6, r3, r1
928
 233:../libOLED/src/displayclass.cpp ****       break;
929
 617                            .loc 1 233 50 view .LVU147
930
 618 00b4 02F00702              and     r2, r2, #7
931
 233:../libOLED/src/displayclass.cpp ****       break;
932
 619                            .loc 1 233 44 view .LVU148
933
 620 00b8 0121                  movs    r1, #1
934
 621 00ba 9140                  lsls    r1, r1, r2
935
 233:../libOLED/src/displayclass.cpp ****       break;
936
 622                            .loc 1 233 37 view .LVU149
937
 623 00bc C25C                  ldrb    r2, [r0, r3]    @ zero_extendqisi2
938
 624 00be 22EA0102              bic     r2, r2, r1
939
 625 00c2 C254                  strb    r2, [r0, r3]
940
 234:../libOLED/src/displayclass.cpp ****     default:
941
 626                            .loc 1 234 7 is_stmt 1 view .LVU150
942
 627 00c4 BAE7                  b       .L36
943
 628                    .L49:
944
 233:../libOLED/src/displayclass.cpp ****       break;
945
 629                            .loc 1 233 21 is_stmt 0 view .LVU151
946
 630 00c6 D31D                  adds    r3, r2, #7
947
 631 00c8 EEE7                  b       .L37
948
 632                    .LVL51:
949
 633                    .L38:
950
 241:../libOLED/src/displayclass.cpp ****       pixData = pixel ? 0 : 1;
951
 634                            .loc 1 241 5 is_stmt 1 view .LVU152
952
 242:../libOLED/src/displayclass.cpp ****       break;
953
 635                            .loc 1 242 7 view .LVU153
954
 242:../libOLED/src/displayclass.cpp ****       break;
955
 636                            .loc 1 242 15 is_stmt 0 view .LVU154
956
 637 00ca BDB1                  cbz     r5, .L43
957
 638 00cc 0021                  movs    r1, #0
958
 639 00ce 00E0                  b       .L39
959
 640                    .L42:
960
 238:../libOLED/src/displayclass.cpp ****   switch (m_colour)
19 mjames 961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 17
16 mjames 962
 
963
 
964
 641                            .loc 1 238 11 view .LVU155
965
 642 00d0 0021                  movs    r1, #0
966
 643                    .L39:
967
 644                    .LVL52:
968
 248:../libOLED/src/displayclass.cpp ****       break;
969
 249:../libOLED/src/displayclass.cpp ****     }
970
 250:../libOLED/src/displayclass.cpp ****
971
 251:../libOLED/src/displayclass.cpp ****   m_data[x + (y / 8) * m_width] ^= (pixData << (y & 7));
972
 645                            .loc 1 251 3 is_stmt 1 view .LVU156
973
 646 00d2 206A                  ldr     r0, [r4, #32]
974
 647                            .loc 1 251 17 is_stmt 0 view .LVU157
975
 648 00d4 BDF90420              ldrsh   r2, [sp, #4]
976
 649 00d8 1346                  mov     r3, r2
977
 650 00da 002A                  cmp     r2, #0
978
 651 00dc 12DB                  blt     .L50
979
 652                    .L41:
980
 653 00de DB10                  asrs    r3, r3, #3
981
 654                            .loc 1 251 24 view .LVU158
982
 655 00e0 6568                  ldr     r5, [r4, #4]
983
 656                            .loc 1 251 33 view .LVU159
984
 657 00e2 BDF90640              ldrsh   r4, [sp, #6]
985
 658                    .LVL53:
986
 659                            .loc 1 251 33 view .LVU160
987
 660 00e6 05FB0343              mla     r3, r5, r3, r4
988
 661                            .loc 1 251 51 view .LVU161
989
 662 00ea 02F00702              and     r2, r2, #7
990
 663                            .loc 1 251 45 view .LVU162
991
 664 00ee 01FA02F2              lsl     r2, r1, r2
992
 665                            .loc 1 251 33 view .LVU163
993
 666 00f2 C15C                  ldrb    r1, [r0, r3]    @ zero_extendqisi2
994
 667                    .LVL54:
995
 668                            .loc 1 251 33 view .LVU164
996
 669 00f4 4A40                  eors    r2, r2, r1
997
 670 00f6 C254                  strb    r2, [r0, r3]
998
 671                    .L31:
999
 252:../libOLED/src/displayclass.cpp ****
1000
 253:../libOLED/src/displayclass.cpp **** }
1001
 672                            .loc 1 253 1 view .LVU165
1002
 673 00f8 03B0                  add     sp, sp, #12
1003
 674                    .LCFI5:
1004
 675                            .cfi_remember_state
1005
 676                            .cfi_def_cfa_offset 20
1006
 677                            @ sp needed
1007
 678 00fa F0BD                  pop     {r4, r5, r6, r7, pc}
1008
 679                    .LVL55:
1009
 680                    .L43:
1010
 681                    .LCFI6:
1011
 682                            .cfi_restore_state
1012
 242:../libOLED/src/displayclass.cpp ****       break;
1013
 683                            .loc 1 242 15 view .LVU166
1014
 684 00fc 0121                  movs    r1, #1
1015
 685 00fe E8E7                  b       .L39
1016
 686                    .L44:
1017
 247:../libOLED/src/displayclass.cpp ****       break;
1018
 687                            .loc 1 247 16 view .LVU167
1019
 688 0100 0021                  movs    r1, #0
1020
 689 0102 E6E7                  b       .L39
19 mjames 1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 18
16 mjames 1022
 
1023
 
1024
 690                    .LVL56:
1025
 691                    .L50:
1026
 251:../libOLED/src/displayclass.cpp ****
1027
 692                            .loc 1 251 17 view .LVU168
1028
 693 0104 D31D                  adds    r3, r2, #7
1029
 694 0106 EAE7                  b       .L41
1030
 695                            .cfi_endproc
1031
 696                    .LFE46:
1032
 698                            .section        .text._ZN9display_t13invertDisplayEh,"ax",%progbits
1033
 699                            .align  1
1034
 700                            .global _ZN9display_t13invertDisplayEh
1035
 701                            .syntax unified
1036
 702                            .thumb
1037
 703                            .thumb_func
1038
 704                            .fpu softvfp
1039
 706                    _ZN9display_t13invertDisplayEh:
1040
 707                    .LVL57:
1041
 708                    .LFB47:
1042
 254:../libOLED/src/displayclass.cpp ****
1043
 255:../libOLED/src/displayclass.cpp **** void
1044
 256:../libOLED/src/displayclass.cpp **** display_t::invertDisplay (uint8_t i)
1045
 257:../libOLED/src/displayclass.cpp **** {
1046
 709                            .loc 1 257 1 is_stmt 1 view -0
1047
 710                            .cfi_startproc
1048
 711                            @ args = 0, pretend = 0, frame = 0
1049
 712                            @ frame_needed = 0, uses_anonymous_args = 0
1050
 713                            .loc 1 257 1 is_stmt 0 view .LVU170
1051
 714 0000 38B5                  push    {r3, r4, r5, lr}
1052
 715                    .LCFI7:
1053
 716                            .cfi_def_cfa_offset 16
1054
 717                            .cfi_offset 3, -16
1055
 718                            .cfi_offset 4, -12
1056
 719                            .cfi_offset 5, -8
1057
 720                            .cfi_offset 14, -4
1058
 721 0002 0446                  mov     r4, r0
1059
 722 0004 0D46                  mov     r5, r1
1060
 258:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1061
 723                            .loc 1 258 3 is_stmt 1 view .LVU171
1062
 724                            .loc 1 258 15 is_stmt 0 view .LVU172
1063
 725 0006 0368                  ldr     r3, [r0]
1064
 726 0008 9B68                  ldr     r3, [r3, #8]
1065
 727                            .loc 1 258 13 view .LVU173
1066
 728 000a 0021                  movs    r1, #0
1067
 729                    .LVL58:
1068
 730                            .loc 1 258 13 view .LVU174
1069
 731 000c 9847                  blx     r3
1070
 732                    .LVL59:
1071
 259:../libOLED/src/displayclass.cpp ****   oledWrite (i ? SSD1306_INVERTDISPLAY : SSD1306_NORMALDISPLAY);
1072
 733                            .loc 1 259 3 is_stmt 1 view .LVU175
1073
 734                            .loc 1 259 63 is_stmt 0 view .LVU176
1074
 735 000e 2368                  ldr     r3, [r4]
1075
 736 0010 DB68                  ldr     r3, [r3, #12]
1076
 737                            .loc 1 259 13 view .LVU177
1077
 738 0012 1DB1                  cbz     r5, .L53
1078
 739 0014 A721                  movs    r1, #167
1079
 740                    .L52:
1080
 741                            .loc 1 259 13 discriminator 4 view .LVU178
19 mjames 1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 19
16 mjames 1082
 
1083
 
1084
 742 0016 2046                  mov     r0, r4
1085
 743 0018 9847                  blx     r3
1086
 744                    .LVL60:
1087
 260:../libOLED/src/displayclass.cpp **** }
1088
 745                            .loc 1 260 1 discriminator 4 view .LVU179
1089
 746 001a 38BD                  pop     {r3, r4, r5, pc}
1090
 747                    .LVL61:
1091
 748                    .L53:
1092
 259:../libOLED/src/displayclass.cpp ****   oledWrite (i ? SSD1306_INVERTDISPLAY : SSD1306_NORMALDISPLAY);
1093
 749                            .loc 1 259 13 view .LVU180
1094
 750 001c A621                  movs    r1, #166
1095
 751 001e FAE7                  b       .L52
1096
 752                            .cfi_endproc
1097
 753                    .LFE47:
1098
 755                            .section        .text._ZN9display_t16startscrollrightEhh,"ax",%progbits
1099
 756                            .align  1
1100
 757                            .global _ZN9display_t16startscrollrightEhh
1101
 758                            .syntax unified
1102
 759                            .thumb
1103
 760                            .thumb_func
1104
 761                            .fpu softvfp
1105
 763                    _ZN9display_t16startscrollrightEhh:
1106
 764                    .LVL62:
1107
 765                    .LFB48:
1108
 261:../libOLED/src/displayclass.cpp ****
1109
 262:../libOLED/src/displayclass.cpp **** // startscrollright
1110
 263:../libOLED/src/displayclass.cpp **** // Activate a right handed scroll for rows start through stop
1111
 264:../libOLED/src/displayclass.cpp **** // Hint, the display is 16 rows tall. To scroll the whole display, run:
1112
 265:../libOLED/src/displayclass.cpp **** // display.scrollright(0x00, 0x0F)
1113
 266:../libOLED/src/displayclass.cpp **** void
1114
 267:../libOLED/src/displayclass.cpp **** display_t::startscrollright (uint8_t start, uint8_t stop)
1115
 268:../libOLED/src/displayclass.cpp **** {
1116
 766                            .loc 1 268 1 is_stmt 1 view -0
1117
 767                            .cfi_startproc
1118
 768                            @ args = 0, pretend = 0, frame = 0
1119
 769                            @ frame_needed = 0, uses_anonymous_args = 0
1120
 770                            .loc 1 268 1 is_stmt 0 view .LVU182
1121
 771 0000 70B5                  push    {r4, r5, r6, lr}
1122
 772                    .LCFI8:
1123
 773                            .cfi_def_cfa_offset 16
1124
 774                            .cfi_offset 4, -16
1125
 775                            .cfi_offset 5, -12
1126
 776                            .cfi_offset 6, -8
1127
 777                            .cfi_offset 14, -4
1128
 778 0002 0446                  mov     r4, r0
1129
 779 0004 0E46                  mov     r6, r1
1130
 780 0006 1546                  mov     r5, r2
1131
 269:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1132
 781                            .loc 1 269 3 is_stmt 1 view .LVU183
1133
 782                            .loc 1 269 15 is_stmt 0 view .LVU184
1134
 783 0008 0368                  ldr     r3, [r0]
1135
 784 000a 9B68                  ldr     r3, [r3, #8]
1136
 785                            .loc 1 269 13 view .LVU185
1137
 786 000c 0021                  movs    r1, #0
1138
 787                    .LVL63:
1139
 788                            .loc 1 269 13 view .LVU186
1140
 789 000e 9847                  blx     r3
19 mjames 1141
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 20
16 mjames 1142
 
1143
 
1144
 790                    .LVL64:
1145
 270:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_RIGHT_HORIZONTAL_SCROLL);
1146
 791                            .loc 1 270 3 is_stmt 1 view .LVU187
1147
 792                            .loc 1 270 45 is_stmt 0 view .LVU188
1148
 793 0010 2368                  ldr     r3, [r4]
1149
 794 0012 DB68                  ldr     r3, [r3, #12]
1150
 795                            .loc 1 270 13 view .LVU189
1151
 796 0014 2621                  movs    r1, #38
1152
 797 0016 2046                  mov     r0, r4
1153
 798 0018 9847                  blx     r3
1154
 799                    .LVL65:
1155
 271:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1156
 800                            .loc 1 271 3 is_stmt 1 view .LVU190
1157
 801                            .loc 1 271 18 is_stmt 0 view .LVU191
1158
 802 001a 2368                  ldr     r3, [r4]
1159
 803 001c DB68                  ldr     r3, [r3, #12]
1160
 804                            .loc 1 271 13 view .LVU192
1161
 805 001e 0021                  movs    r1, #0
1162
 806 0020 2046                  mov     r0, r4
1163
 807 0022 9847                  blx     r3
1164
 808                    .LVL66:
1165
 272:../libOLED/src/displayclass.cpp ****   oledWrite (start);
1166
 809                            .loc 1 272 3 is_stmt 1 view .LVU193
1167
 810                            .loc 1 272 19 is_stmt 0 view .LVU194
1168
 811 0024 2368                  ldr     r3, [r4]
1169
 812 0026 DB68                  ldr     r3, [r3, #12]
1170
 813                            .loc 1 272 13 view .LVU195
1171
 814 0028 3146                  mov     r1, r6
1172
 815 002a 2046                  mov     r0, r4
1173
 816 002c 9847                  blx     r3
1174
 817                    .LVL67:
1175
 273:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1176
 818                            .loc 1 273 3 is_stmt 1 view .LVU196
1177
 819                            .loc 1 273 18 is_stmt 0 view .LVU197
1178
 820 002e 2368                  ldr     r3, [r4]
1179
 821 0030 DB68                  ldr     r3, [r3, #12]
1180
 822                            .loc 1 273 13 view .LVU198
1181
 823 0032 0021                  movs    r1, #0
1182
 824 0034 2046                  mov     r0, r4
1183
 825 0036 9847                  blx     r3
1184
 826                    .LVL68:
1185
 274:../libOLED/src/displayclass.cpp ****   oledWrite (stop);
1186
 827                            .loc 1 274 3 is_stmt 1 view .LVU199
1187
 828                            .loc 1 274 18 is_stmt 0 view .LVU200
1188
 829 0038 2368                  ldr     r3, [r4]
1189
 830 003a DB68                  ldr     r3, [r3, #12]
1190
 831                            .loc 1 274 13 view .LVU201
1191
 832 003c 2946                  mov     r1, r5
1192
 833 003e 2046                  mov     r0, r4
1193
 834 0040 9847                  blx     r3
1194
 835                    .LVL69:
1195
 275:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1196
 836                            .loc 1 275 3 is_stmt 1 view .LVU202
1197
 837                            .loc 1 275 18 is_stmt 0 view .LVU203
1198
 838 0042 2368                  ldr     r3, [r4]
1199
 839 0044 DB68                  ldr     r3, [r3, #12]
1200
 840                            .loc 1 275 13 view .LVU204
19 mjames 1201
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 21
16 mjames 1202
 
1203
 
1204
 841 0046 0021                  movs    r1, #0
1205
 842 0048 2046                  mov     r0, r4
1206
 843 004a 9847                  blx     r3
1207
 844                    .LVL70:
1208
 276:../libOLED/src/displayclass.cpp ****   oledWrite (0XFF);
1209
 845                            .loc 1 276 3 is_stmt 1 view .LVU205
1210
 846                            .loc 1 276 18 is_stmt 0 view .LVU206
1211
 847 004c 2368                  ldr     r3, [r4]
1212
 848 004e DB68                  ldr     r3, [r3, #12]
1213
 849                            .loc 1 276 13 view .LVU207
1214
 850 0050 FF21                  movs    r1, #255
1215
 851 0052 2046                  mov     r0, r4
1216
 852 0054 9847                  blx     r3
1217
 853                    .LVL71:
1218
 277:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_ACTIVATE_SCROLL);
1219
 854                            .loc 1 277 3 is_stmt 1 view .LVU208
1220
 855                            .loc 1 277 37 is_stmt 0 view .LVU209
1221
 856 0056 2368                  ldr     r3, [r4]
1222
 857 0058 DB68                  ldr     r3, [r3, #12]
1223
 858                            .loc 1 277 13 view .LVU210
1224
 859 005a 2F21                  movs    r1, #47
1225
 860 005c 2046                  mov     r0, r4
1226
 861 005e 9847                  blx     r3
1227
 862                    .LVL72:
1228
 278:../libOLED/src/displayclass.cpp **** }
1229
 863                            .loc 1 278 1 view .LVU211
1230
 864 0060 70BD                  pop     {r4, r5, r6, pc}
1231
 865                            .loc 1 278 1 view .LVU212
1232
 866                            .cfi_endproc
1233
 867                    .LFE48:
1234
 869                            .section        .text._ZN9display_t15startscrollleftEhh,"ax",%progbits
1235
 870                            .align  1
1236
 871                            .global _ZN9display_t15startscrollleftEhh
1237
 872                            .syntax unified
1238
 873                            .thumb
1239
 874                            .thumb_func
1240
 875                            .fpu softvfp
1241
 877                    _ZN9display_t15startscrollleftEhh:
1242
 878                    .LVL73:
1243
 879                    .LFB49:
1244
 279:../libOLED/src/displayclass.cpp ****
1245
 280:../libOLED/src/displayclass.cpp **** // startscrollleft
1246
 281:../libOLED/src/displayclass.cpp **** // Activate a right handed scroll for rows start through stop
1247
 282:../libOLED/src/displayclass.cpp **** // Hint, the display is 16 rows tall. To scroll the whole display, run:
1248
 283:../libOLED/src/displayclass.cpp **** // display.scrollright(0x00, 0x0F)
1249
 284:../libOLED/src/displayclass.cpp **** void
1250
 285:../libOLED/src/displayclass.cpp **** display_t::startscrollleft (uint8_t start, uint8_t stop)
1251
 286:../libOLED/src/displayclass.cpp **** {
1252
 880                            .loc 1 286 1 is_stmt 1 view -0
1253
 881                            .cfi_startproc
1254
 882                            @ args = 0, pretend = 0, frame = 0
1255
 883                            @ frame_needed = 0, uses_anonymous_args = 0
1256
 884                            .loc 1 286 1 is_stmt 0 view .LVU214
1257
 885 0000 70B5                  push    {r4, r5, r6, lr}
1258
 886                    .LCFI9:
1259
 887                            .cfi_def_cfa_offset 16
1260
 888                            .cfi_offset 4, -16
19 mjames 1261
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 22
16 mjames 1262
 
1263
 
1264
 889                            .cfi_offset 5, -12
1265
 890                            .cfi_offset 6, -8
1266
 891                            .cfi_offset 14, -4
1267
 892 0002 0446                  mov     r4, r0
1268
 893 0004 0E46                  mov     r6, r1
1269
 894 0006 1546                  mov     r5, r2
1270
 287:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1271
 895                            .loc 1 287 3 is_stmt 1 view .LVU215
1272
 896                            .loc 1 287 15 is_stmt 0 view .LVU216
1273
 897 0008 0368                  ldr     r3, [r0]
1274
 898 000a 9B68                  ldr     r3, [r3, #8]
1275
 899                            .loc 1 287 13 view .LVU217
1276
 900 000c 0021                  movs    r1, #0
1277
 901                    .LVL74:
1278
 902                            .loc 1 287 13 view .LVU218
1279
 903 000e 9847                  blx     r3
1280
 904                    .LVL75:
1281
 288:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_LEFT_HORIZONTAL_SCROLL);
1282
 905                            .loc 1 288 3 is_stmt 1 view .LVU219
1283
 906                            .loc 1 288 44 is_stmt 0 view .LVU220
1284
 907 0010 2368                  ldr     r3, [r4]
1285
 908 0012 DB68                  ldr     r3, [r3, #12]
1286
 909                            .loc 1 288 13 view .LVU221
1287
 910 0014 2721                  movs    r1, #39
1288
 911 0016 2046                  mov     r0, r4
1289
 912 0018 9847                  blx     r3
1290
 913                    .LVL76:
1291
 289:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1292
 914                            .loc 1 289 3 is_stmt 1 view .LVU222
1293
 915                            .loc 1 289 18 is_stmt 0 view .LVU223
1294
 916 001a 2368                  ldr     r3, [r4]
1295
 917 001c DB68                  ldr     r3, [r3, #12]
1296
 918                            .loc 1 289 13 view .LVU224
1297
 919 001e 0021                  movs    r1, #0
1298
 920 0020 2046                  mov     r0, r4
1299
 921 0022 9847                  blx     r3
1300
 922                    .LVL77:
1301
 290:../libOLED/src/displayclass.cpp ****   oledWrite (start);
1302
 923                            .loc 1 290 3 is_stmt 1 view .LVU225
1303
 924                            .loc 1 290 19 is_stmt 0 view .LVU226
1304
 925 0024 2368                  ldr     r3, [r4]
1305
 926 0026 DB68                  ldr     r3, [r3, #12]
1306
 927                            .loc 1 290 13 view .LVU227
1307
 928 0028 3146                  mov     r1, r6
1308
 929 002a 2046                  mov     r0, r4
1309
 930 002c 9847                  blx     r3
1310
 931                    .LVL78:
1311
 291:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1312
 932                            .loc 1 291 3 is_stmt 1 view .LVU228
1313
 933                            .loc 1 291 18 is_stmt 0 view .LVU229
1314
 934 002e 2368                  ldr     r3, [r4]
1315
 935 0030 DB68                  ldr     r3, [r3, #12]
1316
 936                            .loc 1 291 13 view .LVU230
1317
 937 0032 0021                  movs    r1, #0
1318
 938 0034 2046                  mov     r0, r4
1319
 939 0036 9847                  blx     r3
1320
 940                    .LVL79:
19 mjames 1321
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 23
16 mjames 1322
 
1323
 
1324
 292:../libOLED/src/displayclass.cpp ****   oledWrite (stop);
1325
 941                            .loc 1 292 3 is_stmt 1 view .LVU231
1326
 942                            .loc 1 292 18 is_stmt 0 view .LVU232
1327
 943 0038 2368                  ldr     r3, [r4]
1328
 944 003a DB68                  ldr     r3, [r3, #12]
1329
 945                            .loc 1 292 13 view .LVU233
1330
 946 003c 2946                  mov     r1, r5
1331
 947 003e 2046                  mov     r0, r4
1332
 948 0040 9847                  blx     r3
1333
 949                    .LVL80:
1334
 293:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1335
 950                            .loc 1 293 3 is_stmt 1 view .LVU234
1336
 951                            .loc 1 293 18 is_stmt 0 view .LVU235
1337
 952 0042 2368                  ldr     r3, [r4]
1338
 953 0044 DB68                  ldr     r3, [r3, #12]
1339
 954                            .loc 1 293 13 view .LVU236
1340
 955 0046 0021                  movs    r1, #0
1341
 956 0048 2046                  mov     r0, r4
1342
 957 004a 9847                  blx     r3
1343
 958                    .LVL81:
1344
 294:../libOLED/src/displayclass.cpp ****   oledWrite (0XFF);
1345
 959                            .loc 1 294 3 is_stmt 1 view .LVU237
1346
 960                            .loc 1 294 18 is_stmt 0 view .LVU238
1347
 961 004c 2368                  ldr     r3, [r4]
1348
 962 004e DB68                  ldr     r3, [r3, #12]
1349
 963                            .loc 1 294 13 view .LVU239
1350
 964 0050 FF21                  movs    r1, #255
1351
 965 0052 2046                  mov     r0, r4
1352
 966 0054 9847                  blx     r3
1353
 967                    .LVL82:
1354
 295:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_ACTIVATE_SCROLL);
1355
 968                            .loc 1 295 3 is_stmt 1 view .LVU240
1356
 969                            .loc 1 295 37 is_stmt 0 view .LVU241
1357
 970 0056 2368                  ldr     r3, [r4]
1358
 971 0058 DB68                  ldr     r3, [r3, #12]
1359
 972                            .loc 1 295 13 view .LVU242
1360
 973 005a 2F21                  movs    r1, #47
1361
 974 005c 2046                  mov     r0, r4
1362
 975 005e 9847                  blx     r3
1363
 976                    .LVL83:
1364
 296:../libOLED/src/displayclass.cpp **** }
1365
 977                            .loc 1 296 1 view .LVU243
1366
 978 0060 70BD                  pop     {r4, r5, r6, pc}
1367
 979                            .loc 1 296 1 view .LVU244
1368
 980                            .cfi_endproc
1369
 981                    .LFE49:
1370
 983                            .section        .text._ZN9display_t20startscrolldiagrightEhh,"ax",%progbits
1371
 984                            .align  1
1372
 985                            .global _ZN9display_t20startscrolldiagrightEhh
1373
 986                            .syntax unified
1374
 987                            .thumb
1375
 988                            .thumb_func
1376
 989                            .fpu softvfp
1377
 991                    _ZN9display_t20startscrolldiagrightEhh:
1378
 992                    .LVL84:
1379
 993                    .LFB50:
1380
 297:../libOLED/src/displayclass.cpp ****
19 mjames 1381
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 24
16 mjames 1382
 
1383
 
1384
 298:../libOLED/src/displayclass.cpp **** // startscrolldiagright
1385
 299:../libOLED/src/displayclass.cpp **** // Activate a diagonal scroll for rows start through stop
1386
 300:../libOLED/src/displayclass.cpp **** // Hint, the display is 16 rows tall. To scroll the whole display, run:
1387
 301:../libOLED/src/displayclass.cpp **** // display.scrollright(0x00, 0x0F)
1388
 302:../libOLED/src/displayclass.cpp **** void
1389
 303:../libOLED/src/displayclass.cpp **** display_t::startscrolldiagright (uint8_t start, uint8_t stop)
1390
 304:../libOLED/src/displayclass.cpp **** {
1391
 994                            .loc 1 304 1 is_stmt 1 view -0
1392
 995                            .cfi_startproc
1393
 996                            @ args = 0, pretend = 0, frame = 0
1394
 997                            @ frame_needed = 0, uses_anonymous_args = 0
1395
 998                            .loc 1 304 1 is_stmt 0 view .LVU246
1396
 999 0000 70B5                  push    {r4, r5, r6, lr}
1397
 1000                   .LCFI10:
1398
 1001                           .cfi_def_cfa_offset 16
1399
 1002                           .cfi_offset 4, -16
1400
 1003                           .cfi_offset 5, -12
1401
 1004                           .cfi_offset 6, -8
1402
 1005                           .cfi_offset 14, -4
1403
 1006 0002 0446                 mov     r4, r0
1404
 1007 0004 0E46                 mov     r6, r1
1405
 1008 0006 1546                 mov     r5, r2
1406
 305:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1407
 1009                           .loc 1 305 3 is_stmt 1 view .LVU247
1408
 1010                           .loc 1 305 15 is_stmt 0 view .LVU248
1409
 1011 0008 0368                 ldr     r3, [r0]
1410
 1012 000a 9B68                 ldr     r3, [r3, #8]
1411
 1013                           .loc 1 305 13 view .LVU249
1412
 1014 000c 0021                 movs    r1, #0
1413
 1015                   .LVL85:
1414
 1016                           .loc 1 305 13 view .LVU250
1415
 1017 000e 9847                 blx     r3
1416
 1018                   .LVL86:
1417
 306:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SET_VERTICAL_SCROLL_AREA);
1418
 1019                           .loc 1 306 3 is_stmt 1 view .LVU251
1419
 1020                           .loc 1 306 46 is_stmt 0 view .LVU252
1420
 1021 0010 2368                 ldr     r3, [r4]
1421
 1022 0012 DB68                 ldr     r3, [r3, #12]
1422
 1023                           .loc 1 306 13 view .LVU253
1423
 1024 0014 A321                 movs    r1, #163
1424
 1025 0016 2046                 mov     r0, r4
1425
 1026 0018 9847                 blx     r3
1426
 1027                   .LVL87:
1427
 307:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1428
 1028                           .loc 1 307 3 is_stmt 1 view .LVU254
1429
 1029                           .loc 1 307 18 is_stmt 0 view .LVU255
1430
 1030 001a 2368                 ldr     r3, [r4]
1431
 1031 001c DB68                 ldr     r3, [r3, #12]
1432
 1032                           .loc 1 307 13 view .LVU256
1433
 1033 001e 0021                 movs    r1, #0
1434
 1034 0020 2046                 mov     r0, r4
1435
 1035 0022 9847                 blx     r3
1436
 1036                   .LVL88:
1437
 308:../libOLED/src/displayclass.cpp ****   oledWrite (m_height);
1438
 1037                           .loc 1 308 3 is_stmt 1 view .LVU257
1439
 1038                           .loc 1 308 22 is_stmt 0 view .LVU258
1440
 1039 0024 2368                 ldr     r3, [r4]
19 mjames 1441
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 25
16 mjames 1442
 
1443
 
1444
 1040 0026 DB68                 ldr     r3, [r3, #12]
1445
 1041                           .loc 1 308 13 view .LVU259
1446
 1042 0028 217A                 ldrb    r1, [r4, #8]    @ zero_extendqisi2
1447
 1043 002a 2046                 mov     r0, r4
1448
 1044 002c 9847                 blx     r3
1449
 1045                   .LVL89:
1450
 309:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL);
1451
 1046                           .loc 1 309 3 is_stmt 1 view .LVU260
1452
 1047                           .loc 1 309 58 is_stmt 0 view .LVU261
1453
 1048 002e 2368                 ldr     r3, [r4]
1454
 1049 0030 DB68                 ldr     r3, [r3, #12]
1455
 1050                           .loc 1 309 13 view .LVU262
1456
 1051 0032 2921                 movs    r1, #41
1457
 1052 0034 2046                 mov     r0, r4
1458
 1053 0036 9847                 blx     r3
1459
 1054                   .LVL90:
1460
 310:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1461
 1055                           .loc 1 310 3 is_stmt 1 view .LVU263
1462
 1056                           .loc 1 310 18 is_stmt 0 view .LVU264
1463
 1057 0038 2368                 ldr     r3, [r4]
1464
 1058 003a DB68                 ldr     r3, [r3, #12]
1465
 1059                           .loc 1 310 13 view .LVU265
1466
 1060 003c 0021                 movs    r1, #0
1467
 1061 003e 2046                 mov     r0, r4
1468
 1062 0040 9847                 blx     r3
1469
 1063                   .LVL91:
1470
 311:../libOLED/src/displayclass.cpp ****   oledWrite (start);
1471
 1064                           .loc 1 311 3 is_stmt 1 view .LVU266
1472
 1065                           .loc 1 311 19 is_stmt 0 view .LVU267
1473
 1066 0042 2368                 ldr     r3, [r4]
1474
 1067 0044 DB68                 ldr     r3, [r3, #12]
1475
 1068                           .loc 1 311 13 view .LVU268
1476
 1069 0046 3146                 mov     r1, r6
1477
 1070 0048 2046                 mov     r0, r4
1478
 1071 004a 9847                 blx     r3
1479
 1072                   .LVL92:
1480
 312:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1481
 1073                           .loc 1 312 3 is_stmt 1 view .LVU269
1482
 1074                           .loc 1 312 18 is_stmt 0 view .LVU270
1483
 1075 004c 2368                 ldr     r3, [r4]
1484
 1076 004e DB68                 ldr     r3, [r3, #12]
1485
 1077                           .loc 1 312 13 view .LVU271
1486
 1078 0050 0021                 movs    r1, #0
1487
 1079 0052 2046                 mov     r0, r4
1488
 1080 0054 9847                 blx     r3
1489
 1081                   .LVL93:
1490
 313:../libOLED/src/displayclass.cpp ****   oledWrite (stop);
1491
 1082                           .loc 1 313 3 is_stmt 1 view .LVU272
1492
 1083                           .loc 1 313 18 is_stmt 0 view .LVU273
1493
 1084 0056 2368                 ldr     r3, [r4]
1494
 1085 0058 DB68                 ldr     r3, [r3, #12]
1495
 1086                           .loc 1 313 13 view .LVU274
1496
 1087 005a 2946                 mov     r1, r5
1497
 1088 005c 2046                 mov     r0, r4
1498
 1089 005e 9847                 blx     r3
1499
 1090                   .LVL94:
1500
 314:../libOLED/src/displayclass.cpp ****   oledWrite (0X01);
19 mjames 1501
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 26
16 mjames 1502
 
1503
 
1504
 1091                           .loc 1 314 3 is_stmt 1 view .LVU275
1505
 1092                           .loc 1 314 18 is_stmt 0 view .LVU276
1506
 1093 0060 2368                 ldr     r3, [r4]
1507
 1094 0062 DB68                 ldr     r3, [r3, #12]
1508
 1095                           .loc 1 314 13 view .LVU277
1509
 1096 0064 0121                 movs    r1, #1
1510
 1097 0066 2046                 mov     r0, r4
1511
 1098 0068 9847                 blx     r3
1512
 1099                   .LVL95:
1513
 315:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_ACTIVATE_SCROLL);
1514
 1100                           .loc 1 315 3 is_stmt 1 view .LVU278
1515
 1101                           .loc 1 315 37 is_stmt 0 view .LVU279
1516
 1102 006a 2368                 ldr     r3, [r4]
1517
 1103 006c DB68                 ldr     r3, [r3, #12]
1518
 1104                           .loc 1 315 13 view .LVU280
1519
 1105 006e 2F21                 movs    r1, #47
1520
 1106 0070 2046                 mov     r0, r4
1521
 1107 0072 9847                 blx     r3
1522
 1108                   .LVL96:
1523
 316:../libOLED/src/displayclass.cpp **** }
1524
 1109                           .loc 1 316 1 view .LVU281
1525
 1110 0074 70BD                 pop     {r4, r5, r6, pc}
1526
 1111                           .loc 1 316 1 view .LVU282
1527
 1112                           .cfi_endproc
1528
 1113                   .LFE50:
1529
 1115                           .section        .text._ZN9display_t19startscrolldiagleftEhh,"ax",%progbits
1530
 1116                           .align  1
1531
 1117                           .global _ZN9display_t19startscrolldiagleftEhh
1532
 1118                           .syntax unified
1533
 1119                           .thumb
1534
 1120                           .thumb_func
1535
 1121                           .fpu softvfp
1536
 1123                   _ZN9display_t19startscrolldiagleftEhh:
1537
 1124                   .LVL97:
1538
 1125                   .LFB51:
1539
 317:../libOLED/src/displayclass.cpp ****
1540
 318:../libOLED/src/displayclass.cpp **** // startscrolldiagleft
1541
 319:../libOLED/src/displayclass.cpp **** // Activate a diagonal scroll for rows start through stop
1542
 320:../libOLED/src/displayclass.cpp **** // Hint, the display is 16 rows tall. To scroll the whole display, run:
1543
 321:../libOLED/src/displayclass.cpp **** // display.scrollright(0x00, 0x0F)
1544
 322:../libOLED/src/displayclass.cpp **** void
1545
 323:../libOLED/src/displayclass.cpp **** display_t::startscrolldiagleft (uint8_t start, uint8_t stop)
1546
 324:../libOLED/src/displayclass.cpp **** {
1547
 1126                           .loc 1 324 1 is_stmt 1 view -0
1548
 1127                           .cfi_startproc
1549
 1128                           @ args = 0, pretend = 0, frame = 0
1550
 1129                           @ frame_needed = 0, uses_anonymous_args = 0
1551
 1130                           .loc 1 324 1 is_stmt 0 view .LVU284
1552
 1131 0000 70B5                 push    {r4, r5, r6, lr}
1553
 1132                   .LCFI11:
1554
 1133                           .cfi_def_cfa_offset 16
1555
 1134                           .cfi_offset 4, -16
1556
 1135                           .cfi_offset 5, -12
1557
 1136                           .cfi_offset 6, -8
1558
 1137                           .cfi_offset 14, -4
1559
 1138 0002 0446                 mov     r4, r0
1560
 1139 0004 0E46                 mov     r6, r1
19 mjames 1561
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 27
16 mjames 1562
 
1563
 
1564
 1140 0006 1546                 mov     r5, r2
1565
 325:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1566
 1141                           .loc 1 325 3 is_stmt 1 view .LVU285
1567
 1142                           .loc 1 325 15 is_stmt 0 view .LVU286
1568
 1143 0008 0368                 ldr     r3, [r0]
1569
 1144 000a 9B68                 ldr     r3, [r3, #8]
1570
 1145                           .loc 1 325 13 view .LVU287
1571
 1146 000c 0021                 movs    r1, #0
1572
 1147                   .LVL98:
1573
 1148                           .loc 1 325 13 view .LVU288
1574
 1149 000e 9847                 blx     r3
1575
 1150                   .LVL99:
1576
 326:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SET_VERTICAL_SCROLL_AREA);
1577
 1151                           .loc 1 326 3 is_stmt 1 view .LVU289
1578
 1152                           .loc 1 326 46 is_stmt 0 view .LVU290
1579
 1153 0010 2368                 ldr     r3, [r4]
1580
 1154 0012 DB68                 ldr     r3, [r3, #12]
1581
 1155                           .loc 1 326 13 view .LVU291
1582
 1156 0014 A321                 movs    r1, #163
1583
 1157 0016 2046                 mov     r0, r4
1584
 1158 0018 9847                 blx     r3
1585
 1159                   .LVL100:
1586
 327:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1587
 1160                           .loc 1 327 3 is_stmt 1 view .LVU292
1588
 1161                           .loc 1 327 18 is_stmt 0 view .LVU293
1589
 1162 001a 2368                 ldr     r3, [r4]
1590
 1163 001c DB68                 ldr     r3, [r3, #12]
1591
 1164                           .loc 1 327 13 view .LVU294
1592
 1165 001e 0021                 movs    r1, #0
1593
 1166 0020 2046                 mov     r0, r4
1594
 1167 0022 9847                 blx     r3
1595
 1168                   .LVL101:
1596
 328:../libOLED/src/displayclass.cpp ****   oledWrite (m_height);
1597
 1169                           .loc 1 328 3 is_stmt 1 view .LVU295
1598
 1170                           .loc 1 328 22 is_stmt 0 view .LVU296
1599
 1171 0024 2368                 ldr     r3, [r4]
1600
 1172 0026 DB68                 ldr     r3, [r3, #12]
1601
 1173                           .loc 1 328 13 view .LVU297
1602
 1174 0028 217A                 ldrb    r1, [r4, #8]    @ zero_extendqisi2
1603
 1175 002a 2046                 mov     r0, r4
1604
 1176 002c 9847                 blx     r3
1605
 1177                   .LVL102:
1606
 329:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL);
1607
 1178                           .loc 1 329 3 is_stmt 1 view .LVU298
1608
 1179                           .loc 1 329 57 is_stmt 0 view .LVU299
1609
 1180 002e 2368                 ldr     r3, [r4]
1610
 1181 0030 DB68                 ldr     r3, [r3, #12]
1611
 1182                           .loc 1 329 13 view .LVU300
1612
 1183 0032 2A21                 movs    r1, #42
1613
 1184 0034 2046                 mov     r0, r4
1614
 1185 0036 9847                 blx     r3
1615
 1186                   .LVL103:
1616
 330:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1617
 1187                           .loc 1 330 3 is_stmt 1 view .LVU301
1618
 1188                           .loc 1 330 18 is_stmt 0 view .LVU302
1619
 1189 0038 2368                 ldr     r3, [r4]
1620
 1190 003a DB68                 ldr     r3, [r3, #12]
19 mjames 1621
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 28
16 mjames 1622
 
1623
 
1624
 1191                           .loc 1 330 13 view .LVU303
1625
 1192 003c 0021                 movs    r1, #0
1626
 1193 003e 2046                 mov     r0, r4
1627
 1194 0040 9847                 blx     r3
1628
 1195                   .LVL104:
1629
 331:../libOLED/src/displayclass.cpp ****   oledWrite (start);
1630
 1196                           .loc 1 331 3 is_stmt 1 view .LVU304
1631
 1197                           .loc 1 331 19 is_stmt 0 view .LVU305
1632
 1198 0042 2368                 ldr     r3, [r4]
1633
 1199 0044 DB68                 ldr     r3, [r3, #12]
1634
 1200                           .loc 1 331 13 view .LVU306
1635
 1201 0046 3146                 mov     r1, r6
1636
 1202 0048 2046                 mov     r0, r4
1637
 1203 004a 9847                 blx     r3
1638
 1204                   .LVL105:
1639
 332:../libOLED/src/displayclass.cpp ****   oledWrite (0X00);
1640
 1205                           .loc 1 332 3 is_stmt 1 view .LVU307
1641
 1206                           .loc 1 332 18 is_stmt 0 view .LVU308
1642
 1207 004c 2368                 ldr     r3, [r4]
1643
 1208 004e DB68                 ldr     r3, [r3, #12]
1644
 1209                           .loc 1 332 13 view .LVU309
1645
 1210 0050 0021                 movs    r1, #0
1646
 1211 0052 2046                 mov     r0, r4
1647
 1212 0054 9847                 blx     r3
1648
 1213                   .LVL106:
1649
 333:../libOLED/src/displayclass.cpp ****   oledWrite (stop);
1650
 1214                           .loc 1 333 3 is_stmt 1 view .LVU310
1651
 1215                           .loc 1 333 18 is_stmt 0 view .LVU311
1652
 1216 0056 2368                 ldr     r3, [r4]
1653
 1217 0058 DB68                 ldr     r3, [r3, #12]
1654
 1218                           .loc 1 333 13 view .LVU312
1655
 1219 005a 2946                 mov     r1, r5
1656
 1220 005c 2046                 mov     r0, r4
1657
 1221 005e 9847                 blx     r3
1658
 1222                   .LVL107:
1659
 334:../libOLED/src/displayclass.cpp ****   oledWrite (0X01);
1660
 1223                           .loc 1 334 3 is_stmt 1 view .LVU313
1661
 1224                           .loc 1 334 18 is_stmt 0 view .LVU314
1662
 1225 0060 2368                 ldr     r3, [r4]
1663
 1226 0062 DB68                 ldr     r3, [r3, #12]
1664
 1227                           .loc 1 334 13 view .LVU315
1665
 1228 0064 0121                 movs    r1, #1
1666
 1229 0066 2046                 mov     r0, r4
1667
 1230 0068 9847                 blx     r3
1668
 1231                   .LVL108:
1669
 335:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_ACTIVATE_SCROLL);
1670
 1232                           .loc 1 335 3 is_stmt 1 view .LVU316
1671
 1233                           .loc 1 335 37 is_stmt 0 view .LVU317
1672
 1234 006a 2368                 ldr     r3, [r4]
1673
 1235 006c DB68                 ldr     r3, [r3, #12]
1674
 1236                           .loc 1 335 13 view .LVU318
1675
 1237 006e 2F21                 movs    r1, #47
1676
 1238 0070 2046                 mov     r0, r4
1677
 1239 0072 9847                 blx     r3
1678
 1240                   .LVL109:
1679
 336:../libOLED/src/displayclass.cpp **** }
1680
 1241                           .loc 1 336 1 view .LVU319
19 mjames 1681
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 29
16 mjames 1682
 
1683
 
1684
 1242 0074 70BD                 pop     {r4, r5, r6, pc}
1685
 1243                           .loc 1 336 1 view .LVU320
1686
 1244                           .cfi_endproc
1687
 1245                   .LFE51:
1688
 1247                           .section        .text._ZN9display_t10stopscrollEv,"ax",%progbits
1689
 1248                           .align  1
1690
 1249                           .global _ZN9display_t10stopscrollEv
1691
 1250                           .syntax unified
1692
 1251                           .thumb
1693
 1252                           .thumb_func
1694
 1253                           .fpu softvfp
1695
 1255                   _ZN9display_t10stopscrollEv:
1696
 1256                   .LVL110:
1697
 1257                   .LFB52:
1698
 337:../libOLED/src/displayclass.cpp ****
1699
 338:../libOLED/src/displayclass.cpp **** void
1700
 339:../libOLED/src/displayclass.cpp **** display_t::stopscroll (void)
1701
 340:../libOLED/src/displayclass.cpp **** {
1702
 1258                           .loc 1 340 1 is_stmt 1 view -0
1703
 1259                           .cfi_startproc
1704
 1260                           @ args = 0, pretend = 0, frame = 0
1705
 1261                           @ frame_needed = 0, uses_anonymous_args = 0
1706
 1262                           .loc 1 340 1 is_stmt 0 view .LVU322
1707
 1263 0000 10B5                 push    {r4, lr}
1708
 1264                   .LCFI12:
1709
 1265                           .cfi_def_cfa_offset 8
1710
 1266                           .cfi_offset 4, -8
1711
 1267                           .cfi_offset 14, -4
1712
 1268 0002 0446                 mov     r4, r0
1713
 341:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1714
 1269                           .loc 1 341 3 is_stmt 1 view .LVU323
1715
 1270                           .loc 1 341 15 is_stmt 0 view .LVU324
1716
 1271 0004 0368                 ldr     r3, [r0]
1717
 1272 0006 9B68                 ldr     r3, [r3, #8]
1718
 1273                           .loc 1 341 13 view .LVU325
1719
 1274 0008 0021                 movs    r1, #0
1720
 1275 000a 9847                 blx     r3
1721
 1276                   .LVL111:
1722
 342:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DEACTIVATE_SCROLL);
1723
 1277                           .loc 1 342 3 is_stmt 1 view .LVU326
1724
 1278                           .loc 1 342 39 is_stmt 0 view .LVU327
1725
 1279 000c 2368                 ldr     r3, [r4]
1726
 1280 000e DB68                 ldr     r3, [r3, #12]
1727
 1281                           .loc 1 342 13 view .LVU328
1728
 1282 0010 2E21                 movs    r1, #46
1729
 1283 0012 2046                 mov     r0, r4
1730
 1284 0014 9847                 blx     r3
1731
 1285                   .LVL112:
1732
 343:../libOLED/src/displayclass.cpp **** }
1733
 1286                           .loc 1 343 1 view .LVU329
1734
 1287 0016 10BD                 pop     {r4, pc}
1735
 1288                           .loc 1 343 1 view .LVU330
1736
 1289                           .cfi_endproc
1737
 1290                   .LFE52:
1738
 1292                           .section        .text._ZN9display_t3dimEh,"ax",%progbits
1739
 1293                           .align  1
1740
 1294                           .global _ZN9display_t3dimEh
19 mjames 1741
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 30
16 mjames 1742
 
1743
 
1744
 1295                           .syntax unified
1745
 1296                           .thumb
1746
 1297                           .thumb_func
1747
 1298                           .fpu softvfp
1748
 1300                   _ZN9display_t3dimEh:
1749
 1301                   .LVL113:
1750
 1302                   .LFB53:
1751
 344:../libOLED/src/displayclass.cpp ****
1752
 345:../libOLED/src/displayclass.cpp **** // Dim the display
1753
 346:../libOLED/src/displayclass.cpp **** // dim = true: display is dimmed
1754
 347:../libOLED/src/displayclass.cpp **** // dim = false: display is normal
1755
 348:../libOLED/src/displayclass.cpp **** void
1756
 349:../libOLED/src/displayclass.cpp **** display_t::dim (uint8_t contrast)
1757
 350:../libOLED/src/displayclass.cpp **** {
1758
 1303                           .loc 1 350 1 is_stmt 1 view -0
1759
 1304                           .cfi_startproc
1760
 1305                           @ args = 0, pretend = 0, frame = 0
1761
 1306                           @ frame_needed = 0, uses_anonymous_args = 0
1762
 1307                           .loc 1 350 1 is_stmt 0 view .LVU332
1763
 1308 0000 38B5                 push    {r3, r4, r5, lr}
1764
 1309                   .LCFI13:
1765
 1310                           .cfi_def_cfa_offset 16
1766
 1311                           .cfi_offset 3, -16
1767
 1312                           .cfi_offset 4, -12
1768
 1313                           .cfi_offset 5, -8
1769
 1314                           .cfi_offset 14, -4
1770
 1315 0002 0446                 mov     r4, r0
1771
 1316 0004 0D46                 mov     r5, r1
1772
 351:../libOLED/src/displayclass.cpp ****
1773
 352:../libOLED/src/displayclass.cpp ****   // the range of contrast to too small to be really useful
1774
 353:../libOLED/src/displayclass.cpp ****   // it is useful to dim the display
1775
 354:../libOLED/src/displayclass.cpp ****
1776
 355:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1777
 1317                           .loc 1 355 3 is_stmt 1 view .LVU333
1778
 1318                           .loc 1 355 15 is_stmt 0 view .LVU334
1779
 1319 0006 0368                 ldr     r3, [r0]
1780
 1320 0008 9B68                 ldr     r3, [r3, #8]
1781
 1321                           .loc 1 355 13 view .LVU335
1782
 1322 000a 0021                 movs    r1, #0
1783
 1323                   .LVL114:
1784
 1324                           .loc 1 355 13 view .LVU336
1785
 1325 000c 9847                 blx     r3
1786
 1326                   .LVL115:
1787
 356:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);
1788
 1327                           .loc 1 356 3 is_stmt 1 view .LVU337
1789
 1328                           .loc 1 356 33 is_stmt 0 view .LVU338
1790
 1329 000e 2368                 ldr     r3, [r4]
1791
 1330 0010 DB68                 ldr     r3, [r3, #12]
1792
 1331                           .loc 1 356 13 view .LVU339
1793
 1332 0012 8121                 movs    r1, #129
1794
 1333 0014 2046                 mov     r0, r4
1795
 1334 0016 9847                 blx     r3
1796
 1335                   .LVL116:
1797
 357:../libOLED/src/displayclass.cpp ****   oledWrite (contrast);
1798
 1336                           .loc 1 357 3 is_stmt 1 view .LVU340
1799
 1337                           .loc 1 357 22 is_stmt 0 view .LVU341
1800
 1338 0018 2368                 ldr     r3, [r4]
19 mjames 1801
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 31
16 mjames 1802
 
1803
 
1804
 1339 001a DB68                 ldr     r3, [r3, #12]
1805
 1340                           .loc 1 357 13 view .LVU342
1806
 1341 001c 2946                 mov     r1, r5
1807
 1342 001e 2046                 mov     r0, r4
1808
 1343 0020 9847                 blx     r3
1809
 1344                   .LVL117:
1810
 358:../libOLED/src/displayclass.cpp **** }
1811
 1345                           .loc 1 358 1 view .LVU343
1812
 1346 0022 38BD                 pop     {r3, r4, r5, pc}
1813
 1347                           .loc 1 358 1 view .LVU344
1814
 1348                           .cfi_endproc
1815
 1349                   .LFE53:
1816
 1351                           .section        .text._ZN9display_t7displayEv,"ax",%progbits
1817
 1352                           .align  1
1818
 1353                           .global _ZN9display_t7displayEv
1819
 1354                           .syntax unified
1820
 1355                           .thumb
1821
 1356                           .thumb_func
1822
 1357                           .fpu softvfp
1823
 1359                   _ZN9display_t7displayEv:
1824
 1360                   .LVL118:
1825
 1361                   .LFB54:
1826
 359:../libOLED/src/displayclass.cpp ****
1827
 360:../libOLED/src/displayclass.cpp **** void
1828
 361:../libOLED/src/displayclass.cpp **** display_t::display (void)
1829
 362:../libOLED/src/displayclass.cpp **** {
1830
 1362                           .loc 1 362 1 is_stmt 1 view -0
1831
 1363                           .cfi_startproc
1832
 1364                           @ args = 0, pretend = 0, frame = 0
1833
 1365                           @ frame_needed = 0, uses_anonymous_args = 0
1834
 1366                           .loc 1 362 1 is_stmt 0 view .LVU346
1835
 1367 0000 F8B5                 push    {r3, r4, r5, r6, r7, lr}
1836
 1368                   .LCFI14:
1837
 1369                           .cfi_def_cfa_offset 24
1838
 1370                           .cfi_offset 3, -24
1839
 1371                           .cfi_offset 4, -20
1840
 1372                           .cfi_offset 5, -16
1841
 1373                           .cfi_offset 6, -12
1842
 1374                           .cfi_offset 7, -8
1843
 1375                           .cfi_offset 14, -4
1844
 1376 0002 0446                 mov     r4, r0
1845
 363:../libOLED/src/displayclass.cpp ****   oledSetCD (0);
1846
 1377                           .loc 1 363 3 is_stmt 1 view .LVU347
1847
 1378                           .loc 1 363 15 is_stmt 0 view .LVU348
1848
 1379 0004 0368                 ldr     r3, [r0]
1849
 1380 0006 9B68                 ldr     r3, [r3, #8]
1850
 1381                           .loc 1 363 13 view .LVU349
1851
 1382 0008 0021                 movs    r1, #0
1852
 1383 000a 9847                 blx     r3
1853
 1384                   .LVL119:
1854
 364:../libOLED/src/displayclass.cpp ****   // select entire display as window to write into
1855
 365:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_COLUMNADDR);
1856
 1385                           .loc 1 365 3 is_stmt 1 view .LVU350
1857
 1386                           .loc 1 365 32 is_stmt 0 view .LVU351
1858
 1387 000c 2368                 ldr     r3, [r4]
1859
 1388 000e DB68                 ldr     r3, [r3, #12]
1860
 1389                           .loc 1 365 13 view .LVU352
19 mjames 1861
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 32
16 mjames 1862
 
1863
 
1864
 1390 0010 2121                 movs    r1, #33
1865
 1391 0012 2046                 mov     r0, r4
1866
 1392 0014 9847                 blx     r3
1867
 1393                   .LVL120:
1868
 366:../libOLED/src/displayclass.cpp ****   oledWrite (0);   // Column start address (0 = reset)
1869
 1394                           .loc 1 366 3 is_stmt 1 view .LVU353
1870
 1395                           .loc 1 366 15 is_stmt 0 view .LVU354
1871
 1396 0016 2368                 ldr     r3, [r4]
1872
 1397 0018 DB68                 ldr     r3, [r3, #12]
1873
 1398                           .loc 1 366 13 view .LVU355
1874
 1399 001a 0021                 movs    r1, #0
1875
 1400 001c 2046                 mov     r0, r4
1876
 1401 001e 9847                 blx     r3
1877
 1402                   .LVL121:
1878
 367:../libOLED/src/displayclass.cpp ****   oledWrite (m_ramwidth - 1); // Column end address (127 = reset)
1879
 1403                           .loc 1 367 3 is_stmt 1 view .LVU356
1880
 1404                           .loc 1 367 28 is_stmt 0 view .LVU357
1881
 1405 0020 2368                 ldr     r3, [r4]
1882
 1406 0022 DB68                 ldr     r3, [r3, #12]
1883
 1407                           .loc 1 367 14 view .LVU358
1884
 1408 0024 E168                 ldr     r1, [r4, #12]
1885
 1409                           .loc 1 367 13 view .LVU359
1886
 1410 0026 0139                 subs    r1, r1, #1
1887
 1411 0028 C9B2                 uxtb    r1, r1
1888
 1412 002a 2046                 mov     r0, r4
1889
 1413 002c 9847                 blx     r3
1890
 1414                   .LVL122:
1891
 368:../libOLED/src/displayclass.cpp ****
1892
 369:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_PAGEADDR);
1893
 1415                           .loc 1 369 3 is_stmt 1 view .LVU360
1894
 1416                           .loc 1 369 30 is_stmt 0 view .LVU361
1895
 1417 002e 2368                 ldr     r3, [r4]
1896
 1418 0030 DB68                 ldr     r3, [r3, #12]
1897
 1419                           .loc 1 369 13 view .LVU362
1898
 1420 0032 2221                 movs    r1, #34
1899
 1421 0034 2046                 mov     r0, r4
1900
 1422 0036 9847                 blx     r3
1901
 1423                   .LVL123:
1902
 370:../libOLED/src/displayclass.cpp ****   oledWrite (0); // Page start address (0 = reset)
1903
 1424                           .loc 1 370 3 is_stmt 1 view .LVU363
1904
 1425                           .loc 1 370 15 is_stmt 0 view .LVU364
1905
 1426 0038 2368                 ldr     r3, [r4]
1906
 1427 003a DB68                 ldr     r3, [r3, #12]
1907
 1428                           .loc 1 370 13 view .LVU365
1908
 1429 003c 0021                 movs    r1, #0
1909
 1430 003e 2046                 mov     r0, r4
1910
 1431 0040 9847                 blx     r3
1911
 1432                   .LVL124:
1912
 371:../libOLED/src/displayclass.cpp ****   oledWrite ((m_height == 64) ? 7 : 3); // Page end address
1913
 1433                           .loc 1 371 3 is_stmt 1 view .LVU366
1914
 1434                           .loc 1 371 38 is_stmt 0 view .LVU367
1915
 1435 0042 2368                 ldr     r3, [r4]
1916
 1436 0044 DB68                 ldr     r3, [r3, #12]
1917
 1437                           .loc 1 371 15 view .LVU368
1918
 1438 0046 A268                 ldr     r2, [r4, #8]
1919
 1439                           .loc 1 371 13 view .LVU369
1920
 1440 0048 402A                 cmp     r2, #64
19 mjames 1921
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 33
16 mjames 1922
 
1923
 
1924
 1441 004a 08D0                 beq     .L76
1925
 1442 004c 0321                 movs    r1, #3
1926
 1443                   .L68:
1927
 1444                           .loc 1 371 13 discriminator 4 view .LVU370
1928
 1445 004e 2046                 mov     r0, r4
1929
 1446 0050 9847                 blx     r3
1930
 1447                   .LVL125:
1931
 372:../libOLED/src/displayclass.cpp ****
1932
 373:../libOLED/src/displayclass.cpp ****   int row;
1933
 1448                           .loc 1 373 3 is_stmt 1 discriminator 4 view .LVU371
1934
 374:../libOLED/src/displayclass.cpp ****
1935
 375:../libOLED/src/displayclass.cpp ****   int col = m_ramwidth == 132 ? 2 : 0;
1936
 1449                           .loc 1 375 3 discriminator 4 view .LVU372
1937
 1450                           .loc 1 375 13 is_stmt 0 discriminator 4 view .LVU373
1938
 1451 0052 E368                 ldr     r3, [r4, #12]
1939
 1452                           .loc 1 375 31 discriminator 4 view .LVU374
1940
 1453 0054 842B                 cmp     r3, #132
1941
 1454 0056 04D0                 beq     .L77
1942
 1455                           .loc 1 375 31 view .LVU375
1943
 1456 0058 0027                 movs    r7, #0
1944
 1457                   .L69:
1945
 1458                   .LVL126:
1946
 376:../libOLED/src/displayclass.cpp ****   for (row = 0; row < m_height / 8; row++)
1947
 1459                           .loc 1 376 3 is_stmt 1 discriminator 4 view .LVU376
1948
 1460                           .loc 1 376 12 is_stmt 0 discriminator 4 view .LVU377
1949
 1461 005a 0025                 movs    r5, #0
1950
 1462 005c 2BE0                 b       .L72
1951
 1463                   .LVL127:
1952
 1464                   .L76:
1953
 371:../libOLED/src/displayclass.cpp ****
1954
 1465                           .loc 1 371 13 view .LVU378
1955
 1466 005e 0721                 movs    r1, #7
1956
 1467 0060 F5E7                 b       .L68
1957
 1468                   .L77:
1958
 375:../libOLED/src/displayclass.cpp ****   for (row = 0; row < m_height / 8; row++)
1959
 1469                           .loc 1 375 31 view .LVU379
1960
 1470 0062 0227                 movs    r7, #2
1961
 1471 0064 F9E7                 b       .L69
1962
 1472                   .LVL128:
1963
 1473                   .L70:
1964
 1474                           .loc 1 376 21 discriminator 3 view .LVU380
1965
 1475 0066 B5EBE30F             cmp     r5, r3, asr #3
1966
 1476 006a 29DA                 bge     .L67
1967
 377:../libOLED/src/displayclass.cpp ****     {
1968
 378:../libOLED/src/displayclass.cpp ****       oledSetCD (0);
1969
 1477                           .loc 1 378 7 is_stmt 1 discriminator 2 view .LVU381
1970
 1478                           .loc 1 378 19 is_stmt 0 discriminator 2 view .LVU382
1971
 1479 006c 2368                 ldr     r3, [r4]
1972
 1480 006e 9B68                 ldr     r3, [r3, #8]
1973
 1481                           .loc 1 378 17 discriminator 2 view .LVU383
1974
 1482 0070 0021                 movs    r1, #0
1975
 1483 0072 2046                 mov     r0, r4
1976
 1484 0074 9847                 blx     r3
1977
 1485                   .LVL129:
1978
 379:../libOLED/src/displayclass.cpp ****       // set the cursor to
1979
 380:../libOLED/src/displayclass.cpp ****       oledWrite (0xB0 + row); //set page address
1980
 1486                           .loc 1 380 7 is_stmt 1 discriminator 2 view .LVU384
19 mjames 1981
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 34
16 mjames 1982
 
1983
 
1984
 1487                           .loc 1 380 28 is_stmt 0 discriminator 2 view .LVU385
1985
 1488 0076 2368                 ldr     r3, [r4]
1986
 1489 0078 DB68                 ldr     r3, [r3, #12]
1987
 1490                           .loc 1 380 17 discriminator 2 view .LVU386
1988
 1491 007a A5F15001             sub     r1, r5, #80
1989
 1492 007e C9B2                 uxtb    r1, r1
1990
 1493 0080 2046                 mov     r0, r4
1991
 1494 0082 9847                 blx     r3
1992
 1495                   .LVL130:
1993
 381:../libOLED/src/displayclass.cpp ****       oledWrite (col & 0xf); //set lower column address
1994
 1496                           .loc 1 381 7 is_stmt 1 discriminator 2 view .LVU387
1995
 1497                           .loc 1 381 27 is_stmt 0 discriminator 2 view .LVU388
1996
 1498 0084 2368                 ldr     r3, [r4]
1997
 1499 0086 DB68                 ldr     r3, [r3, #12]
1998
 1500                           .loc 1 381 17 discriminator 2 view .LVU389
1999
 1501 0088 3946                 mov     r1, r7
2000
 1502 008a 2046                 mov     r0, r4
2001
 1503 008c 9847                 blx     r3
2002
 1504                   .LVL131:
2003
 382:../libOLED/src/displayclass.cpp ****       oledWrite (0x10 | (col >> 4)); //set higher column address
2004
 1505                           .loc 1 382 7 is_stmt 1 discriminator 2 view .LVU390
2005
 1506                           .loc 1 382 35 is_stmt 0 discriminator 2 view .LVU391
2006
 1507 008e 2368                 ldr     r3, [r4]
2007
 1508 0090 DB68                 ldr     r3, [r3, #12]
2008
 1509                           .loc 1 382 17 discriminator 2 view .LVU392
2009
 1510 0092 1021                 movs    r1, #16
2010
 1511 0094 2046                 mov     r0, r4
2011
 1512 0096 9847                 blx     r3
2012
 1513                   .LVL132:
2013
 383:../libOLED/src/displayclass.cpp ****
2014
 384:../libOLED/src/displayclass.cpp ****       oledSetCD (1);
2015
 1514                           .loc 1 384 7 is_stmt 1 discriminator 2 view .LVU393
2016
 1515                           .loc 1 384 19 is_stmt 0 discriminator 2 view .LVU394
2017
 1516 0098 2368                 ldr     r3, [r4]
2018
 1517 009a 9B68                 ldr     r3, [r3, #8]
2019
 1518                           .loc 1 384 17 discriminator 2 view .LVU395
2020
 1519 009c 0121                 movs    r1, #1
2021
 1520 009e 2046                 mov     r0, r4
2022
 1521 00a0 9847                 blx     r3
2023
 1522                   .LVL133:
2024
 385:../libOLED/src/displayclass.cpp ****       oledWrite (m_data + row * m_width, m_width);
2025
 1523                           .loc 1 385 7 is_stmt 1 discriminator 2 view .LVU396
2026
 1524                           .loc 1 385 49 is_stmt 0 discriminator 2 view .LVU397
2027
 1525 00a2 2368                 ldr     r3, [r4]
2028
 1526 00a4 5E69                 ldr     r6, [r3, #20]
2029
 1527                           .loc 1 385 18 discriminator 2 view .LVU398
2030
 1528 00a6 216A                 ldr     r1, [r4, #32]
2031
 1529                           .loc 1 385 33 discriminator 2 view .LVU399
2032
 1530 00a8 6368                 ldr     r3, [r4, #4]
2033
 1531                           .loc 1 385 17 discriminator 2 view .LVU400
2034
 1532 00aa DAB2                 uxtb    r2, r3
2035
 1533 00ac 05FB0311             mla     r1, r5, r3, r1
2036
 1534 00b0 2046                 mov     r0, r4
2037
 1535 00b2 B047                 blx     r6
2038
 1536                   .LVL134:
2039
 376:../libOLED/src/displayclass.cpp ****     {
2040
 1537                           .loc 1 376 3 discriminator 2 view .LVU401
19 mjames 2041
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 35
16 mjames 2042
 
2043
 
2044
 1538 00b4 0135                 adds    r5, r5, #1
2045
 1539                   .LVL135:
2046
 1540                   .L72:
2047
 376:../libOLED/src/displayclass.cpp ****     {
2048
 1541                           .loc 1 376 23 discriminator 3 view .LVU402
2049
 1542 00b6 A368                 ldr     r3, [r4, #8]
2050
 376:../libOLED/src/displayclass.cpp ****     {
2051
 1543                           .loc 1 376 32 discriminator 3 view .LVU403
2052
 1544 00b8 002B                 cmp     r3, #0
2053
 1545 00ba D4DA                 bge     .L70
2054
 1546 00bc 0733                 adds    r3, r3, #7
2055
 1547 00be D2E7                 b       .L70
2056
 1548                   .L67:
2057
 386:../libOLED/src/displayclass.cpp ****
2058
 387:../libOLED/src/displayclass.cpp ****     }
2059
 388:../libOLED/src/displayclass.cpp ****
2060
 389:../libOLED/src/displayclass.cpp **** }
2061
 1549                           .loc 1 389 1 view .LVU404
2062
 1550 00c0 F8BD                 pop     {r3, r4, r5, r6, r7, pc}
2063
 1551                           .loc 1 389 1 view .LVU405
2064
 1552                           .cfi_endproc
2065
 1553                   .LFE54:
2066
 1555                           .section        .text._ZN9display_t12clearDisplayE8colour_t,"ax",%progbits
2067
 1556                           .align  1
2068
 1557                           .global _ZN9display_t12clearDisplayE8colour_t
2069
 1558                           .syntax unified
2070
 1559                           .thumb
2071
 1560                           .thumb_func
2072
 1561                           .fpu softvfp
2073
 1563                   _ZN9display_t12clearDisplayE8colour_t:
2074
 1564                   .LVL136:
2075
 1565                   .LFB55:
2076
 390:../libOLED/src/displayclass.cpp ****
2077
 391:../libOLED/src/displayclass.cpp **** // clear everything
2078
 392:../libOLED/src/displayclass.cpp **** void
2079
 393:../libOLED/src/displayclass.cpp **** display_t::clearDisplay (colour_t colour)
2080
 394:../libOLED/src/displayclass.cpp **** {
2081
 1566                           .loc 1 394 1 is_stmt 1 view -0
2082
 1567                           .cfi_startproc
2083
 1568                           @ args = 0, pretend = 0, frame = 0
2084
 1569                           @ frame_needed = 0, uses_anonymous_args = 0
2085
 1570                           .loc 1 394 1 is_stmt 0 view .LVU407
2086
 1571 0000 08B5                 push    {r3, lr}
2087
 1572                   .LCFI15:
2088
 1573                           .cfi_def_cfa_offset 8
2089
 1574                           .cfi_offset 3, -8
2090
 1575                           .cfi_offset 14, -4
2091
 395:../libOLED/src/displayclass.cpp ****   switch (colour)
2092
 1576                           .loc 1 395 3 is_stmt 1 view .LVU408
2093
 1577                   .LBB14:
2094
 1578 0002 0329                 cmp     r1, #3
2095
 1579 0004 0FD8                 bhi     .L78
2096
 1580 0006 DFE801F0             tbb     [pc, r1]
2097
 1581                   .L81:
2098
 1582 000a 11                   .byte   (.L83-.L81)/2
2099
 1583 000b 02                   .byte   (.L82-.L81)/2
2100
 1584 000c 02                   .byte   (.L82-.L81)/2
19 mjames 2101
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 36
16 mjames 2102
 
2103
 
2104
 1585 000d 20                   .byte   (.L87-.L81)/2
2105
 1586                           .p2align 1
2106
 1587                   .L82:
2107
 1588                   .LBB15:
2108
 396:../libOLED/src/displayclass.cpp ****     {
2109
 397:../libOLED/src/displayclass.cpp ****     case WHITE:
2110
 1589                           .loc 1 397 5 view .LVU409
2111
 398:../libOLED/src/displayclass.cpp ****     case OVERLAY:
2112
 1590                           .loc 1 398 5 view .LVU410
2113
 399:../libOLED/src/displayclass.cpp ****       memset (m_data, 255, dataSize (m_width, m_height));
2114
 1591                           .loc 1 399 7 view .LVU411
2115
 1592                           .loc 1 399 15 is_stmt 0 view .LVU412
2116
 1593 000e 036A                 ldr     r3, [r0, #32]
2117
 1594                           .loc 1 399 38 view .LVU413
2118
 1595 0010 4168                 ldr     r1, [r0, #4]
2119
 1596                   .LVL137:
2120
 1597                           .loc 1 399 47 view .LVU414
2121
 1598 0012 8268                 ldr     r2, [r0, #8]
2122
 1599                   .LVL138:
2123
 1600                   .LBB16:
2124
 1601                   .LBI16:
2125
 1602                           .file 2 "../libOLED/inc/libOLED/displayclass.H"
2126
   1:../libOLED/inc/libOLED/displayclass.H **** /*
2127
   2:../libOLED/inc/libOLED/displayclass.H ****  * displayclass.H
2128
   3:../libOLED/inc/libOLED/displayclass.H ****  *
2129
   4:../libOLED/inc/libOLED/displayclass.H ****  *  Created on: 31 Oct 2020
2130
   5:../libOLED/inc/libOLED/displayclass.H ****  *      Author: mike
2131
   6:../libOLED/inc/libOLED/displayclass.H ****  */
2132
   7:../libOLED/inc/libOLED/displayclass.H ****
2133
   8:../libOLED/inc/libOLED/displayclass.H **** #pragma once
2134
   9:../libOLED/inc/libOLED/displayclass.H **** #include <cstdint>
2135
  10:../libOLED/inc/libOLED/displayclass.H **** #include "libOLED/fontclass.H"
2136
  11:../libOLED/inc/libOLED/displayclass.H ****
2137
  12:../libOLED/inc/libOLED/displayclass.H **** inline int constexpr
2138
  13:../libOLED/inc/libOLED/displayclass.H **** dataSize (int const width, int const height)
2139
 1603                           .loc 2 13 1 is_stmt 1 view .LVU415
2140
 1604                   .LBB17:
2141
  14:../libOLED/inc/libOLED/displayclass.H **** {
2142
  15:../libOLED/inc/libOLED/displayclass.H ****   return (width * height / 8);
2143
 1605                           .loc 2 15 3 view .LVU416
2144
 1606                           .loc 2 15 17 is_stmt 0 view .LVU417
2145
 1607 0014 02FB01F2             mul     r2, r2, r1
2146
 1608                   .LVL139:
2147
 1609                           .loc 2 15 29 view .LVU418
2148
 1610 0018 002A                 cmp     r2, #0
2149
 1611 001a 05DB                 blt     .L89
2150
 1612                   .L84:
2151
 1613                   .LVL140:
2152
 1614                           .loc 2 15 29 view .LVU419
2153
 1615                   .LBE17:
2154
 1616                   .LBE16:
2155
 1617                           .loc 1 399 14 view .LVU420
2156
 1618 001c D210                 asrs    r2, r2, #3
2157
 1619 001e FF21                 movs    r1, #255
2158
 1620 0020 1846                 mov     r0, r3
2159
 1621                   .LVL141:
2160
 1622                           .loc 1 399 14 view .LVU421
19 mjames 2161
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 37
16 mjames 2162
 
2163
 
2164
 1623 0022 FFF7FEFF             bl      memset
2165
 1624                   .LVL142:
2166
 400:../libOLED/src/displayclass.cpp ****       break;
2167
 1625                           .loc 1 400 7 is_stmt 1 view .LVU422
2168
 1626                   .L78:
2169
 1627                           .loc 1 400 7 is_stmt 0 view .LVU423
2170
 1628                   .LBE15:
2171
 1629                   .LBE14:
2172
 401:../libOLED/src/displayclass.cpp ****     case BLACK:
2173
 402:../libOLED/src/displayclass.cpp ****       memset (m_data, 0, dataSize (m_width, m_height));
2174
 403:../libOLED/src/displayclass.cpp ****       break;
2175
 404:../libOLED/src/displayclass.cpp ****     case INVERT:
2176
 405:../libOLED/src/displayclass.cpp ****       for (size_t i = 0; i <  dataSize (m_width, m_height); i++)
2177
 406:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2178
 407:../libOLED/src/displayclass.cpp ****       break;
2179
 408:../libOLED/src/displayclass.cpp ****     }
2180
 409:../libOLED/src/displayclass.cpp ****
2181
 410:../libOLED/src/displayclass.cpp **** }
2182
 1630                           .loc 1 410 1 view .LVU424
2183
 1631 0026 08BD                 pop     {r3, pc}
2184
 1632                   .LVL143:
2185
 1633                   .L89:
2186
 1634                   .LBB28:
2187
 1635                   .LBB27:
2188
 1636                   .LBB19:
2189
 1637                   .LBB18:
2190
 1638                           .loc 2 15 29 view .LVU425
2191
 1639 0028 0732                 adds    r2, r2, #7
2192
 1640 002a F7E7                 b       .L84
2193
 1641                   .LVL144:
2194
 1642                   .L83:
2195
 1643                           .loc 2 15 29 view .LVU426
2196
 1644                   .LBE18:
2197
 1645                   .LBE19:
2198
 401:../libOLED/src/displayclass.cpp ****     case BLACK:
2199
 1646                           .loc 1 401 5 is_stmt 1 view .LVU427
2200
 402:../libOLED/src/displayclass.cpp ****       break;
2201
 1647                           .loc 1 402 7 view .LVU428
2202
 402:../libOLED/src/displayclass.cpp ****       break;
2203
 1648                           .loc 1 402 15 is_stmt 0 view .LVU429
2204
 1649 002c 036A                 ldr     r3, [r0, #32]
2205
 402:../libOLED/src/displayclass.cpp ****       break;
2206
 1650                           .loc 1 402 36 view .LVU430
2207
 1651 002e 4168                 ldr     r1, [r0, #4]
2208
 1652                   .LVL145:
2209
 402:../libOLED/src/displayclass.cpp ****       break;
2210
 1653                           .loc 1 402 45 view .LVU431
2211
 1654 0030 8268                 ldr     r2, [r0, #8]
2212
 1655                   .LVL146:
2213
 1656                   .LBB20:
2214
 1657                   .LBI20:
2215
  13:../libOLED/inc/libOLED/displayclass.H **** {
2216
 1658                           .loc 2 13 1 is_stmt 1 view .LVU432
2217
 1659                   .LBB21:
2218
 1660                           .loc 2 15 3 view .LVU433
2219
 1661                           .loc 2 15 17 is_stmt 0 view .LVU434
2220
 1662 0032 02FB01F2             mul     r2, r2, r1
19 mjames 2221
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 38
16 mjames 2222
 
2223
 
2224
 1663                   .LVL147:
2225
 1664                           .loc 2 15 29 view .LVU435
2226
 1665 0036 002A                 cmp     r2, #0
2227
 1666 0038 05DB                 blt     .L90
2228
 1667                   .L85:
2229
 1668                   .LVL148:
2230
 1669                           .loc 2 15 29 view .LVU436
2231
 1670                   .LBE21:
2232
 1671                   .LBE20:
2233
 402:../libOLED/src/displayclass.cpp ****       break;
2234
 1672                           .loc 1 402 14 view .LVU437
2235
 1673 003a D210                 asrs    r2, r2, #3
2236
 1674 003c 0021                 movs    r1, #0
2237
 1675 003e 1846                 mov     r0, r3
2238
 1676                   .LVL149:
2239
 402:../libOLED/src/displayclass.cpp ****       break;
2240
 1677                           .loc 1 402 14 view .LVU438
2241
 1678 0040 FFF7FEFF             bl      memset
2242
 1679                   .LVL150:
2243
 403:../libOLED/src/displayclass.cpp ****     case INVERT:
2244
 1680                           .loc 1 403 7 is_stmt 1 view .LVU439
2245
 1681 0044 EFE7                 b       .L78
2246
 1682                   .LVL151:
2247
 1683                   .L90:
2248
 1684                   .LBB23:
2249
 1685                   .LBB22:
2250
 1686                           .loc 2 15 29 is_stmt 0 view .LVU440
2251
 1687 0046 0732                 adds    r2, r2, #7
2252
 1688 0048 F7E7                 b       .L85
2253
 1689                   .LVL152:
2254
 1690                   .L87:
2255
 1691                           .loc 2 15 29 view .LVU441
2256
 1692                   .LBE22:
2257
 1693                   .LBE23:
2258
 1694                   .LBB24:
2259
 405:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2260
 1695                           .loc 1 405 19 view .LVU442
2261
 1696 004a 0022                 movs    r2, #0
2262
 1697 004c 07E0                 b       .L80
2263
 1698                   .LVL153:
2264
 1699                   .L86:
2265
 405:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2266
 1700                           .loc 1 405 28 discriminator 3 view .LVU443
2267
 1701 004e B2EBE30F             cmp     r2, r3, asr #3
2268
 1702 0052 E8D2                 bcs     .L78
2269
 406:../libOLED/src/displayclass.cpp ****       break;
2270
 1703                           .loc 1 406 2 is_stmt 1 discriminator 2 view .LVU444
2271
 1704 0054 016A                 ldr     r1, [r0, #32]
2272
 406:../libOLED/src/displayclass.cpp ****       break;
2273
 1705                           .loc 1 406 12 is_stmt 0 discriminator 2 view .LVU445
2274
 1706 0056 8B5C                 ldrb    r3, [r1, r2]    @ zero_extendqisi2
2275
 1707 0058 DB43                 mvns    r3, r3
2276
 1708 005a 8B54                 strb    r3, [r1, r2]
2277
 405:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2278
 1709                           .loc 1 405 7 discriminator 2 view .LVU446
2279
 1710 005c 0132                 adds    r2, r2, #1
2280
 1711                   .LVL154:
19 mjames 2281
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 39
16 mjames 2282
 
2283
 
2284
 1712                   .L80:
2285
 405:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2286
 1713                           .loc 1 405 41 discriminator 3 view .LVU447
2287
 1714 005e 4168                 ldr     r1, [r0, #4]
2288
 405:../libOLED/src/displayclass.cpp ****       m_data[i] ^= 255;
2289
 1715                           .loc 1 405 50 discriminator 3 view .LVU448
2290
 1716 0060 8368                 ldr     r3, [r0, #8]
2291
 1717                   .LVL155:
2292
 1718                   .LBB25:
2293
 1719                   .LBI25:
2294
  13:../libOLED/inc/libOLED/displayclass.H **** {
2295
 1720                           .loc 2 13 1 is_stmt 1 discriminator 3 view .LVU449
2296
 1721                   .LBB26:
2297
 1722                           .loc 2 15 3 discriminator 3 view .LVU450
2298
 1723                           .loc 2 15 17 is_stmt 0 discriminator 3 view .LVU451
2299
 1724 0062 03FB01F3             mul     r3, r3, r1
2300
 1725                   .LVL156:
2301
 1726                           .loc 2 15 29 discriminator 3 view .LVU452
2302
 1727 0066 002B                 cmp     r3, #0
2303
 1728 0068 F1DA                 bge     .L86
2304
 1729 006a 0733                 adds    r3, r3, #7
2305
 1730 006c EFE7                 b       .L86
2306
 1731                   .LBE26:
2307
 1732                   .LBE25:
2308
 1733                   .LBE24:
2309
 1734                   .LBE27:
2310
 1735                   .LBE28:
2311
 1736                           .cfi_endproc
2312
 1737                   .LFE55:
2313
 1739                           .section        .text._ZN9display_t4initEv,"ax",%progbits
2314
 1740                           .align  1
2315
 1741                           .global _ZN9display_t4initEv
2316
 1742                           .syntax unified
2317
 1743                           .thumb
2318
 1744                           .thumb_func
2319
 1745                           .fpu softvfp
2320
 1747                   _ZN9display_t4initEv:
2321
 1748                   .LVL157:
2322
 1749                   .LFB42:
2323
 113:../libOLED/src/displayclass.cpp ****   uint8_t const vccstate = SSD1306_EXTERNALVCC;
2324
 1750                           .loc 1 113 1 is_stmt 1 view -0
2325
 1751                           .cfi_startproc
2326
 1752                           @ args = 0, pretend = 0, frame = 0
2327
 1753                           @ frame_needed = 0, uses_anonymous_args = 0
2328
 113:../libOLED/src/displayclass.cpp ****   uint8_t const vccstate = SSD1306_EXTERNALVCC;
2329
 1754                           .loc 1 113 1 is_stmt 0 view .LVU454
2330
 1755 0000 10B5                 push    {r4, lr}
2331
 1756                   .LCFI16:
2332
 1757                           .cfi_def_cfa_offset 8
2333
 1758                           .cfi_offset 4, -8
2334
 1759                           .cfi_offset 14, -4
2335
 1760 0002 0446                 mov     r4, r0
2336
 114:../libOLED/src/displayclass.cpp ****
2337
 1761                           .loc 1 114 3 is_stmt 1 view .LVU455
2338
 1762                   .LVL158:
2339
 117:../libOLED/src/displayclass.cpp ****
2340
 1763                           .loc 1 117 3 view .LVU456
19 mjames 2341
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 40
16 mjames 2342
 
2343
 
2344
 117:../libOLED/src/displayclass.cpp ****
2345
 1764                           .loc 1 117 15 is_stmt 0 view .LVU457
2346
 1765 0004 0368                 ldr     r3, [r0]
2347
 1766 0006 9B68                 ldr     r3, [r3, #8]
2348
 117:../libOLED/src/displayclass.cpp ****
2349
 1767                           .loc 1 117 13 view .LVU458
2350
 1768 0008 0021                 movs    r1, #0
2351
 1769 000a 9847                 blx     r3
2352
 1770                   .LVL159:
2353
 120:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYCLOCKDIV); // 0xD5
2354
 1771                           .loc 1 120 3 is_stmt 1 view .LVU459
2355
 120:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYCLOCKDIV); // 0xD5
2356
 1772                           .loc 1 120 32 is_stmt 0 view .LVU460
2357
 1773 000c 2368                 ldr     r3, [r4]
2358
 1774 000e DB68                 ldr     r3, [r3, #12]
2359
 120:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYCLOCKDIV); // 0xD5
2360
 1775                           .loc 1 120 13 view .LVU461
2361
 1776 0010 AE21                 movs    r1, #174
2362
 1777 0012 2046                 mov     r0, r4
2363
 1778 0014 9847                 blx     r3
2364
 1779                   .LVL160:
2365
 121:../libOLED/src/displayclass.cpp ****   oledWrite (0x80); // the suggested ratio 0x80
2366
 1780                           .loc 1 121 3 is_stmt 1 view .LVU462
2367
 121:../libOLED/src/displayclass.cpp ****   oledWrite (0x80); // the suggested ratio 0x80
2368
 1781                           .loc 1 121 40 is_stmt 0 view .LVU463
2369
 1782 0016 2368                 ldr     r3, [r4]
2370
 1783 0018 DB68                 ldr     r3, [r3, #12]
2371
 121:../libOLED/src/displayclass.cpp ****   oledWrite (0x80); // the suggested ratio 0x80
2372
 1784                           .loc 1 121 13 view .LVU464
2373
 1785 001a D521                 movs    r1, #213
2374
 1786 001c 2046                 mov     r0, r4
2375
 1787 001e 9847                 blx     r3
2376
 1788                   .LVL161:
2377
 122:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETMULTIPLEX); // 0xA8
2378
 1789                           .loc 1 122 3 is_stmt 1 view .LVU465
2379
 122:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETMULTIPLEX); // 0xA8
2380
 1790                           .loc 1 122 18 is_stmt 0 view .LVU466
2381
 1791 0020 2368                 ldr     r3, [r4]
2382
 1792 0022 DB68                 ldr     r3, [r3, #12]
2383
 122:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETMULTIPLEX); // 0xA8
2384
 1793                           .loc 1 122 13 view .LVU467
2385
 1794 0024 8021                 movs    r1, #128
2386
 1795 0026 2046                 mov     r0, r4
2387
 1796 0028 9847                 blx     r3
2388
 1797                   .LVL162:
2389
 123:../libOLED/src/displayclass.cpp ****   oledWrite (m_height - 1);
2390
 1798                           .loc 1 123 3 is_stmt 1 view .LVU468
2391
 123:../libOLED/src/displayclass.cpp ****   oledWrite (m_height - 1);
2392
 1799                           .loc 1 123 34 is_stmt 0 view .LVU469
2393
 1800 002a 2368                 ldr     r3, [r4]
2394
 1801 002c DB68                 ldr     r3, [r3, #12]
2395
 123:../libOLED/src/displayclass.cpp ****   oledWrite (m_height - 1);
2396
 1802                           .loc 1 123 13 view .LVU470
2397
 1803 002e A821                 movs    r1, #168
2398
 1804 0030 2046                 mov     r0, r4
2399
 1805 0032 9847                 blx     r3
2400
 1806                   .LVL163:
19 mjames 2401
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 41
16 mjames 2402
 
2403
 
2404
 124:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYOFFSET); // 0xD3
2405
 1807                           .loc 1 124 3 is_stmt 1 view .LVU471
2406
 124:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYOFFSET); // 0xD3
2407
 1808                           .loc 1 124 26 is_stmt 0 view .LVU472
2408
 1809 0034 2368                 ldr     r3, [r4]
2409
 1810 0036 DB68                 ldr     r3, [r3, #12]
2410
 124:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYOFFSET); // 0xD3
2411
 1811                           .loc 1 124 14 view .LVU473
2412
 1812 0038 A168                 ldr     r1, [r4, #8]
2413
 124:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETDISPLAYOFFSET); // 0xD3
2414
 1813                           .loc 1 124 13 view .LVU474
2415
 1814 003a 0139                 subs    r1, r1, #1
2416
 1815 003c C9B2                 uxtb    r1, r1
2417
 1816 003e 2046                 mov     r0, r4
2418
 1817 0040 9847                 blx     r3
2419
 1818                   .LVL164:
2420
 125:../libOLED/src/displayclass.cpp ****   oledWrite (0x0); // no offset
2421
 1819                           .loc 1 125 3 is_stmt 1 view .LVU475
2422
 125:../libOLED/src/displayclass.cpp ****   oledWrite (0x0); // no offset
2423
 1820                           .loc 1 125 38 is_stmt 0 view .LVU476
2424
 1821 0042 2368                 ldr     r3, [r4]
2425
 1822 0044 DB68                 ldr     r3, [r3, #12]
2426
 125:../libOLED/src/displayclass.cpp ****   oledWrite (0x0); // no offset
2427
 1823                           .loc 1 125 13 view .LVU477
2428
 1824 0046 D321                 movs    r1, #211
2429
 1825 0048 2046                 mov     r0, r4
2430
 1826 004a 9847                 blx     r3
2431
 1827                   .LVL165:
2432
 126:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETSTARTLINE | 0x0); // line #0
2433
 1828                           .loc 1 126 3 is_stmt 1 view .LVU478
2434
 126:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETSTARTLINE | 0x0); // line #0
2435
 1829                           .loc 1 126 17 is_stmt 0 view .LVU479
2436
 1830 004c 2368                 ldr     r3, [r4]
2437
 1831 004e DB68                 ldr     r3, [r3, #12]
2438
 126:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETSTARTLINE | 0x0); // line #0
2439
 1832                           .loc 1 126 13 view .LVU480
2440
 1833 0050 0021                 movs    r1, #0
2441
 1834 0052 2046                 mov     r0, r4
2442
 1835 0054 9847                 blx     r3
2443
 1836                   .LVL166:
2444
 127:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_CHARGEPUMP); // 0x8D
2445
 1837                           .loc 1 127 3 is_stmt 1 view .LVU481
2446
 127:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_CHARGEPUMP); // 0x8D
2447
 1838                           .loc 1 127 40 is_stmt 0 view .LVU482
2448
 1839 0056 2368                 ldr     r3, [r4]
2449
 1840 0058 DB68                 ldr     r3, [r3, #12]
2450
 127:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_CHARGEPUMP); // 0x8D
2451
 1841                           .loc 1 127 13 view .LVU483
2452
 1842 005a 4021                 movs    r1, #64
2453
 1843 005c 2046                 mov     r0, r4
2454
 1844 005e 9847                 blx     r3
2455
 1845                   .LVL167:
2456
 128:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x10 : 0x14);
2457
 1846                           .loc 1 128 3 is_stmt 1 view .LVU484
2458
 128:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x10 : 0x14);
2459
 1847                           .loc 1 128 32 is_stmt 0 view .LVU485
2460
 1848 0060 2368                 ldr     r3, [r4]
19 mjames 2461
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 42
16 mjames 2462
 
2463
 
2464
 1849 0062 DB68                 ldr     r3, [r3, #12]
2465
 128:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x10 : 0x14);
2466
 1850                           .loc 1 128 13 view .LVU486
2467
 1851 0064 8D21                 movs    r1, #141
2468
 1852 0066 2046                 mov     r0, r4
2469
 1853 0068 9847                 blx     r3
2470
 1854                   .LVL168:
2471
 129:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_MEMORYMODE);                    // 0x20
2472
 1855                           .loc 1 129 3 is_stmt 1 view .LVU487
2473
 129:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_MEMORYMODE);                    // 0x20
2474
 1856                           .loc 1 129 59 is_stmt 0 view .LVU488
2475
 1857 006a 2368                 ldr     r3, [r4]
2476
 1858 006c DB68                 ldr     r3, [r3, #12]
2477
 129:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_MEMORYMODE);                    // 0x20
2478
 1859                           .loc 1 129 13 view .LVU489
2479
 1860 006e 1021                 movs    r1, #16
2480
 1861 0070 2046                 mov     r0, r4
2481
 1862 0072 9847                 blx     r3
2482
 1863                   .LVL169:
2483
 130:../libOLED/src/displayclass.cpp ****   oledWrite (0x00);                    // 0x0 act like ks0108
2484
 1864                           .loc 1 130 3 is_stmt 1 view .LVU490
2485
 130:../libOLED/src/displayclass.cpp ****   oledWrite (0x00);                    // 0x0 act like ks0108
2486
 1865                           .loc 1 130 32 is_stmt 0 view .LVU491
2487
 1866 0074 2368                 ldr     r3, [r4]
2488
 1867 0076 DB68                 ldr     r3, [r3, #12]
2489
 130:../libOLED/src/displayclass.cpp ****   oledWrite (0x00);                    // 0x0 act like ks0108
2490
 1868                           .loc 1 130 13 view .LVU492
2491
 1869 0078 2021                 movs    r1, #32
2492
 1870 007a 2046                 mov     r0, r4
2493
 1871 007c 9847                 blx     r3
2494
 1872                   .LVL170:
2495
 131:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SEGREMAP | 0x1);
2496
 1873                           .loc 1 131 3 is_stmt 1 view .LVU493
2497
 131:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SEGREMAP | 0x1);
2498
 1874                           .loc 1 131 18 is_stmt 0 view .LVU494
2499
 1875 007e 2368                 ldr     r3, [r4]
2500
 1876 0080 DB68                 ldr     r3, [r3, #12]
2501
 131:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SEGREMAP | 0x1);
2502
 1877                           .loc 1 131 13 view .LVU495
2503
 1878 0082 0021                 movs    r1, #0
2504
 1879 0084 2046                 mov     r0, r4
2505
 1880 0086 9847                 blx     r3
2506
 1881                   .LVL171:
2507
 132:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_COMSCANDEC);
2508
 1882                           .loc 1 132 3 is_stmt 1 view .LVU496
2509
 132:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_COMSCANDEC);
2510
 1883                           .loc 1 132 36 is_stmt 0 view .LVU497
2511
 1884 0088 2368                 ldr     r3, [r4]
2512
 1885 008a DB68                 ldr     r3, [r3, #12]
2513
 132:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_COMSCANDEC);
2514
 1886                           .loc 1 132 13 view .LVU498
2515
 1887 008c A121                 movs    r1, #161
2516
 1888 008e 2046                 mov     r0, r4
2517
 1889 0090 9847                 blx     r3
2518
 1890                   .LVL172:
2519
 133:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCOMPINS);                    // 0xDA
2520
 1891                           .loc 1 133 3 is_stmt 1 view .LVU499
19 mjames 2521
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 43
16 mjames 2522
 
2523
 
2524
 133:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCOMPINS);                    // 0xDA
2525
 1892                           .loc 1 133 32 is_stmt 0 view .LVU500
2526
 1893 0092 2368                 ldr     r3, [r4]
2527
 1894 0094 DB68                 ldr     r3, [r3, #12]
2528
 133:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCOMPINS);                    // 0xDA
2529
 1895                           .loc 1 133 13 view .LVU501
2530
 1896 0096 C821                 movs    r1, #200
2531
 1897 0098 2046                 mov     r0, r4
2532
 1898 009a 9847                 blx     r3
2533
 1899                   .LVL173:
2534
 134:../libOLED/src/displayclass.cpp ****   oledWrite (m_height == 32 ? 0x02 : 0x12);
2535
 1900                           .loc 1 134 3 is_stmt 1 view .LVU502
2536
 134:../libOLED/src/displayclass.cpp ****   oledWrite (m_height == 32 ? 0x02 : 0x12);
2537
 1901                           .loc 1 134 32 is_stmt 0 view .LVU503
2538
 1902 009c 2368                 ldr     r3, [r4]
2539
 1903 009e DB68                 ldr     r3, [r3, #12]
2540
 134:../libOLED/src/displayclass.cpp ****   oledWrite (m_height == 32 ? 0x02 : 0x12);
2541
 1904                           .loc 1 134 13 view .LVU504
2542
 1905 00a0 DA21                 movs    r1, #218
2543
 1906 00a2 2046                 mov     r0, r4
2544
 1907 00a4 9847                 blx     r3
2545
 1908                   .LVL174:
2546
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2547
 1909                           .loc 1 135 3 is_stmt 1 view .LVU505
2548
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2549
 1910                           .loc 1 135 42 is_stmt 0 view .LVU506
2550
 1911 00a6 2368                 ldr     r3, [r4]
2551
 1912 00a8 DB68                 ldr     r3, [r3, #12]
2552
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2553
 1913                           .loc 1 135 14 view .LVU507
2554
 1914 00aa A268                 ldr     r2, [r4, #8]
2555
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2556
 1915                           .loc 1 135 13 view .LVU508
2557
 1916 00ac 202A                 cmp     r2, #32
2558
 1917 00ae 34D0                 beq     .L95
2559
 1918 00b0 1221                 movs    r1, #18
2560
 1919                   .L92:
2561
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2562
 1920                           .loc 1 135 13 discriminator 4 view .LVU509
2563
 1921 00b2 2046                 mov     r0, r4
2564
 1922 00b4 9847                 blx     r3
2565
 1923                   .LVL175:
2566
 136:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x9F : 0xCF);
2567
 1924                           .loc 1 136 3 is_stmt 1 discriminator 4 view .LVU510
2568
 136:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x9F : 0xCF);
2569
 1925                           .loc 1 136 33 is_stmt 0 discriminator 4 view .LVU511
2570
 1926 00b6 2368                 ldr     r3, [r4]
2571
 1927 00b8 DB68                 ldr     r3, [r3, #12]
2572
 136:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x9F : 0xCF);
2573
 1928                           .loc 1 136 13 discriminator 4 view .LVU512
2574
 1929 00ba 8121                 movs    r1, #129
2575
 1930 00bc 2046                 mov     r0, r4
2576
 1931 00be 9847                 blx     r3
2577
 1932                   .LVL176:
2578
 137:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETPRECHARGE);                    // 0xd9
2579
 1933                           .loc 1 137 3 is_stmt 1 discriminator 4 view .LVU513
2580
 137:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETPRECHARGE);                    // 0xd9
19 mjames 2581
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 44
16 mjames 2582
 
2583
 
2584
 1934                           .loc 1 137 59 is_stmt 0 discriminator 4 view .LVU514
2585
 1935 00c0 2368                 ldr     r3, [r4]
2586
 1936 00c2 DB68                 ldr     r3, [r3, #12]
2587
 137:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETPRECHARGE);                    // 0xd9
2588
 1937                           .loc 1 137 13 discriminator 4 view .LVU515
2589
 1938 00c4 9F21                 movs    r1, #159
2590
 1939 00c6 2046                 mov     r0, r4
2591
 1940 00c8 9847                 blx     r3
2592
 1941                   .LVL177:
2593
 138:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x22 : 0xF1);
2594
 1942                           .loc 1 138 3 is_stmt 1 discriminator 4 view .LVU516
2595
 138:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x22 : 0xF1);
2596
 1943                           .loc 1 138 34 is_stmt 0 discriminator 4 view .LVU517
2597
 1944 00ca 2368                 ldr     r3, [r4]
2598
 1945 00cc DB68                 ldr     r3, [r3, #12]
2599
 138:../libOLED/src/displayclass.cpp ****   oledWrite (vccstate == SSD1306_EXTERNALVCC ? 0x22 : 0xF1);
2600
 1946                           .loc 1 138 13 discriminator 4 view .LVU518
2601
 1947 00ce D921                 movs    r1, #217
2602
 1948 00d0 2046                 mov     r0, r4
2603
 1949 00d2 9847                 blx     r3
2604
 1950                   .LVL178:
2605
 139:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETVCOMDETECT);                 // 0xDB
2606
 1951                           .loc 1 139 3 is_stmt 1 discriminator 4 view .LVU519
2607
 139:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETVCOMDETECT);                 // 0xDB
2608
 1952                           .loc 1 139 59 is_stmt 0 discriminator 4 view .LVU520
2609
 1953 00d4 2368                 ldr     r3, [r4]
2610
 1954 00d6 DB68                 ldr     r3, [r3, #12]
2611
 139:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETVCOMDETECT);                 // 0xDB
2612
 1955                           .loc 1 139 13 discriminator 4 view .LVU521
2613
 1956 00d8 2221                 movs    r1, #34
2614
 1957 00da 2046                 mov     r0, r4
2615
 1958 00dc 9847                 blx     r3
2616
 1959                   .LVL179:
2617
 140:../libOLED/src/displayclass.cpp ****   oledWrite (0x40);
2618
 1960                           .loc 1 140 3 is_stmt 1 discriminator 4 view .LVU522
2619
 140:../libOLED/src/displayclass.cpp ****   oledWrite (0x40);
2620
 1961                           .loc 1 140 35 is_stmt 0 discriminator 4 view .LVU523
2621
 1962 00de 2368                 ldr     r3, [r4]
2622
 1963 00e0 DB68                 ldr     r3, [r3, #12]
2623
 140:../libOLED/src/displayclass.cpp ****   oledWrite (0x40);
2624
 1964                           .loc 1 140 13 discriminator 4 view .LVU524
2625
 1965 00e2 DB21                 movs    r1, #219
2626
 1966 00e4 2046                 mov     r0, r4
2627
 1967 00e6 9847                 blx     r3
2628
 1968                   .LVL180:
2629
 141:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYALLON_RESUME);                 // 0xA4
2630
 1969                           .loc 1 141 3 is_stmt 1 discriminator 4 view .LVU525
2631
 141:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYALLON_RESUME);                 // 0xA4
2632
 1970                           .loc 1 141 18 is_stmt 0 discriminator 4 view .LVU526
2633
 1971 00e8 2368                 ldr     r3, [r4]
2634
 1972 00ea DB68                 ldr     r3, [r3, #12]
2635
 141:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_DISPLAYALLON_RESUME);                 // 0xA4
2636
 1973                           .loc 1 141 13 discriminator 4 view .LVU527
2637
 1974 00ec 4021                 movs    r1, #64
2638
 1975 00ee 2046                 mov     r0, r4
2639
 1976 00f0 9847                 blx     r3
2640
 1977                   .LVL181:
19 mjames 2641
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 45
16 mjames 2642
 
2643
 
2644
 142:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_NORMALDISPLAY);                 // 0xA6
2645
 1978                           .loc 1 142 3 is_stmt 1 discriminator 4 view .LVU528
2646
 142:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_NORMALDISPLAY);                 // 0xA6
2647
 1979                           .loc 1 142 41 is_stmt 0 discriminator 4 view .LVU529
2648
 1980 00f2 2368                 ldr     r3, [r4]
2649
 1981 00f4 DB68                 ldr     r3, [r3, #12]
2650
 142:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_NORMALDISPLAY);                 // 0xA6
2651
 1982                           .loc 1 142 13 discriminator 4 view .LVU530
2652
 1983 00f6 A421                 movs    r1, #164
2653
 1984 00f8 2046                 mov     r0, r4
2654
 1985 00fa 9847                 blx     r3
2655
 1986                   .LVL182:
2656
 143:../libOLED/src/displayclass.cpp ****
2657
 1987                           .loc 1 143 3 is_stmt 1 discriminator 4 view .LVU531
2658
 143:../libOLED/src/displayclass.cpp ****
2659
 1988                           .loc 1 143 35 is_stmt 0 discriminator 4 view .LVU532
2660
 1989 00fc 2368                 ldr     r3, [r4]
2661
 1990 00fe DB68                 ldr     r3, [r3, #12]
2662
 143:../libOLED/src/displayclass.cpp ****
2663
 1991                           .loc 1 143 13 discriminator 4 view .LVU533
2664
 1992 0100 A621                 movs    r1, #166
2665
 1993 0102 2046                 mov     r0, r4
2666
 1994 0104 9847                 blx     r3
2667
 1995                   .LVL183:
2668
 145:../libOLED/src/displayclass.cpp ****
2669
 1996                           .loc 1 145 3 is_stmt 1 discriminator 4 view .LVU534
2670
 145:../libOLED/src/displayclass.cpp ****
2671
 1997                           .loc 1 145 31 is_stmt 0 discriminator 4 view .LVU535
2672
 1998 0106 2368                 ldr     r3, [r4]
2673
 1999 0108 DB68                 ldr     r3, [r3, #12]
2674
 145:../libOLED/src/displayclass.cpp ****
2675
 2000                           .loc 1 145 13 discriminator 4 view .LVU536
2676
 2001 010a AF21                 movs    r1, #175
2677
 2002 010c 2046                 mov     r0, r4
2678
 2003 010e 9847                 blx     r3
2679
 2004                   .LVL184:
2680
 147:../libOLED/src/displayclass.cpp ****
2681
 2005                           .loc 1 147 3 is_stmt 1 discriminator 4 view .LVU537
2682
 147:../libOLED/src/displayclass.cpp ****
2683
 2006                           .loc 1 147 16 is_stmt 0 discriminator 4 view .LVU538
2684
 2007 0110 0021                 movs    r1, #0
2685
 2008 0112 2046                 mov     r0, r4
2686
 2009 0114 FFF7FEFF             bl      _ZN9display_t12clearDisplayE8colour_t
2687
 2010                   .LVL185:
2688
 149:../libOLED/src/displayclass.cpp ****
2689
 2011                           .loc 1 149 1 discriminator 4 view .LVU539
2690
 2012 0118 10BD                 pop     {r4, pc}
2691
 2013                   .LVL186:
2692
 2014                   .L95:
2693
 135:../libOLED/src/displayclass.cpp ****   oledWrite (SSD1306_SETCONTRAST);                    // 0x81
2694
 2015                           .loc 1 135 13 view .LVU540
2695
 2016 011a 0221                 movs    r1, #2
2696
 2017 011c C9E7                 b       .L92
2697
 2018                           .cfi_endproc
2698
 2019                   .LFE42:
2699
 2021                           .section        .text._ZN9display_t13drawRectangleEssss8colour_t,"ax",%progbits
2700
 2022                           .align  1
19 mjames 2701
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 46
16 mjames 2702
 
2703
 
2704
 2023                           .global _ZN9display_t13drawRectangleEssss8colour_t
2705
 2024                           .syntax unified
2706
 2025                           .thumb
2707
 2026                           .thumb_func
2708
 2027                           .fpu softvfp
2709
 2029                   _ZN9display_t13drawRectangleEssss8colour_t:
2710
 2030                   .LVL187:
2711
 2031                   .LFB56:
2712
 411:../libOLED/src/displayclass.cpp ****
2713
 412:../libOLED/src/displayclass.cpp **** void
2714
 413:../libOLED/src/displayclass.cpp **** display_t::drawRectangle (int16_t x1, int16_t y1, int16_t x2, int16_t y2,
2715
 414:../libOLED/src/displayclass.cpp ****                         colour_t color)
2716
 415:../libOLED/src/displayclass.cpp **** {
2717
 2032                           .loc 1 415 1 is_stmt 1 view -0
2718
 2033                           .cfi_startproc
2719
 2034                           @ args = 8, pretend = 0, frame = 0
2720
 2035                           @ frame_needed = 0, uses_anonymous_args = 0
2721
 2036                           .loc 1 415 1 is_stmt 0 view .LVU542
2722
 2037 0000 2DE9F043             push    {r4, r5, r6, r7, r8, r9, lr}
2723
 2038                   .LCFI17:
2724
 2039                           .cfi_def_cfa_offset 28
2725
 2040                           .cfi_offset 4, -28
2726
 2041                           .cfi_offset 5, -24
2727
 2042                           .cfi_offset 6, -20
2728
 2043                           .cfi_offset 7, -16
2729
 2044                           .cfi_offset 8, -12
2730
 2045                           .cfi_offset 9, -8
2731
 2046                           .cfi_offset 14, -4
2732
 2047 0004 9646                 mov     lr, r2
2733
 2048 0006 9946                 mov     r9, r3
2734
 2049 0008 BDF91C70             ldrsh   r7, [sp, #28]
2735
 2050 000c 9DF82060             ldrb    r6, [sp, #32]   @ zero_extendqisi2
2736
 416:../libOLED/src/displayclass.cpp ****   for (int16_t x = x1; x <= x2; x++)
2737
 2051                           .loc 1 416 3 is_stmt 1 view .LVU543
2738
 2052                   .LVL188:
2739
 2053                           .loc 1 416 3 is_stmt 0 view .LVU544
2740
 2054 0010 50E0                 b       .L107
2741
 2055                   .LVL189:
2742
 2056                   .L99:
2743
 2057                   .LBB29:
2744
 2058                   .LBB30:
2745
 417:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2746
 418:../libOLED/src/displayclass.cpp ****       {
2747
 419:../libOLED/src/displayclass.cpp ****       switch (color)
2748
 420:../libOLED/src/displayclass.cpp ****         {
2749
 421:../libOLED/src/displayclass.cpp ****         case BLACK:
2750
 2059                           .loc 1 421 4 is_stmt 1 view .LVU545
2751
 422:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] &= ~(1 << (y & 7));
2752
 2060                           .loc 1 422 6 view .LVU546
2753
 2061 0012 026A                 ldr     r2, [r0, #32]
2754
 2062                           .loc 1 422 20 is_stmt 0 view .LVU547
2755
 2063 0014 2546                 mov     r5, r4
2756
 2064 0016 002C                 cmp     r4, #0
2757
 2065 0018 2EDB                 blt     .L110
2758
 2066                   .L102:
2759
 2067 001a 45F3CF05             sbfx    r5, r5, #3, #16
2760
 2068                           .loc 1 422 36 view .LVU548
19 mjames 2761
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 47
16 mjames 2762
 
2763
 
2764
 2069 001e 4368                 ldr     r3, [r0, #4]
2765
 2070 0020 03FB0515             mla     r5, r3, r5, r1
2766
 2071                           .loc 1 422 49 view .LVU549
2767
 2072 0024 04F00708             and     r8, r4, #7
2768
 2073                           .loc 1 422 43 view .LVU550
2769
 2074 0028 4FF0010C             mov     ip, #1
2770
 2075 002c 0CFA08F8             lsl     r8, ip, r8
2771
 2076                           .loc 1 422 36 view .LVU551
2772
 2077 0030 12F805C0             ldrb    ip, [r2, r5]    @ zero_extendqisi2
2773
 2078 0034 2CEA080C             bic     ip, ip, r8
2774
 2079 0038 02F805C0             strb    ip, [r2, r5]
2775
 423:../libOLED/src/displayclass.cpp ****           break;
2776
 2080                           .loc 1 423 6 is_stmt 1 view .LVU552
2777
 2081                   .L103:
2778
 417:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2779
 2082                           .loc 1 417 5 is_stmt 0 discriminator 2 view .LVU553
2780
 2083 003c 0134                 adds    r4, r4, #1
2781
 2084                   .LVL190:
2782
 417:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2783
 2085                           .loc 1 417 5 discriminator 2 view .LVU554
2784
 2086 003e 24B2                 sxth    r4, r4
2785
 2087                   .LVL191:
2786
 2088                   .L106:
2787
 417:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2788
 2089                           .loc 1 417 28 discriminator 1 view .LVU555
2789
 2090 0040 BC42                 cmp     r4, r7
2790
 2091 0042 35DA                 bge     .L98
2791
 419:../libOLED/src/displayclass.cpp ****         {
2792
 2092                           .loc 1 419 2 is_stmt 1 view .LVU556
2793
 2093 0044 002E                 cmp     r6, #0
2794
 2094 0046 E4D0                 beq     .L99
2795
 2095 0048 032E                 cmp     r6, #3
2796
 2096 004a 19D0                 beq     .L100
2797
 424:../libOLED/src/displayclass.cpp ****
2798
 425:../libOLED/src/displayclass.cpp ****         default:
2799
 2097                           .loc 1 425 4 view .LVU557
2800
 426:../libOLED/src/displayclass.cpp ****         case WHITE:
2801
 2098                           .loc 1 426 4 view .LVU558
2802
 427:../libOLED/src/displayclass.cpp ****         case OVERLAY:
2803
 2099                           .loc 1 427 4 view .LVU559
2804
 428:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] |= (1 << (y & 7));
2805
 2100                           .loc 1 428 6 view .LVU560
2806
 2101 004c 026A                 ldr     r2, [r0, #32]
2807
 2102                           .loc 1 428 20 is_stmt 0 view .LVU561
2808
 2103 004e 2546                 mov     r5, r4
2809
 2104 0050 002C                 cmp     r4, #0
2810
 2105 0052 13DB                 blt     .L111
2811
 2106                   .L104:
2812
 2107 0054 45F3CF05             sbfx    r5, r5, #3, #16
2813
 2108                           .loc 1 428 36 view .LVU562
2814
 2109 0058 4368                 ldr     r3, [r0, #4]
2815
 2110 005a 03FB0515             mla     r5, r3, r5, r1
2816
 2111                           .loc 1 428 48 view .LVU563
2817
 2112 005e 04F00708             and     r8, r4, #7
2818
 2113                           .loc 1 428 42 view .LVU564
2819
 2114 0062 4FF0010C             mov     ip, #1
2820
 2115 0066 0CFA08F8             lsl     r8, ip, r8
19 mjames 2821
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 48
16 mjames 2822
 
2823
 
2824
 2116                           .loc 1 428 36 view .LVU565
2825
 2117 006a 12F805C0             ldrb    ip, [r2, r5]    @ zero_extendqisi2
2826
 2118 006e 4CEA080C             orr     ip, ip, r8
2827
 2119 0072 02F805C0             strb    ip, [r2, r5]
2828
 429:../libOLED/src/displayclass.cpp ****           break;
2829
 2120                           .loc 1 429 6 is_stmt 1 view .LVU566
2830
 2121 0076 E1E7                 b       .L103
2831
 2122                   .L110:
2832
 422:../libOLED/src/displayclass.cpp ****           break;
2833
 2123                           .loc 1 422 20 is_stmt 0 view .LVU567
2834
 2124 0078 E51D                 adds    r5, r4, #7
2835
 2125 007a CEE7                 b       .L102
2836
 2126                   .L111:
2837
 428:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] |= (1 << (y & 7));
2838
 2127                           .loc 1 428 20 view .LVU568
2839
 2128 007c E51D                 adds    r5, r4, #7
2840
 2129 007e E9E7                 b       .L104
2841
 2130                   .L100:
2842
 430:../libOLED/src/displayclass.cpp ****
2843
 431:../libOLED/src/displayclass.cpp ****         case INVERT:
2844
 2131                           .loc 1 431 4 is_stmt 1 view .LVU569
2845
 432:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] ^= (1 << (y & 7));
2846
 2132                           .loc 1 432 6 view .LVU570
2847
 2133 0080 026A                 ldr     r2, [r0, #32]
2848
 2134                           .loc 1 432 20 is_stmt 0 view .LVU571
2849
 2135 0082 2546                 mov     r5, r4
2850
 2136 0084 002C                 cmp     r4, #0
2851
 2137 0086 11DB                 blt     .L112
2852
 2138                   .L105:
2853
 2139 0088 45F3CF05             sbfx    r5, r5, #3, #16
2854
 2140                           .loc 1 432 36 view .LVU572
2855
 2141 008c 4368                 ldr     r3, [r0, #4]
2856
 2142 008e 03FB0515             mla     r5, r3, r5, r1
2857
 2143                           .loc 1 432 48 view .LVU573
2858
 2144 0092 04F00708             and     r8, r4, #7
2859
 2145                           .loc 1 432 42 view .LVU574
2860
 2146 0096 4FF0010C             mov     ip, #1
2861
 2147 009a 0CFA08F8             lsl     r8, ip, r8
2862
 2148                           .loc 1 432 36 view .LVU575
2863
 2149 009e 12F805C0             ldrb    ip, [r2, r5]    @ zero_extendqisi2
2864
 2150 00a2 8CEA080C             eor     ip, ip, r8
2865
 2151 00a6 02F805C0             strb    ip, [r2, r5]
2866
 433:../libOLED/src/displayclass.cpp ****           break;
2867
 2152                           .loc 1 433 6 is_stmt 1 view .LVU576
2868
 2153 00aa C7E7                 b       .L103
2869
 2154                   .L112:
2870
 432:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] ^= (1 << (y & 7));
2871
 2155                           .loc 1 432 20 is_stmt 0 view .LVU577
2872
 2156 00ac E51D                 adds    r5, r4, #7
2873
 2157 00ae EBE7                 b       .L105
2874
 2158                   .L98:
2875
 432:../libOLED/src/displayclass.cpp ****           m_data[x + (y / 8) * m_width] ^= (1 << (y & 7));
2876
 2159                           .loc 1 432 20 view .LVU578
2877
 2160                   .LBE30:
2878
 416:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2879
 2161                           .loc 1 416 3 discriminator 2 view .LVU579
2880
 2162 00b0 0131                 adds    r1, r1, #1
19 mjames 2881
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 49
16 mjames 2882
 
2883
 
2884
 2163                   .LVL192:
2885
 416:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2886
 2164                           .loc 1 416 3 discriminator 2 view .LVU580
2887
 2165 00b2 09B2                 sxth    r1, r1
2888
 2166                   .LVL193:
2889
 2167                   .L107:
2890
 416:../libOLED/src/displayclass.cpp ****     for (int16_t y = y1; y < y2; y++)
2891
 2168                           .loc 1 416 26 discriminator 1 view .LVU581
2892
 2169 00b4 4945                 cmp     r1, r9
2893
 2170 00b6 01DC                 bgt     .L96
2894
 2171                   .LBB31:
2895
 417:../libOLED/src/displayclass.cpp ****       {
2896
 2172                           .loc 1 417 18 view .LVU582
2897
 2173 00b8 7446                 mov     r4, lr
2898
 2174 00ba C1E7                 b       .L106
2899
 2175                   .L96:
2900
 2176                   .LBE31:
2901
 2177                   .LBE29:
2902
 434:../libOLED/src/displayclass.cpp ****         }
2903
 435:../libOLED/src/displayclass.cpp ****       }
2904
 436:../libOLED/src/displayclass.cpp **** }
2905
 2178                           .loc 1 436 1 view .LVU583
2906
 2179 00bc BDE8F083             pop     {r4, r5, r6, r7, r8, r9, pc}
2907
 2180                           .loc 1 436 1 view .LVU584
2908
 2181                           .cfi_endproc
2909
 2182                   .LFE56:
2910
 2184                           .section        .text._ZN9display_t8drawLineEssss8colour_t,"ax",%progbits
2911
 2185                           .align  1
2912
 2186                           .global _ZN9display_t8drawLineEssss8colour_t
2913
 2187                           .syntax unified
2914
 2188                           .thumb
2915
 2189                           .thumb_func
2916
 2190                           .fpu softvfp
2917
 2192                   _ZN9display_t8drawLineEssss8colour_t:
2918
 2193                   .LVL194:
2919
 2194                   .LFB57:
2920
 437:../libOLED/src/displayclass.cpp ****
2921
 438:../libOLED/src/displayclass.cpp **** /* using Bresenham draw algorithm */
2922
 439:../libOLED/src/displayclass.cpp **** void
2923
 440:../libOLED/src/displayclass.cpp **** display_t::drawLine (int16_t x1, int16_t y1, int16_t x2, int16_t y2,
2924
 441:../libOLED/src/displayclass.cpp ****                    colour_t  colour)
2925
 442:../libOLED/src/displayclass.cpp **** {
2926
 2195                           .loc 1 442 1 is_stmt 1 view -0
2927
 2196                           .cfi_startproc
2928
 2197                           @ args = 8, pretend = 0, frame = 16
2929
 2198                           @ frame_needed = 0, uses_anonymous_args = 0
2930
 2199                           .loc 1 442 1 is_stmt 0 view .LVU586
2931
 2200 0000 2DE9F04F             push    {r4, r5, r6, r7, r8, r9, r10, fp, lr}
2932
 2201                   .LCFI18:
2933
 2202                           .cfi_def_cfa_offset 36
2934
 2203                           .cfi_offset 4, -36
2935
 2204                           .cfi_offset 5, -32
2936
 2205                           .cfi_offset 6, -28
2937
 2206                           .cfi_offset 7, -24
2938
 2207                           .cfi_offset 8, -20
2939
 2208                           .cfi_offset 9, -16
2940
 2209                           .cfi_offset 10, -12
19 mjames 2941
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 50
16 mjames 2942
 
2943
 
2944
 2210                           .cfi_offset 11, -8
2945
 2211                           .cfi_offset 14, -4
2946
 2212 0004 85B0                 sub     sp, sp, #20
2947
 2213                   .LCFI19:
2948
 2214                           .cfi_def_cfa_offset 56
2949
 2215 0006 0190                 str     r0, [sp, #4]
2950
 2216 0008 0C46                 mov     r4, r1
2951
 2217 000a 1546                 mov     r5, r2
2952
 443:../libOLED/src/displayclass.cpp ****   int16_t x, y, dx, dy,    //deltas
2953
 2218                           .loc 1 443 3 is_stmt 1 view .LVU587
2954
 444:../libOLED/src/displayclass.cpp ****       dx2, dy2,       //scaled deltas
2955
 445:../libOLED/src/displayclass.cpp ****       ix, iy, //increase rate on the x and y axis
2956
 446:../libOLED/src/displayclass.cpp ****       err;    //the error term
2957
 447:../libOLED/src/displayclass.cpp ****
2958
 448:../libOLED/src/displayclass.cpp ****
2959
 449:../libOLED/src/displayclass.cpp ****   uint16_t i;         //looping variable
2960
 2219                           .loc 1 449 3 view .LVU588
2961
 450:../libOLED/src/displayclass.cpp ****
2962
 451:../libOLED/src/displayclass.cpp ****   setPixelMode(colour);
2963
 2220                           .loc 1 451 3 view .LVU589
2964
 2221                   .LVL195:
2965
 2222                   .LBB32:
2966
 2223                   .LBI32:
2967
  16:../libOLED/inc/libOLED/displayclass.H **** }
2968
  17:../libOLED/inc/libOLED/displayclass.H ****
2969
  18:../libOLED/inc/libOLED/displayclass.H **** enum colour_t
2970
  19:../libOLED/inc/libOLED/displayclass.H **** {
2971
  20:../libOLED/inc/libOLED/displayclass.H ****   BLACK,   /* and 0, invert 0 */
2972
  21:../libOLED/inc/libOLED/displayclass.H ****   WHITE,   /* and 0, invert 1 */
2973
  22:../libOLED/inc/libOLED/displayclass.H ****   OVERLAY, /* and 1, invert 0 */
2974
  23:../libOLED/inc/libOLED/displayclass.H ****   INVERT,  /* and 1, invert 1 */
2975
  24:../libOLED/inc/libOLED/displayclass.H **** };
2976
  25:../libOLED/inc/libOLED/displayclass.H ****
2977
  26:../libOLED/inc/libOLED/displayclass.H **** class display_t
2978
  27:../libOLED/inc/libOLED/displayclass.H **** {
2979
  28:../libOLED/inc/libOLED/displayclass.H **** public:
2980
  29:../libOLED/inc/libOLED/displayclass.H ****   display_t (int const width, int const height, int const ramwidth,
2981
  30:../libOLED/inc/libOLED/displayclass.H ****              uint8_t *const data);
2982
  31:../libOLED/inc/libOLED/displayclass.H ****
2983
  32:../libOLED/inc/libOLED/displayclass.H ****   virtual
2984
  33:../libOLED/inc/libOLED/displayclass.H ****   ~display_t ();
2985
  34:../libOLED/inc/libOLED/displayclass.H ****
2986
  35:../libOLED/inc/libOLED/displayclass.H ****   uint8_t
2987
  36:../libOLED/inc/libOLED/displayclass.H ****   getRotation ();
2988
  37:../libOLED/inc/libOLED/displayclass.H ****   int16_t
2989
  38:../libOLED/inc/libOLED/displayclass.H ****   width ();
2990
  39:../libOLED/inc/libOLED/displayclass.H ****   int16_t
2991
  40:../libOLED/inc/libOLED/displayclass.H ****   height ();
2992
  41:../libOLED/inc/libOLED/displayclass.H ****
2993
  42:../libOLED/inc/libOLED/displayclass.H ****   // common hardware reset .
2994
  43:../libOLED/inc/libOLED/displayclass.H ****   void reset();
2995
  44:../libOLED/inc/libOLED/displayclass.H ****
2996
  45:../libOLED/inc/libOLED/displayclass.H ****   void
2997
  46:../libOLED/inc/libOLED/displayclass.H ****   init ();
2998
  47:../libOLED/inc/libOLED/displayclass.H ****
2999
  48:../libOLED/inc/libOLED/displayclass.H ****   /// \brief Clear display to colour
3000
  49:../libOLED/inc/libOLED/displayclass.H ****   void
19 mjames 3001
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 51
16 mjames 3002
 
3003
 
3004
  50:../libOLED/inc/libOLED/displayclass.H ****   clearDisplay (colour_t colour = colour_t::BLACK);
3005
  51:../libOLED/inc/libOLED/displayclass.H ****   void
3006
  52:../libOLED/inc/libOLED/displayclass.H ****   invertDisplay (uint8_t i);
3007
  53:../libOLED/inc/libOLED/displayclass.H ****   void
3008
  54:../libOLED/inc/libOLED/displayclass.H ****   display ();
3009
  55:../libOLED/inc/libOLED/displayclass.H ****
3010
  56:../libOLED/inc/libOLED/displayclass.H ****   void
3011
  57:../libOLED/inc/libOLED/displayclass.H ****   startscrollright (uint8_t start, uint8_t stop);
3012
  58:../libOLED/inc/libOLED/displayclass.H ****   void
3013
  59:../libOLED/inc/libOLED/displayclass.H ****   startscrollleft (uint8_t start, uint8_t stop);
3014
  60:../libOLED/inc/libOLED/displayclass.H ****
3015
  61:../libOLED/inc/libOLED/displayclass.H ****   void
3016
  62:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagright (uint8_t start, uint8_t stop);
3017
  63:../libOLED/inc/libOLED/displayclass.H ****   void
3018
  64:../libOLED/inc/libOLED/displayclass.H ****   startscrolldiagleft (uint8_t start, uint8_t stop);
3019
  65:../libOLED/inc/libOLED/displayclass.H ****   void
3020
  66:../libOLED/inc/libOLED/displayclass.H ****   stopscroll (void);
3021
  67:../libOLED/inc/libOLED/displayclass.H ****
3022
  68:../libOLED/inc/libOLED/displayclass.H ****   void
3023
  69:../libOLED/inc/libOLED/displayclass.H ****   dim (uint8_t contrast);
3024
  70:../libOLED/inc/libOLED/displayclass.H ****
3025
  71:../libOLED/inc/libOLED/displayclass.H ****   // set drawing mode
3026
  72:../libOLED/inc/libOLED/displayclass.H ****   void setPixelMode(colour_t colour)
3027
 2224                           .loc 2 72 8 view .LVU590
3028
 2225                   .LBB33:
3029
  73:../libOLED/inc/libOLED/displayclass.H ****   { m_colour = colour; }
3030
 2226                           .loc 2 73 5 view .LVU591
3031
 2227                           .loc 2 73 14 is_stmt 0 view .LVU592
3032
 2228 000c 9DF83C20             ldrb    r2, [sp, #60]   @ zero_extendqisi2
3033
 2229                   .LVL196:
3034
 2230                           .loc 2 73 14 view .LVU593
3035
 2231 0010 0277                 strb    r2, [r0, #28]
3036
 2232                   .LVL197:
3037
 2233                           .loc 2 73 14 view .LVU594
3038
 2234                   .LBE33:
3039
 2235                   .LBE32:
3040
 452:../libOLED/src/displayclass.cpp ****
3041
 453:../libOLED/src/displayclass.cpp ****   // identify the first pixel
3042
 454:../libOLED/src/displayclass.cpp ****   x = x1;
3043
 2236                           .loc 1 454 3 is_stmt 1 view .LVU595
3044
 455:../libOLED/src/displayclass.cpp ****   y = y1;
3045
 2237                           .loc 1 455 3 view .LVU596
3046
 456:../libOLED/src/displayclass.cpp ****
3047
 457:../libOLED/src/displayclass.cpp ****   // difference between starting and ending points
3048
 458:../libOLED/src/displayclass.cpp ****   dx = x2 - x1;
3049
 2238                           .loc 1 458 3 view .LVU597
3050
 2239                           .loc 1 458 11 is_stmt 0 view .LVU598
3051
 2240 0012 1B1B                 subs    r3, r3, r4
3052
 2241                   .LVL198:
3053
 2242                           .loc 1 458 6 view .LVU599
3054
 2243 0014 1FB2                 sxth    r7, r3
3055
 2244                   .LVL199:
3056
 459:../libOLED/src/displayclass.cpp ****   dy = y2 - y1;
3057
 2245                           .loc 1 459 3 is_stmt 1 view .LVU600
3058
 2246                           .loc 1 459 11 is_stmt 0 view .LVU601
3059
 2247 0016 BDF938B0             ldrsh   fp, [sp, #56]
3060
 2248 001a ABEB050B             sub     fp, fp, r5
19 mjames 3061
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 52
16 mjames 3062
 
3063
 
3064
 2249                           .loc 1 459 6 view .LVU602
3065
 2250 001e 0FFA8BFB             sxth    fp, fp
3066
 2251                   .LVL200:
3067
 460:../libOLED/src/displayclass.cpp ****
3068
 461:../libOLED/src/displayclass.cpp ****   // calculate direction of the vector and store in ix and iy
3069
 462:../libOLED/src/displayclass.cpp ****   if (dx >= 0)
3070
 2252                           .loc 1 462 3 is_stmt 1 view .LVU603
3071
 463:../libOLED/src/displayclass.cpp ****     ix = 1;
3072
 464:../libOLED/src/displayclass.cpp ****
3073
 465:../libOLED/src/displayclass.cpp ****   if (dx < 0)
3074
 2253                           .loc 1 465 3 view .LVU604
3075
 2254 0022 002F                 cmp     r7, #0
3076
 2255 0024 1DDB                 blt     .L125
3077
 2256 0026 0123                 movs    r3, #1
3078
 2257 0028 0293                 str     r3, [sp, #8]
3079
 2258                   .LVL201:
3080
 2259                   .L114:
3081
 466:../libOLED/src/displayclass.cpp ****     {
3082
 467:../libOLED/src/displayclass.cpp ****       ix = -1;
3083
 468:../libOLED/src/displayclass.cpp ****       dx = abs (dx);
3084
 469:../libOLED/src/displayclass.cpp ****     }
3085
 470:../libOLED/src/displayclass.cpp ****
3086
 471:../libOLED/src/displayclass.cpp ****   if (dy >= 0)
3087
 2260                           .loc 1 471 3 view .LVU605
3088
 472:../libOLED/src/displayclass.cpp ****     iy = 1;
3089
 473:../libOLED/src/displayclass.cpp ****
3090
 474:../libOLED/src/displayclass.cpp ****   if (dy < 0)
3091
 2261                           .loc 1 474 3 view .LVU606
3092
 2262 002a BBF1000F             cmp     fp, #0
3093
 2263 002e 20DB                 blt     .L126
3094
 2264                           .loc 1 474 3 is_stmt 0 view .LVU607
3095
 2265 0030 4FF0010A             mov     r10, #1
3096
 2266                   .LVL202:
3097
 2267                   .L115:
3098
 475:../libOLED/src/displayclass.cpp ****     {
3099
 476:../libOLED/src/displayclass.cpp ****       iy = -1;
3100
 477:../libOLED/src/displayclass.cpp ****       dy = abs (dy);
3101
 478:../libOLED/src/displayclass.cpp ****     }
3102
 479:../libOLED/src/displayclass.cpp ****
3103
 480:../libOLED/src/displayclass.cpp ****   // scale deltas and store in dx2 and dy2
3104
 481:../libOLED/src/displayclass.cpp ****   dx2 = dx * 2;
3105
 2268                           .loc 1 481 3 is_stmt 1 view .LVU608
3106
 2269                           .loc 1 481 12 is_stmt 0 view .LVU609
3107
 2270 0034 BEB2                 uxth    r6, r7
3108
 2271 0036 4FEA4608             lsl     r8, r6, #1
3109
 2272 003a 1FFA88F8             uxth    r8, r8
3110
 2273                   .LVL203:
3111
 482:../libOLED/src/displayclass.cpp ****   dy2 = dy * 2;
3112
 2274                           .loc 1 482 3 is_stmt 1 view .LVU610
3113
 2275                           .loc 1 482 12 is_stmt 0 view .LVU611
3114
 2276 003e 1FFA8BF3             uxth    r3, fp
3115
 2277 0042 4FEA4309             lsl     r9, r3, #1
3116
 2278 0046 1FFA89F9             uxth    r9, r9
3117
 2279                   .LVL204:
3118
 483:../libOLED/src/displayclass.cpp ****
3119
 484:../libOLED/src/displayclass.cpp **** // all  variables are set and it's time to enter the main loop.
3120
 485:../libOLED/src/displayclass.cpp ****
19 mjames 3121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 53
16 mjames 3122
 
3123
 
3124
 486:../libOLED/src/displayclass.cpp ****   if (dx > dy)        // dx is the major axis
3125
 2280                           .loc 1 486 3 is_stmt 1 view .LVU612
3126
 2281 004a 5F45                 cmp     r7, fp
3127
 2282 004c 30DD                 ble     .L116
3128
 487:../libOLED/src/displayclass.cpp ****     {
3129
 488:../libOLED/src/displayclass.cpp ****       // initialize the error term
3130
 489:../libOLED/src/displayclass.cpp ****       err = dy2 - dx;
3131
 2283                           .loc 1 489 7 view .LVU613
3132
 2284                           .loc 1 489 17 is_stmt 0 view .LVU614
3133
 2285 004e A9EB0606             sub     r6, r9, r6
3134
 2286                           .loc 1 489 11 view .LVU615
3135
 2287 0052 36B2                 sxth    r6, r6
3136
 2288                   .LVL205:
3137
 490:../libOLED/src/displayclass.cpp ****
3138
 491:../libOLED/src/displayclass.cpp ****       for (i = 0; i <= dx; i++)
3139
 2289                           .loc 1 491 7 is_stmt 1 view .LVU616
3140
 2290                           .loc 1 491 14 is_stmt 0 view .LVU617
3141
 2291 0054 4FF0000B             mov     fp, #0
3142
 2292                   .LVL206:
3143
 2293                           .loc 1 491 14 view .LVU618
3144
 2294 0058 CDF80C80             str     r8, [sp, #12]
3145
 2295 005c DDF80880             ldr     r8, [sp, #8]
3146
 2296                   .LVL207:
3147
 2297                           .loc 1 491 14 view .LVU619
3148
 2298 0060 16E0                 b       .L119
3149
 2299                   .LVL208:
3150
 2300                   .L125:
3151
 467:../libOLED/src/displayclass.cpp ****       dx = abs (dx);
3152
 2301                           .loc 1 467 7 is_stmt 1 view .LVU620
3153
 468:../libOLED/src/displayclass.cpp ****     }
3154
 2302                           .loc 1 468 7 view .LVU621
3155
 468:../libOLED/src/displayclass.cpp ****     }
3156
 2303                           .loc 1 468 16 is_stmt 0 view .LVU622
3157
 2304 0062 3846                 mov     r0, r7
3158
 2305                   .LVL209:
3159
 468:../libOLED/src/displayclass.cpp ****     }
3160
 2306                           .loc 1 468 16 view .LVU623
3161
 2307 0064 FFF7FEFF             bl      _ZN12_GLOBAL__N_13absIsEET_S1_
3162
 2308                   .LVL210:
3163
 468:../libOLED/src/displayclass.cpp ****     }
3164
 2309                           .loc 1 468 16 view .LVU624
3165
 2310 0068 0746                 mov     r7, r0
3166
 2311                   .LVL211:
3167
 467:../libOLED/src/displayclass.cpp ****       dx = abs (dx);
3168
 2312                           .loc 1 467 10 view .LVU625
3169
 2313 006a 4FF0FF33             mov     r3, #-1
3170
 2314 006e 0293                 str     r3, [sp, #8]
3171
 2315 0070 DBE7                 b       .L114
3172
 2316                   .LVL212:
3173
 2317                   .L126:
3174
 476:../libOLED/src/displayclass.cpp ****       dy = abs (dy);
3175
 2318                           .loc 1 476 7 is_stmt 1 view .LVU626
3176
 477:../libOLED/src/displayclass.cpp ****     }
3177
 2319                           .loc 1 477 7 view .LVU627
3178
 477:../libOLED/src/displayclass.cpp ****     }
3179
 2320                           .loc 1 477 16 is_stmt 0 view .LVU628
3180
 2321 0072 5846                 mov     r0, fp
19 mjames 3181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 54
16 mjames 3182
 
3183
 
3184
 2322 0074 FFF7FEFF             bl      _ZN12_GLOBAL__N_13absIsEET_S1_
3185
 2323                   .LVL213:
3186
 2324 0078 8346                 mov     fp, r0
3187
 2325                   .LVL214:
3188
 476:../libOLED/src/displayclass.cpp ****       dy = abs (dy);
3189
 2326                           .loc 1 476 10 view .LVU629
3190
 2327 007a 4FF0FF3A             mov     r10, #-1
3191
 2328 007e D9E7                 b       .L115
3192
 2329                   .LVL215:
3193
 2330                   .L118:
3194
 492:../libOLED/src/displayclass.cpp ****       {
3195
 493:../libOLED/src/displayclass.cpp ****         drawPixel (x, y, 1);
3196
 494:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3197
 495:../libOLED/src/displayclass.cpp ****           {
3198
 496:../libOLED/src/displayclass.cpp ****             err -= dx2;
3199
 497:../libOLED/src/displayclass.cpp ****             y += iy;
3200
 498:../libOLED/src/displayclass.cpp ****           }
3201
 499:../libOLED/src/displayclass.cpp ****         err += dy2;
3202
 2331                           .loc 1 499 4 is_stmt 1 discriminator 2 view .LVU630
3203
 2332                           .loc 1 499 8 is_stmt 0 discriminator 2 view .LVU631
3204
 2333 0080 4E44                 add     r6, r6, r9
3205
 2334                   .LVL216:
3206
 2335                           .loc 1 499 8 discriminator 2 view .LVU632
3207
 2336 0082 36B2                 sxth    r6, r6
3208
 2337                   .LVL217:
3209
 500:../libOLED/src/displayclass.cpp ****         x += ix;
3210
 2338                           .loc 1 500 4 is_stmt 1 discriminator 2 view .LVU633
3211
 2339                           .loc 1 500 6 is_stmt 0 discriminator 2 view .LVU634
3212
 2340 0084 4444                 add     r4, r4, r8
3213
 2341                   .LVL218:
3214
 2342                           .loc 1 500 6 discriminator 2 view .LVU635
3215
 2343 0086 24B2                 sxth    r4, r4
3216
 2344                   .LVL219:
3217
 491:../libOLED/src/displayclass.cpp ****       {
3218
 2345                           .loc 1 491 7 discriminator 2 view .LVU636
3219
 2346 0088 0BF1010B             add     fp, fp, #1
3220
 2347                   .LVL220:
3221
 491:../libOLED/src/displayclass.cpp ****       {
3222
 2348                           .loc 1 491 7 discriminator 2 view .LVU637
3223
 2349 008c 1FFA8BFB             uxth    fp, fp
3224
 2350                   .LVL221:
3225
 2351                   .L119:
3226
 491:../libOLED/src/displayclass.cpp ****       {
3227
 2352                           .loc 1 491 21 discriminator 1 view .LVU638
3228
 2353 0090 BB45                 cmp     fp, r7
3229
 2354 0092 29DC                 bgt     .L113
3230
 493:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3231
 2355                           .loc 1 493 4 is_stmt 1 view .LVU639
3232
 493:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3233
 2356                           .loc 1 493 14 is_stmt 0 view .LVU640
3234
 2357 0094 0123                 movs    r3, #1
3235
 2358 0096 2A46                 mov     r2, r5
3236
 2359 0098 2146                 mov     r1, r4
3237
 2360 009a 0198                 ldr     r0, [sp, #4]
3238
 2361 009c FFF7FEFF             bl      _ZN9display_t9drawPixelEssb
3239
 2362                   .LVL222:
3240
 494:../libOLED/src/displayclass.cpp ****           {
19 mjames 3241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 55
16 mjames 3242
 
3243
 
3244
 2363                           .loc 1 494 4 is_stmt 1 view .LVU641
3245
 2364 00a0 002E                 cmp     r6, #0
3246
 2365 00a2 EDDB                 blt     .L118
3247
 496:../libOLED/src/displayclass.cpp ****             y += iy;
3248
 2366                           .loc 1 496 8 view .LVU642
3249
 496:../libOLED/src/displayclass.cpp ****             y += iy;
3250
 2367                           .loc 1 496 12 is_stmt 0 view .LVU643
3251
 2368 00a4 039B                 ldr     r3, [sp, #12]
3252
 2369 00a6 F61A                 subs    r6, r6, r3
3253
 2370                   .LVL223:
3254
 496:../libOLED/src/displayclass.cpp ****             y += iy;
3255
 2371                           .loc 1 496 12 view .LVU644
3256
 2372 00a8 36B2                 sxth    r6, r6
3257
 2373                   .LVL224:
3258
 497:../libOLED/src/displayclass.cpp ****           }
3259
 2374                           .loc 1 497 8 is_stmt 1 view .LVU645
3260
 497:../libOLED/src/displayclass.cpp ****           }
3261
 2375                           .loc 1 497 10 is_stmt 0 view .LVU646
3262
 2376 00aa 5544                 add     r5, r5, r10
3263
 2377                   .LVL225:
3264
 497:../libOLED/src/displayclass.cpp ****           }
3265
 2378                           .loc 1 497 10 view .LVU647
3266
 2379 00ac 2DB2                 sxth    r5, r5
3267
 2380                   .LVL226:
3268
 497:../libOLED/src/displayclass.cpp ****           }
3269
 2381                           .loc 1 497 10 view .LVU648
3270
 2382 00ae E7E7                 b       .L118
3271
 2383                   .LVL227:
3272
 2384                   .L116:
3273
 501:../libOLED/src/displayclass.cpp ****       }
3274
 502:../libOLED/src/displayclass.cpp ****     }
3275
 503:../libOLED/src/displayclass.cpp ****
3276
 504:../libOLED/src/displayclass.cpp ****   else                // dy is the major axis
3277
 505:../libOLED/src/displayclass.cpp ****     {
3278
 506:../libOLED/src/displayclass.cpp ****       // initialize the error term
3279
 507:../libOLED/src/displayclass.cpp ****       err = dx2 - dy;
3280
 2385                           .loc 1 507 7 is_stmt 1 view .LVU649
3281
 2386                           .loc 1 507 17 is_stmt 0 view .LVU650
3282
 2387 00b0 A8EB0306             sub     r6, r8, r3
3283
 2388                           .loc 1 507 11 view .LVU651
3284
 2389 00b4 36B2                 sxth    r6, r6
3285
 2390                   .LVL228:
3286
 508:../libOLED/src/displayclass.cpp ****
3287
 509:../libOLED/src/displayclass.cpp ****       for (i = 0; i <= dy; i++)
3288
 2391                           .loc 1 509 7 is_stmt 1 view .LVU652
3289
 2392                           .loc 1 509 14 is_stmt 0 view .LVU653
3290
 2393 00b6 0027                 movs    r7, #0
3291
 2394                   .LVL229:
3292
 2395                           .loc 1 509 14 view .LVU654
3293
 2396 00b8 05E0                 b       .L121
3294
 2397                   .LVL230:
3295
 2398                   .L120:
3296
 510:../libOLED/src/displayclass.cpp ****       {
3297
 511:../libOLED/src/displayclass.cpp ****         drawPixel (x, y, 1);
3298
 512:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3299
 513:../libOLED/src/displayclass.cpp ****           {
3300
 514:../libOLED/src/displayclass.cpp ****             err -= dy2;
19 mjames 3301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 56
16 mjames 3302
 
3303
 
3304
 515:../libOLED/src/displayclass.cpp ****             x += ix;
3305
 516:../libOLED/src/displayclass.cpp ****           }
3306
 517:../libOLED/src/displayclass.cpp ****         err += dx2;
3307
 2399                           .loc 1 517 4 is_stmt 1 discriminator 2 view .LVU655
3308
 2400                           .loc 1 517 8 is_stmt 0 discriminator 2 view .LVU656
3309
 2401 00ba 4644                 add     r6, r6, r8
3310
 2402                   .LVL231:
3311
 2403                           .loc 1 517 8 discriminator 2 view .LVU657
3312
 2404 00bc 36B2                 sxth    r6, r6
3313
 2405                   .LVL232:
3314
 518:../libOLED/src/displayclass.cpp ****         y += iy;
3315
 2406                           .loc 1 518 4 is_stmt 1 discriminator 2 view .LVU658
3316
 2407                           .loc 1 518 6 is_stmt 0 discriminator 2 view .LVU659
3317
 2408 00be 5544                 add     r5, r5, r10
3318
 2409                   .LVL233:
3319
 2410                           .loc 1 518 6 discriminator 2 view .LVU660
3320
 2411 00c0 2DB2                 sxth    r5, r5
3321
 2412                   .LVL234:
3322
 509:../libOLED/src/displayclass.cpp ****       {
3323
 2413                           .loc 1 509 7 discriminator 2 view .LVU661
3324
 2414 00c2 0137                 adds    r7, r7, #1
3325
 2415                   .LVL235:
3326
 509:../libOLED/src/displayclass.cpp ****       {
3327
 2416                           .loc 1 509 7 discriminator 2 view .LVU662
3328
 2417 00c4 BFB2                 uxth    r7, r7
3329
 2418                   .LVL236:
3330
 2419                   .L121:
3331
 509:../libOLED/src/displayclass.cpp ****       {
3332
 2420                           .loc 1 509 21 discriminator 1 view .LVU663
3333
 2421 00c6 5F45                 cmp     r7, fp
3334
 2422 00c8 0EDC                 bgt     .L113
3335
 511:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3336
 2423                           .loc 1 511 4 is_stmt 1 view .LVU664
3337
 511:../libOLED/src/displayclass.cpp ****         if (err >= 0)
3338
 2424                           .loc 1 511 14 is_stmt 0 view .LVU665
3339
 2425 00ca 0123                 movs    r3, #1
3340
 2426 00cc 2A46                 mov     r2, r5
3341
 2427 00ce 2146                 mov     r1, r4
3342
 2428 00d0 0198                 ldr     r0, [sp, #4]
3343
 2429 00d2 FFF7FEFF             bl      _ZN9display_t9drawPixelEssb
3344
 2430                   .LVL237:
3345
 512:../libOLED/src/displayclass.cpp ****           {
3346
 2431                           .loc 1 512 4 is_stmt 1 view .LVU666
3347
 2432 00d6 002E                 cmp     r6, #0
3348
 2433 00d8 EFDB                 blt     .L120
3349
 514:../libOLED/src/displayclass.cpp ****             x += ix;
3350
 2434                           .loc 1 514 8 view .LVU667
3351
 514:../libOLED/src/displayclass.cpp ****             x += ix;
3352
 2435                           .loc 1 514 12 is_stmt 0 view .LVU668
3353
 2436 00da A6EB0906             sub     r6, r6, r9
3354
 2437                   .LVL238:
3355
 514:../libOLED/src/displayclass.cpp ****             x += ix;
3356
 2438                           .loc 1 514 12 view .LVU669
3357
 2439 00de 36B2                 sxth    r6, r6
3358
 2440                   .LVL239:
3359
 515:../libOLED/src/displayclass.cpp ****           }
3360
 2441                           .loc 1 515 8 is_stmt 1 view .LVU670
19 mjames 3361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 57
16 mjames 3362
 
3363
 
3364
 515:../libOLED/src/displayclass.cpp ****           }
3365
 2442                           .loc 1 515 10 is_stmt 0 view .LVU671
3366
 2443 00e0 029B                 ldr     r3, [sp, #8]
3367
 2444 00e2 1C44                 add     r4, r4, r3
3368
 2445                   .LVL240:
3369
 515:../libOLED/src/displayclass.cpp ****           }
3370
 2446                           .loc 1 515 10 view .LVU672
3371
 2447 00e4 24B2                 sxth    r4, r4
3372
 2448                   .LVL241:
3373
 515:../libOLED/src/displayclass.cpp ****           }
3374
 2449                           .loc 1 515 10 view .LVU673
3375
 2450 00e6 E8E7                 b       .L120
3376
 2451                   .LVL242:
3377
 2452                   .L113:
3378
 519:../libOLED/src/displayclass.cpp ****       }
3379
 520:../libOLED/src/displayclass.cpp ****     }
3380
 521:../libOLED/src/displayclass.cpp **** }
3381
 2453                           .loc 1 521 1 view .LVU674
3382
 2454 00e8 05B0                 add     sp, sp, #20
3383
 2455                   .LCFI20:
3384
 2456                           .cfi_def_cfa_offset 36
3385
 2457                           @ sp needed
3386
 2458 00ea BDE8F08F             pop     {r4, r5, r6, r7, r8, r9, r10, fp, pc}
3387
 2459                           .loc 1 521 1 view .LVU675
3388
 2460                           .cfi_endproc
3389
 2461                   .LFE57:
3390
 2463                           .global _ZTV9display_t
3391
 2464                           .section        .rodata._ZTV9display_t,"a"
3392
 2465                           .align  2
3393
 2466                           .set    .LANCHOR0,. + 0
3394
 2469                   _ZTV9display_t:
3395
 2470 0000 00000000             .word   0
3396
 2471 0004 00000000             .word   0
3397
 2472 0008 00000000             .word   0
3398
 2473 000c 00000000             .word   0
3399
 2474 0010 00000000             .word   __cxa_pure_virtual
3400
 2475 0014 00000000             .word   __cxa_pure_virtual
3401
 2476 0018 00000000             .word   __cxa_pure_virtual
3402
 2477 001c 00000000             .word   __cxa_pure_virtual
3403
 2478                           .text
3404
 2479                   .Letext0:
3405
 2480                           .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3406
 2481                           .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3407
 2482                           .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3408
 2483                           .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3409
 2484                           .file 7 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3410
 2485                           .file 8 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3411
 2486                           .file 9 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
3412
 2487                           .file 10 "../libOLED/inc/libOLED/fontclass.H"
3413
 2488                           .file 11 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3414
 2489                           .file 12 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3415
 2490                           .file 13 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3416
 2491                           .file 14 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3417
 2492                           .file 15 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3418
 2493                           .file 16 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
3419
 2494                           .file 17 "<built-in>"
19 mjames 3420
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 58
16 mjames 3421
 
3422
 
3423
DEFINED SYMBOLS
3424
                            *ABS*:0000000000000000 displayclass.cpp
19 mjames 3425
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:16     .text._ZN12_GLOBAL__N_14swapIsEEvRT_S2_:0000000000000000 $t
3426
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:23     .text._ZN12_GLOBAL__N_14swapIsEEvRT_S2_:0000000000000000 _ZN12_GLOBAL__N_14swapIsEEvRT_S2_
3427
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:46     .text._ZN12_GLOBAL__N_13absIsEET_S1_:0000000000000000 $t
3428
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:52     .text._ZN12_GLOBAL__N_13absIsEET_S1_:0000000000000000 _ZN12_GLOBAL__N_13absIsEET_S1_
3429
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:72     .text._ZdlPvj:0000000000000000 $t
3430
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:79     .text._ZdlPvj:0000000000000000 _ZdlPvj
3431
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:95     .text.__cxa_pure_virtual:0000000000000000 $t
3432
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:102    .text.__cxa_pure_virtual:0000000000000000 __cxa_pure_virtual
3433
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:117    .text._ZN9display_tC2EiiiPh:0000000000000000 $t
3434
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:124    .text._ZN9display_tC2EiiiPh:0000000000000000 _ZN9display_tC2EiiiPh
3435
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:168    .text._ZN9display_tC2EiiiPh:0000000000000020 $d
3436
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:124    .text._ZN9display_tC2EiiiPh:0000000000000000 _ZN9display_tC1EiiiPh
3437
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:175    .text._ZN9display_tD2Ev:0000000000000000 $t
3438
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:182    .text._ZN9display_tD2Ev:0000000000000000 _ZN9display_tD2Ev
3439
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:182    .text._ZN9display_tD2Ev:0000000000000000 _ZN9display_tD1Ev
3440
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:198    .text._ZN9display_tD0Ev:0000000000000000 $t
3441
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:205    .text._ZN9display_tD0Ev:0000000000000000 _ZN9display_tD0Ev
3442
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:219    .text._ZN9display_t5resetEv:0000000000000000 $t
3443
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:226    .text._ZN9display_t5resetEv:0000000000000000 _ZN9display_t5resetEv
3444
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:252    .text._ZN9display_t11getRotationEv:0000000000000000 $t
3445
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:259    .text._ZN9display_t11getRotationEv:0000000000000000 _ZN9display_t11getRotationEv
3446
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:277    .text._ZN9display_t5widthEv:0000000000000000 $t
3447
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:284    .text._ZN9display_t5widthEv:0000000000000000 _ZN9display_t5widthEv
3448
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:300    .text._ZN9display_t5widthEv:000000000000000a $d
3449
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:304    .text._ZN9display_t5widthEv:000000000000000e $t
3450
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:356    .text._ZN9display_t6heightEv:0000000000000000 $t
3451
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:363    .text._ZN9display_t6heightEv:0000000000000000 _ZN9display_t6heightEv
3452
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:379    .text._ZN9display_t6heightEv:000000000000000a $d
3453
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:383    .text._ZN9display_t6heightEv:000000000000000e $t
3454
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:435    .text._ZN9display_t9drawPixelEssb:0000000000000000 $t
3455
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:442    .text._ZN9display_t9drawPixelEssb:0000000000000000 _ZN9display_t9drawPixelEssb
3456
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:699    .text._ZN9display_t13invertDisplayEh:0000000000000000 $t
3457
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:706    .text._ZN9display_t13invertDisplayEh:0000000000000000 _ZN9display_t13invertDisplayEh
3458
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:756    .text._ZN9display_t16startscrollrightEhh:0000000000000000 $t
3459
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:763    .text._ZN9display_t16startscrollrightEhh:0000000000000000 _ZN9display_t16startscrollrightEhh
3460
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:870    .text._ZN9display_t15startscrollleftEhh:0000000000000000 $t
3461
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:877    .text._ZN9display_t15startscrollleftEhh:0000000000000000 _ZN9display_t15startscrollleftEhh
3462
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:984    .text._ZN9display_t20startscrolldiagrightEhh:0000000000000000 $t
3463
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:991    .text._ZN9display_t20startscrolldiagrightEhh:0000000000000000 _ZN9display_t20startscrolldiagrightEhh
3464
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1116   .text._ZN9display_t19startscrolldiagleftEhh:0000000000000000 $t
3465
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1123   .text._ZN9display_t19startscrolldiagleftEhh:0000000000000000 _ZN9display_t19startscrolldiagleftEhh
3466
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1248   .text._ZN9display_t10stopscrollEv:0000000000000000 $t
3467
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1255   .text._ZN9display_t10stopscrollEv:0000000000000000 _ZN9display_t10stopscrollEv
3468
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1293   .text._ZN9display_t3dimEh:0000000000000000 $t
3469
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1300   .text._ZN9display_t3dimEh:0000000000000000 _ZN9display_t3dimEh
3470
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1352   .text._ZN9display_t7displayEv:0000000000000000 $t
3471
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1359   .text._ZN9display_t7displayEv:0000000000000000 _ZN9display_t7displayEv
3472
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1556   .text._ZN9display_t12clearDisplayE8colour_t:0000000000000000 $t
3473
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1563   .text._ZN9display_t12clearDisplayE8colour_t:0000000000000000 _ZN9display_t12clearDisplayE8colour_t
3474
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1582   .text._ZN9display_t12clearDisplayE8colour_t:000000000000000a $d
3475
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1586   .text._ZN9display_t12clearDisplayE8colour_t:000000000000000e $t
3476
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1740   .text._ZN9display_t4initEv:0000000000000000 $t
3477
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:1747   .text._ZN9display_t4initEv:0000000000000000 _ZN9display_t4initEv
3478
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2022   .text._ZN9display_t13drawRectangleEssss8colour_t:0000000000000000 $t
3479
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2029   .text._ZN9display_t13drawRectangleEssss8colour_t:0000000000000000 _ZN9display_t13drawRectangleEssss8colour_t
3480
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s                   page 59
16 mjames 3481
 
3482
 
19 mjames 3483
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2185   .text._ZN9display_t8drawLineEssss8colour_t:0000000000000000 $t
3484
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2192   .text._ZN9display_t8drawLineEssss8colour_t:0000000000000000 _ZN9display_t8drawLineEssss8colour_t
3485
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2469   .rodata._ZTV9display_t:0000000000000000 _ZTV9display_t
3486
C:\Users\mike\AppData\Local\Temp\ccSVDvEf.s:2465   .rodata._ZTV9display_t:0000000000000000 $d
16 mjames 3487
 
3488
UNDEFINED SYMBOLS
3489
memset