📄 gui_draw_bmp.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui_draw_bmp.o --depend=.\Obj\gui_draw_bmp.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\Widget\GUI_DRAW_BMP.c]
THUMB
AREA ||i.GUI_DRAW_BMP_Create||, CODE, READONLY, ALIGN=2
GUI_DRAW_BMP_Create PROC
;;;77 */
;;;78 WM_HMEM GUI_DRAW_BMP_Create(const void* pBMP, int x, int y) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 4605 MOV r5,r0
000006 460e MOV r6,r1
000008 4617 MOV r7,r2
;;;79 WM_HMEM hMem;
;;;80 hMem = GUI_ALLOC_AllocZero(sizeof(GUI_DRAW));
00000a 200c MOVS r0,#0xc
00000c f7fffffe BL GUI_ALLOC_AllocZero
000010 0004 MOVS r4,r0
;;;81 if (hMem) {
000012 d007 BEQ |L1.36|
;;;82 GUI_DRAW* pObj;
;;;83 WM_LOCK();
;;;84 pObj = (GUI_DRAW*)GUI_ALLOC_h2p(hMem);
000014 4620 MOV r0,r4
000016 f7fffffe BL GUI_ALLOC_h2p
;;;85 pObj->pConsts = &_ConstObjData;
00001a 4904 LDR r1,|L1.44|
;;;86 pObj->Data.pData = pBMP;
;;;87 pObj->xOff = x;
00001c e9c01500 STRD r1,r5,[r0,#0]
000020 8106 STRH r6,[r0,#8]
;;;88 pObj->yOff = y;
000022 8147 STRH r7,[r0,#0xa]
|L1.36|
;;;89 WM_UNLOCK();
;;;90 }
;;;91 return hMem;
000024 4620 MOV r0,r4
;;;92 }
000026 e8bd81f0 POP {r4-r8,pc}
;;;93
ENDP
00002a 0000 DCW 0x0000
|L1.44|
DCD ||.constdata||
AREA ||i._Draw||, CODE, READONLY, ALIGN=1
_Draw PROC
;;;35 */
;;;36 static void _Draw(const GUI_DRAW* pObj, int x, int y) {
000000 f9b0300a LDRSH r3,[r0,#0xa]
;;;37 GUI_BMP_Draw((const GUI_BITMAP *)pObj->Data.pData, x + pObj->xOff, y + pObj->yOff);
000004 441a ADD r2,r2,r3
000006 f9b03008 LDRSH r3,[r0,#8]
00000a 6840 LDR r0,[r0,#4]
00000c 4419 ADD r1,r1,r3
00000e f7ffbffe B.W GUI_BMP_Draw
;;;38 }
;;;39
ENDP
AREA ||i._GetXSize||, CODE, READONLY, ALIGN=1
_GetXSize PROC
;;;43 */
;;;44 static int _GetXSize(const GUI_DRAW* pObj) {
000000 6840 LDR r0,[r0,#4]
;;;45 return GUI_BMP_GetXSize(pObj->Data.pData);
000002 f7ffbffe B.W GUI_BMP_GetXSize
;;;46 }
;;;47
ENDP
AREA ||i._GetYSize||, CODE, READONLY, ALIGN=1
_GetYSize PROC
;;;51 */
;;;52 static int _GetYSize(const GUI_DRAW* pObj) {
000000 6840 LDR r0,[r0,#4]
;;;53 return GUI_BMP_GetXSize(pObj->Data.pData);
000002 f7ffbffe B.W GUI_BMP_GetXSize
;;;54 }
;;;55
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
_ConstObjData
DCD _Draw
DCD _GetXSize
DCD _GetYSize
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -