⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wm_userdata.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 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 + -