📄 guicore.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guicore.o --depend=.\Obj\guicore.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\Core\GUICore.c]
THUMB
AREA ||i.GUI_Clear||, CODE, READONLY, ALIGN=1
GUI_Clear PROC
;;;127 */
;;;128 void GUI_Clear(void) {
000000 b510 PUSH {r4,lr}
;;;129 GUI_GotoXY(0,0); /* Reset text cursor to upper left */
000002 2100 MOVS r1,#0
000004 4608 MOV r0,r1
000006 f7fffffe BL GUI_GotoXY
;;;130 GUI_ClearRect(GUI_XMIN, GUI_YMIN, GUI_XMAX, GUI_YMAX);
00000a f64072ff MOV r2,#0xfff
00000e 4250 RSBS r0,r2,#0
000010 e8bd4010 POP {r4,lr}
000014 4613 MOV r3,r2
000016 4601 MOV r1,r0
000018 f7ffbffe B.W GUI_ClearRect
;;;131 }
;;;132
ENDP
AREA ||i.GUI_ClearRect||, CODE, READONLY, ALIGN=2
GUI_ClearRect PROC
;;;99 */
;;;100 void GUI_ClearRect(int x0, int y0, int x1, int y1) {
000000 e92d41fc PUSH {r2-r8,lr}
000004 4604 MOV r4,r0
000006 460d MOV r5,r1
000008 4616 MOV r6,r2
00000a 461f MOV r7,r3
;;;101 GUI_DRAWMODE PrevDraw;
;;;102 #if GUI_WINSUPPORT
;;;103 GUI_RECT r;
;;;104 #endif
;;;105 GUI_LOCK();
;;;106 PrevDraw = LCD_SetDrawMode(GUI_DRAWMODE_REV);
00000c 2004 MOVS r0,#4
00000e f7fffffe BL LCD_SetDrawMode
;;;107 #if GUI_WINSUPPORT
;;;108 WM_ADDORG(x0,y0);
000012 4911 LDR r1,|L2.88|
000014 4680 MOV r8,r0 ;106
000016 6c08 LDR r0,[r1,#0x40] ; GUI_Context
000018 6c49 LDR r1,[r1,#0x44] ; GUI_Context
00001a 4404 ADD r4,r4,r0
;;;109 WM_ADDORG(x1,y1);
00001c 4406 ADD r6,r6,r0
00001e 440d ADD r5,r5,r1 ;108
000020 440f ADD r7,r7,r1
;;;110 r.x0 = x0;
000022 f8ad4000 STRH r4,[sp,#0]
;;;111 r.x1 = x1;
000026 f8ad6004 STRH r6,[sp,#4]
;;;112 r.y0 = y0;
00002a f8ad5002 STRH r5,[sp,#2]
;;;113 r.y1 = y1;
00002e f8ad7006 STRH r7,[sp,#6]
;;;114 WM_ITERATE_START(&r) {
000032 4668 MOV r0,sp
000034 f7fffffe BL WM__InitIVRSearch
000038 e007 B |L2.74|
|L2.58|
;;;115 #endif
;;;116 LCD_FillRect(x0,y0,x1,y1);
00003a 463b MOV r3,r7
00003c 4632 MOV r2,r6
00003e 4629 MOV r1,r5
000040 4620 MOV r0,r4
000042 f7fffffe BL LCD_FillRect
;;;117 #if GUI_WINSUPPORT
;;;118 } WM_ITERATE_END();
000046 f7fffffe BL WM__GetNextIVR
|L2.74|
00004a 2800 CMP r0,#0
00004c d1f5 BNE |L2.58|
;;;119 #endif
;;;120 LCD_SetDrawMode(PrevDraw);
00004e 4640 MOV r0,r8
000050 f7fffffe BL LCD_SetDrawMode
;;;121 GUI_UNLOCK();
;;;122 }
000054 e8bd81fc POP {r2-r8,pc}
;;;123
ENDP
|L2.88|
DCD ||.bss||
AREA ||i.GUI_Init||, CODE, READONLY, ALIGN=2
GUI_Init PROC
;;;139 */
;;;140 int GUI_Init(void) {
000000 b570 PUSH {r4-r6,lr}
;;;141 int r;
;;;142 GUI_DEBUG_LOG("\nGUI_Init()");
;;;143 /* Init system wide globals first */
;;;144 GUI_DecChar = '.';
000002 4917 LDR r1,|L3.96|
000004 202e MOVS r0,#0x2e
000006 7008 STRB r0,[r1,#0]
;;;145 GUI_X_Init();
000008 f7fffffe BL GUI_X_Init
00000c 4815 LDR r0,|L3.100|
00000e 4c16 LDR r4,|L3.104|
000010 6800 LDR r0,[r0,#0] ; LCD_aAPI
000012 1d25 ADDS r5,r4,#4
000014 6125 STR r5,[r4,#0x10]
000016 64a0 STR r0,[r4,#0x48]
000018 1d20 ADDS r0,r4,#4
00001a f7fffffe BL LCD_L0_GetRect
00001e 4813 LDR r0,|L3.108|
000020 65a0 STR r0,[r4,#0x58]
000022 4813 LDR r0,|L3.112|
000024 6125 STR r5,[r4,#0x10]
000026 61a0 STR r0,[r4,#0x18]
000028 2001 MOVS r0,#1
00002a 7520 STRB r0,[r4,#0x14]
00002c f7fffffe BL WM_GetDesktopWindow
000030 87a0 STRH r0,[r4,#0x3c]
000032 2003 MOVS r0,#3
000034 f884005c STRB r0,[r4,#0x5c]
000038 f06f4070 MVN r0,#0xf0000000
00003c 6320 STR r0,[r4,#0x30]
00003e 6360 STR r0,[r4,#0x34]
000040 2000 MOVS r0,#0
000042 f7fffffe BL LCD_SetBkColor
000046 f06f407f MVN r0,#0xff000000
00004a f7fffffe BL LCD_SetColor
00004e 4809 LDR r0,|L3.116|
;;;146 /* Init context */
;;;147 _InitContext(&GUI_Context);
;;;148 GUITASK_INIT();
;;;149 r = LCD_Init();
000050 61e0 STR r0,[r4,#0x1c]
000052 f7fffffe BL LCD_Init
000056 4604 MOV r4,r0
;;;150 #if GUI_WINSUPPORT
;;;151 WM_Init();
000058 f7fffffe BL WM_Init
;;;152 #endif
;;;153 GUITASK_COPY_CONTEXT();
;;;154 #if defined(GUI_TRIAL_VERSION)
;;;155 {
;;;156 int i;
;;;157 for (i = 0; i < 10; i++) {
;;;158 GUI_DispString("This uC-GUI library\n"
;;;159 "is for evaluation\n"
;;;160 "purpose only.\n"
;;;161 "A license is\n"
;;;162 "required to use\n"
;;;163 "it in a product\n\n"
;;;164 "www.micrium.com\n");
;;;165 GUI_GotoXY(0, 0);
;;;166 }
;;;167 }
;;;168 GUI_Clear();
;;;169 #endif
;;;170 return r;
00005c 4620 MOV r0,r4
;;;171 }
00005e bd70 POP {r4-r6,pc}
;;;172
ENDP
|L3.96|
DCD ||.data||
|L3.100|
DCD LCD_aAPI
|L3.104|
DCD ||.bss||
|L3.108|
DCD ||.constdata||
|L3.112|
DCD GUI_Font6x8
|L3.116|
DCD GUI__API_TableNone
AREA ||.bss||, DATA, NOINIT, ALIGN=2
GUI_Context
% 96
AREA ||.constdata||, DATA, READONLY, ALIGN=2
_HL_APIList
DCD LCD_DrawHLine
DCD LCD_DrawPixel
AREA ||.data||, DATA, ALIGN=0
GUI_DecChar
000000 00 DCB 0x00
AREA ||area_number.9||, DATA, ALIGN=2
EXPORTAS ||area_number.9||, ||.data||
GUI_pfTimerExec
DCD 0x00000000
AREA ||area_number.10||, DATA, ALIGN=2
EXPORTAS ||area_number.10||, ||.data||
WM_pfHandlePID
DCD 0x00000000
AREA ||area_number.11||, DATA, ALIGN=2
EXPORTAS ||area_number.11||, ||.data||
GUI_pfDispCharStyle
DCD 0x00000000
AREA ||area_number.12||, DATA, ALIGN=2
EXPORTAS ||area_number.12||, ||.data||
GUI_pLCD_APIList
DCD 0x00000000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -