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