⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guiaalib.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guiaalib.o --depend=.\Obj\guiaalib.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\AntiAlias\GUIAALib.c]
                          THUMB

                          AREA ||i.CalcClipRectHL||, CODE, READONLY, ALIGN=2

                  CalcClipRectHL PROC
;;;166    */
;;;167    static void CalcClipRectHL(void) {
000000  490a              LDR      r1,|L1.44|
;;;168      ClipRect_HL.x0 =  GUI_Context.ClipRect.x0    * GUI_Context.AA_Factor;
000002  4a0b              LDR      r2,|L1.48|
000004  888b              LDRH     r3,[r1,#4]  ; GUI_Context
000006  f891005c          LDRB     r0,[r1,#0x5c]  ; GUI_Context
00000a  4343              MULS     r3,r0,r3
00000c  8013              STRH     r3,[r2,#0]
;;;169      ClipRect_HL.y0 =  GUI_Context.ClipRect.y0    * GUI_Context.AA_Factor;
00000e  88cb              LDRH     r3,[r1,#6]  ; GUI_Context
000010  4343              MULS     r3,r0,r3
000012  8053              STRH     r3,[r2,#2]
;;;170      ClipRect_HL.x1 = (GUI_Context.ClipRect.x1+1) * GUI_Context.AA_Factor -1;
000014  890b              LDRH     r3,[r1,#8]  ; GUI_Context
000016  1c5b              ADDS     r3,r3,#1
000018  4343              MULS     r3,r0,r3
00001a  1e5b              SUBS     r3,r3,#1
00001c  8093              STRH     r3,[r2,#4]
;;;171      ClipRect_HL.y1 = (GUI_Context.ClipRect.y1+1) * GUI_Context.AA_Factor -1;
00001e  8949              LDRH     r1,[r1,#0xa]  ; GUI_Context
000020  1c49              ADDS     r1,r1,#1
000022  4341              MULS     r1,r0,r1
000024  1e49              SUBS     r1,r1,#1
000026  80d1              STRH     r1,[r2,#6]
;;;172    }
000028  4770              BX       lr
;;;173    
                          ENDP

00002a  0000              DCW      0x0000
                  |L1.44|
                          DCD      GUI_Context
                  |L1.48|
                          DCD      ||.data||+0x1c

                          AREA ||i.GUI_AA_DisableHiRes||, CODE, READONLY, ALIGN=2

                  GUI_AA_DisableHiRes PROC
;;;243    */
;;;244    void GUI_AA_DisableHiRes(void) {
000000  4902              LDR      r1,|L2.12|
;;;245      GUI_Context.AA_HiResEnable = 0;
000002  2000              MOVS     r0,#0
000004  f881005d          STRB     r0,[r1,#0x5d]
;;;246    }
000008  4770              BX       lr
;;;247    
                          ENDP

00000a  0000              DCW      0x0000
                  |L2.12|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_EnableHiRes||, CODE, READONLY, ALIGN=2

                  GUI_AA_EnableHiRes PROC
;;;251    */
;;;252    void GUI_AA_EnableHiRes(void) {
000000  4902              LDR      r1,|L3.12|
;;;253      GUI_Context.AA_HiResEnable =1;
000002  2001              MOVS     r0,#1
000004  f881005d          STRB     r0,[r1,#0x5d]
;;;254    }
000008  4770              BX       lr
;;;255    
                          ENDP

00000a  0000              DCW      0x0000
                  |L3.12|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_Exit||, CODE, READONLY, ALIGN=2

                  GUI_AA_Exit PROC
;;;267    */
;;;268    void GUI_AA_Exit(void) {
000000  b510              PUSH     {r4,lr}
;;;269      _FlushLine();
000002  f7fffffe          BL       _FlushLine
;;;270      /* restore previous settings */
;;;271      GUI_Context.pLCD_HL = pLCD_HLPrev;
000006  4803              LDR      r0,|L4.20|
000008  6981              LDR      r1,[r0,#0x18]  ; pLCD_HLPrev
00000a  4803              LDR      r0,|L4.24|
;;;272      GUI_Context.pClipRect_HL = &GUI_Context.ClipRect;
00000c  6581              STR      r1,[r0,#0x58]  ; GUI_Context
00000e  1d01              ADDS     r1,r0,#4
;;;273    }
000010  6101              STR      r1,[r0,#0x10]  ; GUI_Context
000012  bd10              POP      {r4,pc}
;;;274    
                          ENDP

                  |L4.20|
                          DCD      ||.data||
                  |L4.24|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_GetFactor||, CODE, READONLY, ALIGN=2

                  GUI_AA_GetFactor PROC
;;;235    */
;;;236    int GUI_AA_GetFactor(void) {
000000  4801              LDR      r0,|L5.8|
;;;237      return GUI_Context.AA_Factor;
000002  f890005c          LDRB     r0,[r0,#0x5c]  ; GUI_Context
;;;238    }
000006  4770              BX       lr
;;;239    
                          ENDP

                  |L5.8|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_HiRes2Pixel||, CODE, READONLY, ALIGN=2

                  GUI_AA_HiRes2Pixel PROC
;;;259    */
;;;260    I16 GUI_AA_HiRes2Pixel(int HiRes) {
000000  4903              LDR      r1,|L6.16|
;;;261      return GUI_Context.AA_Factor ? (HiRes / GUI_Context.AA_Factor) : HiRes;
000002  f891105c          LDRB     r1,[r1,#0x5c]  ; GUI_Context
000006  b109              CBZ      r1,|L6.12|
000008  fb90f0f1          SDIV     r0,r0,r1
                  |L6.12|
00000c  b200              SXTH     r0,r0
;;;262    }
00000e  4770              BX       lr
;;;263    
                          ENDP

                  |L6.16|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_Init||, CODE, READONLY, ALIGN=2

                  GUI_AA_Init PROC
;;;183    */
;;;184    int GUI_AA_Init(int x0, int x1) {
000000  b570              PUSH     {r4-r6,lr}
;;;185      int r =0;
000002  2400              MOVS     r4,#0
;;;186      /* Bounds checking:
;;;187         Make sure x0, x1 are in legal range ...
;;;188         (The important point is that they span no more than configured as
;;;189          buffer size)
;;;190      */
;;;191      if (x0<0)
000004  2800              CMP      r0,#0
000006  da00              BGE      |L7.10|
;;;192        x0 =0;
000008  2000              MOVS     r0,#0
                  |L7.10|
;;;193      if (x1-x0 > GUI_AA_LINEBUFFER_SIZE-1)
00000a  1a0a              SUBS     r2,r1,r0
00000c  f5b27fa0          CMP      r2,#0x140
000010  db01              BLT      |L7.22|
;;;194        x1 = x0+GUI_AA_LINEBUFFER_SIZE-1;
000012  f200113f          ADD      r1,r0,#0x13f
                  |L7.22|
;;;195      /* Is there anything to do at all ??? */
;;;196      if (x1 < x0) {
000016  4281              CMP      r1,r0
000018  da01              BGE      |L7.30|
;;;197        x1 = x0;   /* Not really ... */
00001a  4601              MOV      r1,r0
;;;198        r =1;
00001c  2401              MOVS     r4,#1
                  |L7.30|
;;;199      }
;;;200      DrawAPICopy = *GUI_Context.pLCD_HL; /* Copy API table */
00001e  4d0c              LDR      r5,|L7.80|
000020  4a0c              LDR      r2,|L7.84|
000022  6dab              LDR      r3,[r5,#0x58]  ; GUI_Context
000024  685e              LDR      r6,[r3,#4]
;;;201      pLCD_HLPrev = GUI_Context.pLCD_HL; /* Remember list ptr (for restore) */
;;;202      DrawAPICopy.pfDrawHLine = _DrawHLine;  /* modify function ptr. for hline */
000026  6296              STR      r6,[r2,#0x28]  ; DrawAPICopy
000028  6193              STR      r3,[r2,#0x18]  ; pLCD_HLPrev
00002a  4e0b              LDR      r6,|L7.88|
00002c  f1020324          ADD      r3,r2,#0x24
;;;203      GUI_Context.pLCD_HL = &DrawAPICopy;      /* Use copy of fp-list */
000030  601e              STR      r6,[r3,#0]  ; DrawAPICopy
;;;204      pabAABuffer = abAABuffer;
000032  65ab              STR      r3,[r5,#0x58]  ; GUI_Context
000034  4b09              LDR      r3,|L7.92|
;;;205      _x0 = x0;
;;;206      _x1 = x1;
;;;207      _CleanLine();
000036  e9c23000          STRD     r3,r0,[r2,#0]
00003a  6091              STR      r1,[r2,#8]  ; _x1
00003c  f7fffffe          BL       _CleanLine
;;;208      CalcClipRectHL();
000040  f7fffffe          BL       CalcClipRectHL
;;;209      GUI_Context.pClipRect_HL = &ClipRect_HL;
000044  4803              LDR      r0,|L7.84|
000046  301c              ADDS     r0,r0,#0x1c
;;;210      return r;
000048  6128              STR      r0,[r5,#0x10]  ; GUI_Context
00004a  4620              MOV      r0,r4
;;;211    }
00004c  bd70              POP      {r4-r6,pc}
;;;212    
                          ENDP

00004e  0000              DCW      0x0000
                  |L7.80|
                          DCD      GUI_Context
                  |L7.84|
                          DCD      ||.data||
                  |L7.88|
                          DCD      _DrawHLine
                  |L7.92|
                          DCD      ||.bss||

                          AREA ||i.GUI_AA_Init_HiRes||, CODE, READONLY, ALIGN=2

                  GUI_AA_Init_HiRes PROC
;;;216    */
;;;217    int GUI_AA_Init_HiRes(int x0, int x1) {
000000  4a04              LDR      r2,|L8.20|
;;;218      x0 /= GUI_Context.AA_Factor;
000002  f892205c          LDRB     r2,[r2,#0x5c]  ; GUI_Context
000006  fb90f0f2          SDIV     r0,r0,r2
;;;219      x1 /= GUI_Context.AA_Factor;
00000a  fb91f1f2          SDIV     r1,r1,r2
;;;220      return GUI_AA_Init(x0, x1);
00000e  f7ffbffe          B.W      GUI_AA_Init
;;;221    }
;;;222    
                          ENDP

000012  0000              DCW      0x0000
                  |L8.20|
                          DCD      GUI_Context

                          AREA ||i.GUI_AA_SetFactor||, CODE, READONLY, ALIGN=2

                  GUI_AA_SetFactor PROC
;;;226    */
;;;227    void GUI_AA_SetFactor(int Factor) {
000000  4902              LDR      r1,|L9.12|
;;;228      GUI_Context.AA_Factor = Factor;
000002  f881005c          STRB     r0,[r1,#0x5c]
;;;229      CalcClipRectHL();      /* High level clipping depends on quality factor */
000006  f7ffbffe          B.W      CalcClipRectHL
;;;230    }
;;;231    
                          ENDP

00000a  0000              DCW      0x0000
                  |L9.12|
                          DCD      GUI_Context

                          AREA ||i._CleanLine||, CODE, READONLY, ALIGN=2

                  _CleanLine PROC
;;;63     */
;;;64     static void _CleanLine(void) {
000000  b510              PUSH     {r4,lr}
;;;65       GUI_MEMSET(pabAABuffer,0, _x1 - _x0+1);
000002  4c07              LDR      r4,|L10.32|
000004  e9d41001          LDRD     r1,r0,[r4,#4]
000008  1a42              SUBS     r2,r0,r1
00000a  1c52              ADDS     r2,r2,#1
00000c  2100              MOVS     r1,#0
00000e  6820              LDR      r0,[r4,#0]  ; pabAABuffer
000010  f7fffffe          BL       GUI__memset
;;;66       _y = -16383;  /* Invalidate */  
000014  4803              LDR      r0,|L10.36|
;;;67       _x0_InUse =  16383;
000016  0c81              LSRS     r1,r0,#18
;;;68       _x1_InUse = -16383;
000018  e9c40103          STRD     r0,r1,[r4,#0xc]
;;;69     }
00001c  6160              STR      r0,[r4,#0x14]  ; _x1_InUse
00001e  bd10              POP      {r4,pc}
;;;70     
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -