📄 aa_lines.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\aa_lines.o --depend=.\Obj\aa_lines.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\aa_lines.c]
THUMB
AREA ||i._DemoAntialiasing||, CODE, READONLY, ALIGN=2
_DemoAntialiasing PROC
;;;29 */
;;;30 static void _DemoAntialiasing(void) {
000000 e92de92d PUSH {r4-r10,lr}
;;;31 int i, x1, x2, y1, y2;
;;;32 const GUI_FONT *font_old;
;;;33 y1 = 65;
000004 2541 MOVS r5,#0x41
;;;34 y2 = 5;
000006 2605 MOVS r6,#5
;;;35 /* Set drawing attributes */
;;;36 GUI_SetColor(GUI_WHITE);
000008 f06ff06f MVN r0,#0xff000000
00000c f7fff7ff BL GUI_SetColor
;;;37 GUI_SetBkColor(GUI_BLACK);
000010 2000 MOVS r0,#0
000012 f7fff7ff BL GUI_SetBkColor
;;;38 GUI_SetPenShape(GUI_PS_FLAT);
000016 2001 MOVS r0,#1
000018 f7fff7ff BL GUI_SetPenShape
;;;39 GUI_Clear();
00001c f7fff7ff BL GUI_Clear
;;;40 /* draw headline */
;;;41 font_old = GUI_SetFont(&GUI_Font24_ASCII);
000020 4856 LDR r0,|L1.380|
000022 f7fff7ff BL GUI_SetFont
000026 4680 MOV r8,r0
;;;42 GUI_SetTextAlign(GUI_TA_HCENTER);
000028 2002 MOVS r0,#2
00002a f7fff7ff BL GUI_SetTextAlign
;;;43 GUI_DispStringAt("AA_Lines - Sample", 160, 5);
00002e 2205 MOVS r2,#5
000030 21a0 MOVS r1,#0xa0
000032 a053 ADR r0,|L1.384|
000034 f7fff7ff BL GUI_DispStringAt
;;;44 /* Draw lines without antialiased */
;;;45 GUI_Delay(1000);
000038 f44ff44f MOV r0,#0x3e8
00003c f7fff7ff BL GUI_Delay
;;;46 GUI_SetFont(&GUI_Font8x16);
000040 4854 LDR r0,|L1.404|
000042 f7fff7ff BL GUI_SetFont
;;;47 GUI_SetTextAlign(GUI_TA_LEFT);
000046 2000 MOVS r0,#0
000048 f7fff7ff BL GUI_SetTextAlign
;;;48 GUI_DispStringAtCEOL("draw normal lines using", 5, 40);
00004c 2228 MOVS r2,#0x28
00004e 2105 MOVS r1,#5
000050 a051 ADR r0,|L1.408|
000052 f7fff7ff BL GUI_DispStringAtCEOL
;;;49 GUI_DispStringAtCEOL("GUI_DrawLine", 5, 55);
000056 2237 MOVS r2,#0x37
000058 2105 MOVS r1,#5
00005a a055 ADR r0,|L1.432|
00005c f7fff7ff BL GUI_DispStringAtCEOL
;;;50 GUI_Delay(2500);
000060 f640f640 MOV r0,#0x9c4
000064 f7fff7ff BL GUI_Delay
;;;51 x1 = 20;
000068 2714 MOVS r7,#0x14
;;;52 x2 = 100;
00006a f04ff04f MOV r9,#0x64
;;;53 GUI_SetFont(font_old);
00006e 4640 MOV r0,r8
000070 f7fff7ff BL GUI_SetFont
;;;54 GUI_DispStringHCenterAt("Normal", (x1 + x2) / 2, 30 + y1);
000074 213c MOVS r1,#0x3c
000076 225f MOVS r2,#0x5f
000078 a051 ADR r0,|L1.448|
00007a f7fff7ff BL GUI_DispStringHCenterAt
;;;55 for (i = 1; i < 8; i++) {
00007e 2401 MOVS r4,#1
|L1.128|
;;;56 GUI_SetPenSize(i);
000080 b2e0 UXTB r0,r4
000082 f7fff7ff BL GUI_SetPenSize
;;;57 GUI_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2);
000086 ebc4ebc4 RSB r0,r4,r4,LSL #4
00008a 1941 ADDS r1,r0,r5
00008c 198b ADDS r3,r1,r6
00008e 3328 ADDS r3,r3,#0x28
000090 3128 ADDS r1,r1,#0x28
000092 464a MOV r2,r9
000094 4638 MOV r0,r7
000096 f7fff7ff BL GUI_DrawLine
00009a 1c64 ADDS r4,r4,#1 ;55
00009c 2c08 CMP r4,#8 ;55
00009e dbef BLT |L1.128|
;;;58 }
;;;59 /* Draw lines with antialiasing quality factor 2 */
;;;60 GUI_Delay(3000);
0000a0 f640f640 MOV r0,#0xbb8
0000a4 f7fff7ff BL GUI_Delay
;;;61 GUI_SetFont(&GUI_Font8x16);
0000a8 483a LDR r0,|L1.404|
0000aa f7fff7ff BL GUI_SetFont
;;;62 GUI_DispStringAtCEOL("", 5, 40);
0000ae 2228 MOVS r2,#0x28
0000b0 2105 MOVS r1,#5
0000b2 a042 ADR r0,|L1.444|
0000b4 f7fff7ff BL GUI_DispStringAtCEOL
;;;63 GUI_DispStringAtCEOL("", 5, 55);
0000b8 2237 MOVS r2,#0x37
0000ba 2105 MOVS r1,#5
0000bc a03f ADR r0,|L1.444|
0000be f7fff7ff BL GUI_DispStringAtCEOL
;;;64 GUI_Delay(200);
0000c2 20c8 MOVS r0,#0xc8
0000c4 f7fff7ff BL GUI_Delay
;;;65 GUI_DispStringAtCEOL("draw antialiased lines using", 5, 40);
0000c8 2228 MOVS r2,#0x28
0000ca 2105 MOVS r1,#5
0000cc a03e ADR r0,|L1.456|
0000ce f7fff7ff BL GUI_DispStringAtCEOL
;;;66 GUI_DispStringAtCEOL("GUI_AA_DrawLine", 5, 55);
0000d2 2237 MOVS r2,#0x37
0000d4 2105 MOVS r1,#5
0000d6 a044 ADR r0,|L1.488|
0000d8 f7fff7ff BL GUI_DispStringAtCEOL
;;;67 GUI_Delay(3500);
0000dc f640f640 MOV r0,#0xdac
0000e0 f7fff7ff BL GUI_Delay
;;;68 x1 = 120;
0000e4 2778 MOVS r7,#0x78
;;;69 x2 = 200;
0000e6 f04ff04f MOV r9,#0xc8
;;;70 GUI_AA_SetFactor(2);
0000ea 2002 MOVS r0,#2
0000ec f7fff7ff BL GUI_AA_SetFactor
;;;71 GUI_SetFont(font_old);
0000f0 4640 MOV r0,r8
0000f2 f7fff7ff BL GUI_SetFont
;;;72 GUI_DispStringHCenterAt("Antialiased\nusing factor 2", (x1 + x2) / 2, 30 + y1);
0000f6 f105f105 ADD r2,r5,#0x1e
0000fa 21a0 MOVS r1,#0xa0
0000fc 4692 MOV r10,r2
0000fe a03e ADR r0,|L1.504|
000100 f7fff7ff BL GUI_DispStringHCenterAt
;;;73 for (i = 1; i < 8; i++) {
000104 2401 MOVS r4,#1
|L1.262|
;;;74 GUI_SetPenSize(i);
000106 b2e0 UXTB r0,r4
000108 f7fff7ff BL GUI_SetPenSize
;;;75 GUI_AA_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2);
00010c ebc4ebc4 RSB r0,r4,r4,LSL #4
000110 1941 ADDS r1,r0,r5
000112 198b ADDS r3,r1,r6
000114 3328 ADDS r3,r3,#0x28
000116 3128 ADDS r1,r1,#0x28
000118 464a MOV r2,r9
00011a 4638 MOV r0,r7
00011c f7fff7ff BL GUI_AA_DrawLine
000120 1c64 ADDS r4,r4,#1 ;73
000122 2c08 CMP r4,#8 ;73
000124 dbef BLT |L1.262|
;;;76 }
;;;77 /* Draw lines with antialiasing quality factor 6 */
;;;78 GUI_Delay(1500);
000126 f240f240 MOV r0,#0x5dc
00012a f7fff7ff BL GUI_Delay
;;;79 x1 = 220;
00012e 27dc MOVS r7,#0xdc
;;;80 x2 = 300;
000130 f44ff44f MOV r9,#0x12c
;;;81 GUI_AA_SetFactor(6);
000134 2006 MOVS r0,#6
000136 f7fff7ff BL GUI_AA_SetFactor
;;;82 GUI_SetFont(font_old);
00013a 4640 MOV r0,r8
00013c f7fff7ff BL GUI_SetFont
;;;83 GUI_DispStringHCenterAt("Antialiased\nusing factor 6", (x1 + x2) / 2, 30 + y1);
000140 f44ff44f MOV r1,#0x104
000144 4652 MOV r2,r10
000146 a033 ADR r0,|L1.532|
000148 f7fff7ff BL GUI_DispStringHCenterAt
;;;84 for (i = 1; i < 8; i++) {
00014c 2401 MOVS r4,#1
|L1.334|
;;;85 GUI_SetPenSize(i);
00014e b2e0 UXTB r0,r4
000150 f7fff7ff BL GUI_SetPenSize
;;;86 GUI_AA_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2);
000154 ebc4ebc4 RSB r0,r4,r4,LSL #4
000158 1941 ADDS r1,r0,r5
00015a 198b ADDS r3,r1,r6
00015c 3328 ADDS r3,r3,#0x28
00015e 3128 ADDS r1,r1,#0x28
000160 464a MOV r2,r9
000162 4638 MOV r0,r7
000164 f7fff7ff BL GUI_AA_DrawLine
000168 1c64 ADDS r4,r4,#1 ;84
00016a 2c08 CMP r4,#8 ;84
00016c dbef BLT |L1.334|
;;;87 }
;;;88 GUI_Delay(7500);
00016e e8bde8bd POP {r4-r10,lr}
000172 f641f641 MOV r0,#0x1d4c
000176 f7fff7ff B.W GUI_Delay
;;;89 }
;;;90
ENDP
00017a 0000 DCW 0x0000
|L1.380|
00017c 00000000 DCD GUI_Font24_ASCII
|L1.384|
000180 41415f4c DCB "AA_L"
000184 696e6573 DCB "ines"
000188 202d2053 DCB " - S"
00018c 616d706c DCB "ampl"
000190 65000000 DCB "e\0\0\0"
|L1.404|
000194 00000000 DCD GUI_Font8x16
|L1.408|
000198 64726177 DCB "draw"
00019c 206e6f72 DCB " nor"
0001a0 6d616c20 DCB "mal "
0001a4 6c696e65 DCB "line"
0001a8 73207573 DCB "s us"
0001ac 696e6700 DCB "ing\0"
|L1.432|
0001b0 4755495f DCB "GUI_"
0001b4 44726177 DCB "Draw"
0001b8 4c696e65 DCB "Line"
|L1.444|
0001bc 00000000 DCB "\0\0\0\0"
|L1.448|
0001c0 4e6f726d DCB "Norm"
0001c4 616c0000 DCB "al\0\0"
|L1.456|
0001c8 64726177 DCB "draw"
0001cc 20616e74 DCB " ant"
0001d0 69616c69 DCB "iali"
0001d4 61736564 DCB "ased"
0001d8 206c696e DCB " lin"
0001dc 65732075 DCB "es u"
0001e0 73696e67 DCB "sing"
0001e4 00000000 DCB "\0\0\0\0"
|L1.488|
0001e8 4755495f DCB "GUI_"
0001ec 41415f44 DCB "AA_D"
0001f0 7261774c DCB "rawL"
0001f4 696e6500 DCB "ine\0"
|L1.504|
0001f8 416e7469 DCB "Anti"
0001fc 616c6961 DCB "alia"
000200 7365640a DCB "sed\n"
000204 7573696e DCB "usin"
000208 67206661 DCB "g fa"
00020c 63746f72 DCB "ctor"
000210 20320000 DCB " 2\0\0"
|L1.532|
000214 416e7469 DCB "Anti"
000218 616c6961 DCB "alia"
00021c 7365640a DCB "sed\n"
000220 7573696e DCB "usin"
000224 67206661 DCB "g fa"
000228 63746f72 DCB "ctor"
00022c 20360000 DCB " 6\0\0"
AREA ||i.MainTask||, CODE, READONLY, ALIGN=2
MainTask PROC
;;;99
;;;100 void MainTask(void) {
000000 b510 PUSH {r4,lr}
;;;101 GUI_Init();
000002 f7fff7ff BL GUI_Init
;;;102 while (1) {
;;;103 _DemoAntialiasing();
000006 bf00 NOP
|L2.8|
000008 f7fff7ff BL _DemoAntialiasing
00000c e7fc B |L2.8|
;;;104 }
;;;105 }
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -