Subversion Repositories dashGPS

Rev

Rev 20 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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