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