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 + -
显示快捷键?