memdev_drawgraph.txt
来自「STM32F103ZET6+UCOSII+UCGUI源码」· 文本 代码 · 共 742 行 · 第 1/3 页
TXT
742 行
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\memdev_drawgraph.o --depend=.\Obj\memdev_drawgraph.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 ..\..\source\memdev_drawgraph.c]
THUMB
AREA ||i.MainTask||, CODE, READONLY, ALIGN=2
MainTask PROC
;;;281
;;;282 void MainTask(void) {
000000 b510 PUSH {r4,lr}
;;;283 GUI_Init();
000002 f7fffffe BL GUI_Init
;;;284 _Label();
000006 f7fffffe BL _Label
;;;285 while(1) {
;;;286 _DemoRandomGraph();
00000a bf00 NOP
|L1.12|
00000c f7fffffe BL _DemoRandomGraph
;;;287 _DemoSineWave();
000010 f7fffffe BL _DemoSineWave
;;;288 _DemoOrData();
000014 f7fffffe BL _DemoOrData
000018 e7f8 B |L1.12|
;;;289 }
;;;290 }
ENDP
AREA ||i._DemoOrData||, CODE, READONLY, ALIGN=2
_DemoOrData PROC
;;;252 */
;;;253 static void _DemoOrData(void) {
000000 e92d41ff PUSH {r0-r8,lr}
;;;254 int i;
;;;255 PARAM Param;
;;;256 GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
000004 4825 LDR r0,|L2.156|
000006 6941 LDR r1,[r0,#0x14] ; <Data3>
000008 6900 LDR r0,[r0,#0x10] ; <Data3>
;;;257 GUI_HMEM hMem = GUI_ALLOC_AllocZero(405 * sizeof(I16));
00000a e9cd0101 STRD r0,r1,[sp,#4]
00000e f240302a MOV r0,#0x32a
000012 f7fffffe BL GUI_ALLOC_AllocZero
000016 4680 MOV r8,r0
;;;258 GUI_SetColor(GUI_WHITE);
000018 f06f407f MVN r0,#0xff000000
00001c f7fffffe BL GUI_SetColor
;;;259 GUI_SetBkColor(GUI_RED);
000020 20ff MOVS r0,#0xff
000022 f7fffffe BL GUI_SetBkColor
;;;260 GUI_ClearRect(0, 55, LCD_XSIZE, 75);
000026 234b MOVS r3,#0x4b
000028 f44f72a0 MOV r2,#0x140
00002c 2137 MOVS r1,#0x37
00002e 2000 MOVS r0,#0
000030 f7fffffe BL GUI_ClearRect
;;;261 GUI_SetFont(&GUI_FontComic18B_1);
000034 481a LDR r0,|L2.160|
000036 f7fffffe BL GUI_SetFont
;;;262 GUI_DispStringAt("Several waves...", 20 ,55);
00003a 2237 MOVS r2,#0x37
00003c 2114 MOVS r1,#0x14
00003e a019 ADR r0,|L2.164|
000040 f7fffffe BL GUI_DispStringAt
;;;263 Param.aY = GUI_ALLOC_h2p(hMem);
000044 4640 MOV r0,r8
000046 f7fffffe BL GUI_ALLOC_h2p
;;;264 _GetSineData(Param.aY, 405);
00004a f2401195 MOV r1,#0x195
00004e 9003 STR r0,[sp,#0xc]
000050 f7fffffe BL _GetSineData
;;;265 GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, 0);
000054 2300 MOVS r3,#0
000056 aa03 ADD r2,sp,#0xc
000058 4917 LDR r1,|L2.184|
00005a a801 ADD r0,sp,#4
00005c 9300 STR r3,[sp,#0]
00005e f7fffffe BL GUI_MEMDEV_Draw
;;;266 for (i = 0; (i < 90); i++) {
000062 2400 MOVS r4,#0
000064 f44f467f MOV r6,#0xff00
000068 f44f7796 MOV r7,#0x12c
|L2.108|
;;;267 _DrawOrData(GUI_GREEN, ++Param.aY);
00006c 9d03 LDR r5,[sp,#0xc]
00006e 4630 MOV r0,r6
000070 1cad ADDS r5,r5,#2
000072 9503 STR r5,[sp,#0xc]
000074 f7fffffe BL GUI_SetColor
000078 2350 MOVS r3,#0x50
00007a 2213 MOVS r2,#0x13
00007c 4639 MOV r1,r7
00007e 4628 MOV r0,r5
000080 f7fffffe BL GUI_DrawGraph
;;;268 GUI_Delay(10);
000084 200a MOVS r0,#0xa
000086 f7fffffe BL GUI_Delay
00008a 1c64 ADDS r4,r4,#1 ;266
00008c 2c5a CMP r4,#0x5a ;266
00008e dbed BLT |L2.108|
;;;269 }
;;;270 GUI_ALLOC_Free(hMem);
000090 4640 MOV r0,r8
000092 f7fffffe BL GUI_ALLOC_Free
;;;271 }
000096 e8bd81ff POP {r0-r8,pc}
;;;272
ENDP
00009a 0000 DCW 0x0000
|L2.156|
DCD ||.constdata||
|L2.160|
DCD GUI_FontComic18B_1
|L2.164|
0000a4 5365766572616c2077617665732e2e2e00 DCB "Several waves...",0
0000b5 00 DCB 0
0000b6 00 DCB 0
0000b7 00 DCB 0
|L2.184|
DCD _Draw
AREA ||i._DemoRandomGraph||, CODE, READONLY, ALIGN=2
_DemoRandomGraph PROC
;;;163 */
;;;164 static void _DemoRandomGraph(void) {
000000 e92d41ff PUSH {r0-r8,lr}
;;;165 PARAM Param;
;;;166 int tDiff, t0;
;;;167 GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
000004 4829 LDR r0,|L3.172|
000006 c803 LDM r0,{r0,r1}
;;;168 GUI_HMEM hMem = GUI_ALLOC_AllocZero((LCD_XSIZE - 20) * sizeof(I16));
000008 e9cd0101 STRD r0,r1,[sp,#4]
00000c f44f7016 MOV r0,#0x258
000010 f7fffffe BL GUI_ALLOC_AllocZero
000014 4680 MOV r8,r0
;;;169 GUI_SetColor(GUI_WHITE);
000016 f06f407f MVN r0,#0xff000000
00001a f7fffffe BL GUI_SetColor
;;;170 GUI_SetBkColor(GUI_RED);
00001e 20ff MOVS r0,#0xff
000020 f7fffffe BL GUI_SetBkColor
;;;171 GUI_ClearRect(0, 55, LCD_XSIZE, 75);
000024 234b MOVS r3,#0x4b
000026 f44f72a0 MOV r2,#0x140
00002a 2137 MOVS r1,#0x37
00002c 2000 MOVS r0,#0
00002e f7fffffe BL GUI_ClearRect
;;;172 GUI_SetFont(&GUI_FontComic18B_1);
000032 481f LDR r0,|L3.176|
000034 f7fffffe BL GUI_SetFont
;;;173 GUI_DispStringAt("Random graph", 20, 55);
000038 2237 MOVS r2,#0x37
00003a 2114 MOVS r1,#0x14
00003c a01d ADR r0,|L3.180|
00003e f7fffffe BL GUI_DispStringAt
;;;174 GUI_Lock();
000042 f7fffffe BL GUI_Lock
;;;175 Param.aY = GUI_ALLOC_h2p(hMem);
000046 4640 MOV r0,r8
000048 f7fffffe BL GUI_ALLOC_h2p
;;;176 GUI_SetFont(&GUI_Font6x8);
00004c 9003 STR r0,[sp,#0xc]
00004e 481d LDR r0,|L3.196|
000050 f7fffffe BL GUI_SetFont
;;;177 t0 = GUI_GetTime();
000054 f7fffffe BL GUI_GetTime
000058 4604 MOV r4,r0
;;;178 while((tDiff = (GUI_GetTime() - t0)) < 10000) {
;;;179 int t1, tDiff2;
;;;180 _GetRandomData(Param.aY, tDiff, (LCD_XSIZE - 20));
00005a f44f7696 MOV r6,#0x12c
00005e f2427510 MOV r5,#0x2710 ;178
;;;181 t1 = GUI_GetTime();
;;;182 GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, 0);
;;;183 tDiff2 = GUI_GetTime() - t1;
;;;184 if (tDiff2 < 100) {
;;;185 GUI_Delay(100 - tDiff2);
;;;186 }
;;;187 }
000062 e016 B |L3.146|
|L3.100|
000064 4632 MOV r2,r6 ;180
000066 9803 LDR r0,[sp,#0xc] ;180
000068 f7fffffe BL _GetRandomData
00006c f7fffffe BL GUI_GetTime
000070 4607 MOV r7,r0 ;181
000072 2300 MOVS r3,#0 ;182
000074 aa03 ADD r2,sp,#0xc ;182
000076 4914 LDR r1,|L3.200|
000078 a801 ADD r0,sp,#4 ;182
00007a 9300 STR r3,[sp,#0] ;182
00007c f7fffffe BL GUI_MEMDEV_Draw
000080 f7fffffe BL GUI_GetTime
000084 1bc1 SUBS r1,r0,r7 ;183
000086 2964 CMP r1,#0x64 ;184
000088 da03 BGE |L3.146|
00008a f1c10064 RSB r0,r1,#0x64 ;185
00008e f7fffffe BL GUI_Delay
|L3.146|
000092 f7fffffe BL GUI_GetTime
000096 1b01 SUBS r1,r0,r4 ;178
000098 42a9 CMP r1,r5 ;178
00009a dbe3 BLT |L3.100|
;;;188 GUI_Unlock();
00009c f7fffffe BL GUI_Unlock
;;;189 GUI_ALLOC_Free(hMem);
0000a0 4640 MOV r0,r8
0000a2 f7fffffe BL GUI_ALLOC_Free
;;;190 }
0000a6 e8bd81ff POP {r0-r8,pc}
;;;191
ENDP
0000aa 0000 DCW 0x0000
|L3.172|
DCD ||.constdata||
|L3.176|
DCD GUI_FontComic18B_1
|L3.180|
0000b4 52616e646f6d20677261706800 DCB "Random graph",0
0000c1 00 DCB 0
0000c2 00 DCB 0
0000c3 00 DCB 0
|L3.196|
DCD GUI_Font6x8
|L3.200|
DCD _Draw
AREA ||i._DemoSineWave||, CODE, READONLY, ALIGN=2
_DemoSineWave PROC
;;;207 */
;;;208 static void _DemoSineWave(void) {
000000 e92d47ff PUSH {r0-r10,lr}
;;;209 PARAM Param;
;;;210 I16 * pStart;
;;;211 int t0, Cnt = 0;
;;;212 GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
000004 482d LDR r0,|L4.188|
000006 2400 MOVS r4,#0 ;211
000008 68c1 LDR r1,[r0,#0xc] ; <Data2>
00000a 6880 LDR r0,[r0,#8] ; <Data2>
;;;213 GUI_HMEM hMem = GUI_ALLOC_AllocZero(405 * sizeof(I16));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?