memdev_memdev.txt

来自「STM32F103ZET6+UCOSII+UCGUI源码」· 文本 代码 · 共 272 行

TXT
272
字号
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\memdev_memdev.o --depend=.\Obj\memdev_memdev.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 -D__MICROLIB ..\..\source\memdev_memdev.c]
                          THUMB

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

                  _Draw PROC
;;;36     */
;;;37     static void _Draw(int Delay) {
000000  b570              PUSH     {r4-r6,lr}
000002  4605              MOV      r5,r0
;;;38       GUI_SetPenSize(5);
000004  2005              MOVS     r0,#5
000006  f7fff7ff          BL       GUI_SetPenSize
;;;39       GUI_SetColor(GUI_RED);
00000a  20ff              MOVS     r0,#0xff
00000c  f7fff7ff          BL       GUI_SetColor
;;;40       GUI_DrawLine(Rect.x0 + 3, Rect.y0 + 3, Rect.x1 - 3, Rect.y1 - 3);
000010  4c1d              LDR      r4,|L1.136|
000012  f9b4f9b4          LDRSH    r3,[r4,#6]  ; Rect
000016  f9b4f9b4          LDRSH    r2,[r4,#4]  ; Rect
00001a  f9b4f9b4          LDRSH    r1,[r4,#2]  ; Rect
00001e  f9b4f9b4          LDRSH    r0,[r4,#0]  ; Rect
000022  1edb              SUBS     r3,r3,#3
000024  1ed2              SUBS     r2,r2,#3
000026  1cc9              ADDS     r1,r1,#3
000028  1cc0              ADDS     r0,r0,#3
00002a  f7fff7ff          BL       GUI_DrawLine
;;;41       GUI_Delay(Delay);
00002e  4628              MOV      r0,r5
000030  f7fff7ff          BL       GUI_Delay
;;;42       GUI_SetColor(GUI_GREEN);
000034  f44ff44f          MOV      r0,#0xff00
000038  f7fff7ff          BL       GUI_SetColor
;;;43       GUI_DrawLine(Rect.x0 + 3, Rect.y1 - 3, Rect.x1 - 3, Rect.y0 + 3);
00003c  f9b4f9b4          LDRSH    r3,[r4,#2]  ; Rect
000040  f9b4f9b4          LDRSH    r2,[r4,#4]  ; Rect
000044  f9b4f9b4          LDRSH    r1,[r4,#6]  ; Rect
000048  f9b4f9b4          LDRSH    r0,[r4,#0]  ; Rect
00004c  1cdb              ADDS     r3,r3,#3
00004e  1ed2              SUBS     r2,r2,#3
000050  1ec9              SUBS     r1,r1,#3
000052  1cc0              ADDS     r0,r0,#3
000054  f7fff7ff          BL       GUI_DrawLine
;;;44       GUI_Delay(Delay);
000058  4628              MOV      r0,r5
00005a  f7fff7ff          BL       GUI_Delay
;;;45       GUI_SetColor(GUI_WHITE);
00005e  f06ff06f          MVN      r0,#0xff000000
000062  f7fff7ff          BL       GUI_SetColor
;;;46       GUI_SetFont(&GUI_FontComic24B_ASCII);
000066  4809              LDR      r0,|L1.140|
000068  f7fff7ff          BL       GUI_SetFont
;;;47       GUI_SetTextMode(GUI_TM_TRANS);
00006c  2002              MOVS     r0,#2
00006e  f7fff7ff          BL       GUI_SetTextMode
;;;48       GUI_DispStringInRect("Closed", &Rect, GUI_TA_HCENTER | GUI_TA_VCENTER);
000072  220e              MOVS     r2,#0xe
000074  4621              MOV      r1,r4
000076  a006              ADR      r0,|L1.144|
000078  f7fff7ff          BL       GUI_DispStringInRect
;;;49       GUI_Delay(Delay);
00007c  4628              MOV      r0,r5
00007e  e8bde8bd          POP      {r4-r6,lr}
000082  f7fff7ff          B.W      GUI_Delay
;;;50     }
;;;51     
                          ENDP

000086  0000              DCW      0x0000
                  |L1.136|
000088  00000000          DCD      ||.data||
                  |L1.140|
00008c  00000000          DCD      GUI_FontComic24B_ASCII
                  |L1.144|
000090  436c6f73          DCB      "Clos"
000094  65640000          DCB      "ed\0\0"

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

                  _DemoMemDev PROC
;;;55     */
;;;56     static void _DemoMemDev(void) {
000000  e92de92d          PUSH     {r4-r8,lr}
;;;57       GUI_MEMDEV_Handle hMem;
;;;58       int i;
;;;59       GUI_SetBkColor(GUI_BLACK);
000004  2000              MOVS     r0,#0
000006  f7fff7ff          BL       GUI_SetBkColor
;;;60       GUI_Clear();
00000a  f7fff7ff          BL       GUI_Clear
;;;61       GUI_SetColor(GUI_WHITE);
00000e  f06ff06f          MVN      r0,#0xff000000
000012  f7fff7ff          BL       GUI_SetColor
;;;62       GUI_SetFont(&GUI_Font24_ASCII);
000016  4835              LDR      r0,|L2.236|
000018  f7fff7ff          BL       GUI_SetFont
;;;63       GUI_DispStringHCenterAt("MEMDEV_MemDev - Sample", 160, 5);
00001c  2205              MOVS     r2,#5
00001e  21a0              MOVS     r1,#0xa0
000020  a033              ADR      r0,|L2.240|
000022  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;64       GUI_SetFont(&GUI_Font8x16);
000026  4838              LDR      r0,|L2.264|
000028  f7fff7ff          BL       GUI_SetFont
;;;65       GUI_DispStringHCenterAt("Shows the advantage of using a\nmemorydevice", 160,50);
00002c  2232              MOVS     r2,#0x32
00002e  21a0              MOVS     r1,#0xa0
000030  a036              ADR      r0,|L2.268|
000032  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;66       GUI_SetFont(&GUI_Font8_1);
000036  4840              LDR      r0,|L2.312|
000038  f7fff7ff          BL       GUI_SetFont
;;;67       GUI_DispStringHCenterAt("Draws the picture\nwithout a\nmemory device", 50, 90);
00003c  225a              MOVS     r2,#0x5a
00003e  2132              MOVS     r1,#0x32
000040  a03e              ADR      r0,|L2.316|
000042  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;68       GUI_DispStringHCenterAt("Draws the picture\nusing a\nmemory device", 270, 90);
000046  225a              MOVS     r2,#0x5a
000048  f44ff44f          MOV      r1,#0x10e
00004c  a046              ADR      r0,|L2.360|
00004e  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;69       /* Create the memory device */
;;;70       hMem = GUI_MEMDEV_Create(Rect.x0, Rect.y0, Rect.x1 - Rect.x0, Rect.y1 - Rect.y0);
000052  4d4f              LDR      r5,|L2.400|
000054  f9b5f9b5          LDRSH    r0,[r5,#6]  ; Rect
000058  f9b5f9b5          LDRSH    r1,[r5,#2]  ; Rect
00005c  f9b5f9b5          LDRSH    r2,[r5,#4]  ; Rect
000060  1a43              SUBS     r3,r0,r1
000062  f9b5f9b5          LDRSH    r0,[r5,#0]  ; Rect
000066  1a12              SUBS     r2,r2,r0
000068  f7fff7ff          BL       GUI_MEMDEV_Create
00006c  4606              MOV      r6,r0
;;;71       /* Routes the drawing operations to the memory device */
;;;72       GUI_MEMDEV_Select(hMem);
00006e  f7fff7ff          BL       GUI_MEMDEV_Select
;;;73       _Draw(0);
000072  2000              MOVS     r0,#0
000074  f7fff7ff          BL       _Draw
;;;74       /* Routes the drawing operations to the LCD */
;;;75       GUI_MEMDEV_Select(0);
000078  2000              MOVS     r0,#0
00007a  f7fff7ff          BL       GUI_MEMDEV_Select
                  |L2.126|
;;;76       while (1) {
;;;77         for (i = 0; i < 3; i++) {
00007e  2400              MOVS     r4,#0
                  |L2.128|
;;;78           GUI_Delay(250);
000080  20fa              MOVS     r0,#0xfa
000082  f7fff7ff          BL       GUI_Delay
;;;79           GUI_ClearRect(LCD_GetXSize() - Rect.x1, Rect.y0, LCD_GetXSize(), Rect.y1);
000086  f7fff7ff          BL       LCD_GetXSize
00008a  4607              MOV      r7,r0
00008c  f7fff7ff          BL       LCD_GetXSize
000090  f9b5f9b5          LDRSH    r1,[r5,#4]  ; Rect
000094  f9b5f9b5          LDRSH    r3,[r5,#6]  ; Rect
000098  1a40              SUBS     r0,r0,r1
00009a  f9b5f9b5          LDRSH    r1,[r5,#2]  ; Rect
00009e  463a              MOV      r2,r7
0000a0  f7fff7ff          BL       GUI_ClearRect
;;;80           GUI_Delay(250);
0000a4  20fa              MOVS     r0,#0xfa
0000a6  f7fff7ff          BL       GUI_Delay
;;;81           GUI_MEMDEV_CopyToLCDAt(hMem, LCD_GetXSize() - Rect.x1, Rect.y0);
0000aa  f7fff7ff          BL       LCD_GetXSize
0000ae  f9b5f9b5          LDRSH    r1,[r5,#4]  ; Rect
0000b2  f9b5f9b5          LDRSH    r2,[r5,#2]  ; Rect
0000b6  1a41              SUBS     r1,r0,r1
0000b8  4630              MOV      r0,r6
0000ba  f7fff7ff          BL       GUI_MEMDEV_CopyToLCDAt
0000be  1c64              ADDS     r4,r4,#1              ;77
0000c0  2c03              CMP      r4,#3                 ;77
0000c2  dbdd              BLT      |L2.128|
;;;82         }
;;;83         GUI_Delay(500);  
0000c4  f44ff44f          MOV      r0,#0x1f4
0000c8  f7fff7ff          BL       GUI_Delay
;;;84         /* Uses no memory device */
;;;85         _Draw(400);
0000cc  f44ff44f          MOV      r4,#0x190
0000d0  4620              MOV      r0,r4
0000d2  f7fff7ff          BL       _Draw
;;;86         GUI_Delay(400);
0000d6  4620              MOV      r0,r4
0000d8  f7fff7ff          BL       GUI_Delay
;;;87         GUI_ClearRect(0, 130, 319, 219);
0000dc  23db              MOVS     r3,#0xdb
0000de  f240f240          MOV      r2,#0x13f
0000e2  2182              MOVS     r1,#0x82
0000e4  2000              MOVS     r0,#0
0000e6  f7fff7ff          BL       GUI_ClearRect
0000ea  e7c8              B        |L2.126|
;;;88       }
;;;89       GUI_MEMDEV_Delete(hMem); /* Destroy memory device */
;;;90     }
;;;91     
                          ENDP

                  |L2.236|
0000ec  00000000          DCD      GUI_Font24_ASCII
                  |L2.240|
0000f0  4d454d44          DCB      "MEMD"
0000f4  45565f4d          DCB      "EV_M"
0000f8  656d4465          DCB      "emDe"
0000fc  76202d20          DCB      "v - "
000100  53616d70          DCB      "Samp"
000104  6c650000          DCB      "le\0\0"
                  |L2.264|
000108  00000000          DCD      GUI_Font8x16
                  |L2.268|
00010c  53686f77          DCB      "Show"
000110  73207468          DCB      "s th"
000114  65206164          DCB      "e ad"
000118  76616e74          DCB      "vant"
00011c  61676520          DCB      "age "
000120  6f662075          DCB      "of u"
000124  73696e67          DCB      "sing"
000128  20610a6d          DCB      " a\n\155"
00012c  656d6f72          DCB      "emor"
000130  79646576          DCB      "ydev"
000134  69636500          DCB      "ice\0"
                  |L2.312|
000138  00000000          DCD      GUI_Font8_1
                  |L2.316|
00013c  44726177          DCB      "Draw"
000140  73207468          DCB      "s th"
000144  65207069          DCB      "e pi"
000148  63747572          DCB      "ctur"
00014c  650a7769          DCB      "e\n\167\151"
000150  74686f75          DCB      "thou"
000154  7420610a          DCB      "t a\n"
000158  6d656d6f          DCB      "memo"
00015c  72792064          DCB      "ry d"
000160  65766963          DCB      "evic"
000164  65000000          DCB      "e\0\0\0"
                  |L2.360|
000168  44726177          DCB      "Draw"
00016c  73207468          DCB      "s th"
000170  65207069          DCB      "e pi"
000174  63747572          DCB      "ctur"
000178  650a7573          DCB      "e\n\165\163"
00017c  696e6720          DCB      "ing "
000180  610a6d65          DCB      "a\n\155\145"
000184  6d6f7279          DCB      "mory"
000188  20646576          DCB      " dev"
00018c  69636500          DCB      "ice\0"
                  |L2.400|
000190  00000000          DCD      ||.data||

                          AREA ||i.MainTask||, CODE, READONLY, ALIGN=1

                  MainTask PROC
;;;100    
;;;101    void MainTask(void) {
000000  b510              PUSH     {r4,lr}
;;;102      GUI_Init();
000002  f7fff7ff          BL       GUI_Init
;;;103      _DemoMemDev();
000006  e8bde8bd          POP      {r4,lr}
00000a  f7fff7ff          B.W      _DemoMemDev
;;;104    }
                          ENDP


                          AREA ||.data||, DATA, ALIGN=1

                  Rect
000000  00000082          DCW      0x0000,0x0082
000004  006400b4          DCW      0x0064,0x00b4

⌨️ 快捷键说明

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