📄 guiaachar2.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guiaachar2.o --depend=.\Obj\guiaachar2.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 ..\..\GUI\AntiAlias\GUIAAChar2.c]
THUMB
AREA ||i.DrawNoTrans||, CODE, READONLY, ALIGN=2
DrawNoTrans PROC
;;;61 */
;;;62 static void DrawNoTrans(int x0, int y0, int XSize, int YSize, int BytesPerLine, const U8*pData) {
000000 e92d5fff PUSH {r0-r12,lr}
000004 4693 MOV r11,r2
;;;63 if ((OldColorIndex != LCD_COLORINDEX) ||
000006 481f LDR r0,|L1.132|
000008 4d1f LDR r5,|L1.136|
00000a 4a1e LDR r2,|L1.132|
00000c 8840 LDRH r0,[r0,#2] ; GUI_Context
00000e 8829 LDRH r1,[r5,#0] ; OldColorIndex
;;;64 (OldBkColorIndex != LCD_BKCOLORINDEX)) {
000010 8817 LDRH r7,[r2,#0]
000012 4288 CMP r0,r1 ;63
000014 d102 BNE |L1.28|
000016 8869 LDRH r1,[r5,#2] ; OldBkColorIndex
000018 428f CMP r7,r1
00001a d022 BEQ |L1.98|
|L1.28|
;;;65 int i;
;;;66 LCD_PIXELINDEX BkColorIndex = LCD_BKCOLORINDEX;
;;;67 LCD_PIXELINDEX ColorIndex = LCD_COLORINDEX;
00001c 4680 MOV r8,r0
;;;68 LCD_COLOR BkColor = LCD_Index2Color(BkColorIndex);
00001e 4638 MOV r0,r7
000020 f7fffffe BL LCD_Index2Color
000024 4682 MOV r10,r0
;;;69 LCD_COLOR Color = LCD_Index2Color(ColorIndex);
000026 4640 MOV r0,r8
000028 f7fffffe BL LCD_Index2Color
;;;70 aColor[0] = BkColor;
00002c 4e17 LDR r6,|L1.140|
00002e 4681 MOV r9,r0 ;69
;;;71 for (i = 1; i < 3; i++) {
000030 2401 MOVS r4,#1
000032 f8c6a000 STR r10,[r6,#0] ; aColor
;;;72 U8 Intens;
;;;73 Intens = 5 * i;
000036 bf00 NOP
|L1.56|
000038 eb040084 ADD r0,r4,r4,LSL #2
00003c b2c2 UXTB r2,r0
;;;74 aColor[i] = LCD_AA_MixColors(Color, BkColor, Intens);
00003e 4651 MOV r1,r10
000040 4648 MOV r0,r9
000042 f7fffffe BL LCD_AA_MixColors
000046 f8460024 STR r0,[r6,r4,LSL #2]
00004a 1c64 ADDS r4,r4,#1 ;71
00004c 2c03 CMP r4,#3 ;71
00004e dbf3 BLT |L1.56|
;;;75 }
;;;76 aColor[3] = Color;
;;;77 LCD_GetpPalConvTableUncached(&Palette);
000050 480d LDR r0,|L1.136|
000052 f8c6900c STR r9,[r6,#0xc] ; aColor
000056 1d00 ADDS r0,r0,#4
000058 f7fffffe BL LCD_GetpPalConvTableUncached
;;;78 OldColorIndex = ColorIndex;
00005c f8a58000 STRH r8,[r5,#0]
;;;79 OldBkColorIndex = BkColorIndex;
000060 806f STRH r7,[r5,#2]
|L1.98|
;;;80 }
;;;81 Bitmap.XSize = XSize;
000062 4809 LDR r0,|L1.136|
000064 3010 ADDS r0,r0,#0x10
000066 f8a0b000 STRH r11,[r0,#0]
;;;82 Bitmap.YSize = YSize;
00006a 9903 LDR r1,[sp,#0xc]
00006c 8041 STRH r1,[r0,#2]
;;;83 Bitmap.BytesPerLine = BytesPerLine;
00006e 990e LDR r1,[sp,#0x38]
000070 8081 STRH r1,[r0,#4]
;;;84 Bitmap.pData = pData;
000072 990f LDR r1,[sp,#0x3c]
;;;85 GL_DrawBitmap(&Bitmap, x0, y0);
000074 6081 STR r1,[r0,#8] ; Bitmap
000076 e9dd1200 LDRD r1,r2,[sp,#0]
00007a b004 ADD sp,sp,#0x10
00007c e8bd5ff0 POP {r4-r12,lr}
000080 f7ffbffe B.W GL_DrawBitmap
;;;86 }
;;;87
ENDP
|L1.132|
DCD GUI_Context
|L1.136|
DCD ||.data||
|L1.140|
DCD ||.bss||
AREA ||i.DrawTrans||, CODE, READONLY, ALIGN=2
DrawTrans PROC
;;;91 */
;;;92 static void DrawTrans(int x0, int y0, int XSize, int YSize, int BytesPerLine, const U8*pData) {
000000 e92d4fff PUSH {r0-r11,lr}
000004 b081 SUB sp,sp,#4
;;;93 int x, y;
;;;94 for (y = 0; y < YSize; y++) {
000006 2700 MOVS r7,#0
;;;95 const U8 *pData0 = pData;
;;;96 U8 Rem = XSize & 3;
;;;97 for (x = 0; x < XSize - 1; x += 4) {
;;;98 LCD_SetPixelAA(x + x0 , y0 + y, aConvTable[((*pData0 ) >> 6) ]);
000008 f8df80e0 LDR r8,|L2.236|
00000c f8ddb03c LDR r11,[sp,#0x3c] ;94
000010 e066 B |L2.224|
|L2.18|
000012 9803 LDR r0,[sp,#0xc] ;96
000014 2500 MOVS r5,#0 ;97
000016 f0000903 AND r9,r0,#3 ;96
00001a 1e40 SUBS r0,r0,#1 ;97
00001c 465c MOV r4,r11 ;95
00001e 9000 STR r0,[sp,#0] ;97
000020 e02e B |L2.128|
|L2.34|
000022 7820 LDRB r0,[r4,#0]
000024 0980 LSRS r0,r0,#6
000026 f8580020 LDR r0,[r8,r0,LSL #2]
00002a b2c2 UXTB r2,r0
00002c 9802 LDR r0,[sp,#8]
00002e eb000a07 ADD r10,r0,r7
000032 9801 LDR r0,[sp,#4]
000034 4651 MOV r1,r10
000036 182e ADDS r6,r5,r0
000038 4630 MOV r0,r6
00003a f7fffffe BL LCD_SetPixelAA
;;;99 LCD_SetPixelAA(x + x0 + 1, y0 + y, aConvTable[((*pData0 ) >> 4) & 0x03]);
00003e 7820 LDRB r0,[r4,#0]
000040 4651 MOV r1,r10
000042 f3c01001 UBFX r0,r0,#4,#2
000046 f8580020 LDR r0,[r8,r0,LSL #2]
00004a b2c2 UXTB r2,r0
00004c 1c70 ADDS r0,r6,#1
00004e f7fffffe BL LCD_SetPixelAA
;;;100 LCD_SetPixelAA(x + x0 + 2, y0 + y, aConvTable[((*pData0 ) >> 2) & 0x03]);
000052 7820 LDRB r0,[r4,#0]
000054 4651 MOV r1,r10
000056 f3c00081 UBFX r0,r0,#2,#2
00005a f8580020 LDR r0,[r8,r0,LSL #2]
00005e b2c2 UXTB r2,r0
000060 1cb0 ADDS r0,r6,#2
000062 f7fffffe BL LCD_SetPixelAA
;;;101 LCD_SetPixelAA(x + x0 + 3, y0 + y, aConvTable[((*pData0++) ) & 0x03]);
000066 f8140b01 LDRB r0,[r4],#1
00006a 4651 MOV r1,r10
00006c f0000003 AND r0,r0,#3
000070 f8580020 LDR r0,[r8,r0,LSL #2]
000074 b2c2 UXTB r2,r0
000076 1cf0 ADDS r0,r6,#3
000078 f7fffffe BL LCD_SetPixelAA
00007c 9800 LDR r0,[sp,#0] ;97
00007e 1d2d ADDS r5,r5,#4 ;97
|L2.128|
000080 4285 CMP r5,r0 ;97
000082 dbce BLT |L2.34|
;;;102 }
;;;103 if (Rem) {
000084 f1b90f00 CMP r9,#0
000088 d027 BEQ |L2.218|
;;;104 LCD_SetPixelAA(x + x0 , y0 + y, aConvTable[((*pData0 ) >> 6) ]);
00008a 7820 LDRB r0,[r4,#0]
00008c 4646 MOV r6,r8
00008e 0980 LSRS r0,r0,#6
000090 f8580020 LDR r0,[r8,r0,LSL #2]
000094 b2c2 UXTB r2,r0
000096 9802 LDR r0,[sp,#8]
000098 19c1 ADDS r1,r0,r7
00009a 9801 LDR r0,[sp,#4]
00009c 468a MOV r10,r1
00009e 4428 ADD r0,r0,r5
0000a0 4605 MOV r5,r0
0000a2 f7fffffe BL LCD_SetPixelAA
;;;105 if (Rem > 1) {
0000a6 f1b90f01 CMP r9,#1
0000aa d916 BLS |L2.218|
;;;106 LCD_SetPixelAA(x + x0 + 1, y0 + y, aConvTable[((*pData0 ) >> 4) & 0x03]);
0000ac 7820 LDRB r0,[r4,#0]
0000ae 4651 MOV r1,r10
0000b0 f3c01001 UBFX r0,r0,#4,#2
0000b4 f8560020 LDR r0,[r6,r0,LSL #2]
0000b8 b2c2 UXTB r2,r0
0000ba 1c68 ADDS r0,r5,#1
0000bc f7fffffe BL LCD_SetPixelAA
;;;107 if (Rem > 2) {
0000c0 f1b90f02 CMP r9,#2
0000c4 d909 BLS |L2.218|
;;;108 LCD_SetPixelAA(x + x0 + 2, y0 + y, aConvTable[((*pData0 ) >> 2) & 0x03]);
0000c6 7820 LDRB r0,[r4,#0]
0000c8 4651 MOV r1,r10
0000ca f3c00081 UBFX r0,r0,#2,#2
0000ce f8560020 LDR r0,[r6,r0,LSL #2]
0000d2 b2c2 UXTB r2,r0
0000d4 1ca8 ADDS r0,r5,#2
0000d6 f7fffffe BL LCD_SetPixelAA
|L2.218|
;;;109 }
;;;110 }
;;;111 }
;;;112 pData += BytesPerLine;
0000da 990e LDR r1,[sp,#0x38]
0000dc 1c7f ADDS r7,r7,#1 ;94
0000de 448b ADD r11,r11,r1
|L2.224|
0000e0 9804 LDR r0,[sp,#0x10] ;94
0000e2 4287 CMP r7,r0 ;94
0000e4 db95 BLT |L2.18|
;;;113 }
;;;114 }
0000e6 b005 ADD sp,sp,#0x14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -