📄 wm_userdata.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\wm_userdata.o --depend=.\Obj\wm_userdata.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\WM\WM_UserData.c]
THUMB
AREA ||i.WM_GetUserData||, CODE, READONLY, ALIGN=1
WM_GetUserData PROC
;;;63 */
;;;64 int WM_GetUserData(WM_HWIN hWin, void* pDest, int NumBytes) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
000004 460d MOV r5,r1
000006 4616 MOV r6,r2
;;;65 if (hWin) {
000008 d00d BEQ |L1.38|
;;;66 WM_Obj *pWin;
;;;67 NumBytes = _CalcNumBytes(hWin, NumBytes);
00000a 4631 MOV r1,r6
00000c 4620 MOV r0,r4
00000e f7fffffe BL _CalcNumBytes
000012 4606 MOV r6,r0
;;;68 WM_LOCK();
;;;69 pWin = WM_H2P(hWin);
000014 4620 MOV r0,r4
000016 f7fffffe BL GUI_ALLOC_h2p
;;;70 memcpy(pDest, pWin + 1, NumBytes);
00001a f1000120 ADD r1,r0,#0x20
00001e 4632 MOV r2,r6
000020 4628 MOV r0,r5
000022 f7fffffe BL __aeabi_memcpy
|L1.38|
;;;71 WM_UNLOCK();
;;;72 }
;;;73 return NumBytes;
000026 4630 MOV r0,r6
;;;74 }
000028 bd70 POP {r4-r6,pc}
;;;75
ENDP
AREA ||i.WM_SetUserData||, CODE, READONLY, ALIGN=1
WM_SetUserData PROC
;;;84 */
;;;85 int WM_SetUserData(WM_HWIN hWin, const void* pSrc, int NumBytes) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
000004 460d MOV r5,r1
000006 4616 MOV r6,r2
;;;86 if (hWin) {
000008 d00c BEQ |L2.36|
;;;87 WM_Obj *pWin;
;;;88 NumBytes = _CalcNumBytes(hWin, NumBytes);
00000a 4631 MOV r1,r6
00000c 4620 MOV r0,r4
00000e f7fffffe BL _CalcNumBytes
000012 4606 MOV r6,r0
;;;89 WM_LOCK();
;;;90 pWin = WM_H2P(hWin);
000014 4620 MOV r0,r4
000016 f7fffffe BL GUI_ALLOC_h2p
;;;91 memcpy(pWin + 1, pSrc, NumBytes);
00001a 4632 MOV r2,r6
00001c 4629 MOV r1,r5
00001e 3020 ADDS r0,r0,#0x20
000020 f7fffffe BL __aeabi_memcpy
|L2.36|
;;;92 WM_UNLOCK();
;;;93 }
;;;94 return NumBytes;
000024 4630 MOV r0,r6
;;;95 }
000026 bd70 POP {r4-r6,pc}
;;;96
ENDP
AREA ||i._CalcNumBytes||, CODE, READONLY, ALIGN=1
_CalcNumBytes PROC
;;;42 */
;;;43 static int _CalcNumBytes(WM_HWIN hWin, int NumBytes) {
000000 b510 PUSH {r4,lr}
000002 460c MOV r4,r1
;;;44 return Min(GUI_ALLOC_GetSize(hWin) - sizeof(WM_Obj), NumBytes);
000004 f7fffffe BL GUI_ALLOC_GetSize
000008 3820 SUBS r0,r0,#0x20
00000a 42a0 CMP r0,r4
00000c db00 BLT |L3.16|
00000e 4620 MOV r0,r4
|L3.16|
;;;45 }
000010 bd10 POP {r4,pc}
;;;46
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -