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

📄 listbox_getitemtext.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\listbox_getitemtext.o --depend=.\Obj\listbox_getitemtext.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\LISTBOX_GetItemText.c]
                          THUMB

                          AREA ||i.LISTBOX_GetItemText||, CODE, READONLY, ALIGN=1

                  LISTBOX_GetItemText PROC
;;;34     */
;;;35     void LISTBOX_GetItemText(LISTBOX_Handle hObj, unsigned Index, char * pBuffer, int MaxSize) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  460c              MOV      r4,r1
000006  4616              MOV      r6,r2
000008  461d              MOV      r5,r3
;;;36       if (hObj) {
00000a  2800              CMP      r0,#0
00000c  d019              BEQ      |L1.66|
;;;37         unsigned NumItems;
;;;38         LISTBOX_Obj* pObj;
;;;39         WM_LOCK();
;;;40         pObj = LISTBOX_H2P(hObj);
00000e  f7fffffe          BL       GUI_ALLOC_h2p
000012  4607              MOV      r7,r0
;;;41         NumItems = LISTBOX__GetNumItems(pObj);
000014  f7fffffe          BL       LISTBOX__GetNumItems
;;;42         if (Index < NumItems) {
000018  4284              CMP      r4,r0
00001a  d212              BCS      |L1.66|
;;;43           const char * pString;
;;;44           int CopyLen;
;;;45           pString = LISTBOX__GetpString(pObj, Index);
00001c  4621              MOV      r1,r4
00001e  4638              MOV      r0,r7
000020  f7fffffe          BL       LISTBOX__GetpString
000024  4607              MOV      r7,r0
;;;46           CopyLen = strlen(pString);
000026  f7fffffe          BL       strlen
;;;47           if (CopyLen > (MaxSize - 1)) {
00002a  1e69              SUBS     r1,r5,#1
00002c  4604              MOV      r4,r0                 ;46
00002e  4288              CMP      r0,r1
000030  dd00              BLE      |L1.52|
;;;48             CopyLen = MaxSize - 1;
000032  1e6c              SUBS     r4,r5,#1
                  |L1.52|
;;;49           }
;;;50           memcpy(pBuffer, pString, CopyLen);
000034  4622              MOV      r2,r4
000036  4639              MOV      r1,r7
000038  4630              MOV      r0,r6
00003a  f7fffffe          BL       __aeabi_memcpy
;;;51           pBuffer[CopyLen] = 0;
00003e  2000              MOVS     r0,#0
000040  5530              STRB     r0,[r6,r4]
                  |L1.66|
;;;52         }
;;;53         WM_UNLOCK();
;;;54       }
;;;55     }
000042  e8bd81f0          POP      {r4-r8,pc}
;;;56     
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -